众所周知,springboot中是自带springmvc的,那么如何在springboot项目中使用springmvc的拦截器呢?
下面给出一段代码供参考:
拦截器类如下:
@Component public class UserInterceptor implements HandlerInterceptor { public UserInterceptor(){} //方法执行前执行。返回true会继续执行下去,返回false取消请求 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("我是一个拦截器!!"); return true; } //方法执行后执行 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } //控制器执行完成后执行 @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }
注册拦截器的类:
@Configuration//或者@SpringBootConfiguration public class UserInterceptorConfig extends WebMvcConfigurerAdapter {//或者implements WebMvcConfigurer @Autowired private UserInterceptor userInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { //注册自定义拦截器,添加拦截路径和排除拦截路径 registry.addInterceptor(userInterceptor).addPathPatterns("/**"); } }
这样就可以使拦截器生效了。