(1)先声明一个拦截器放在com....interceptor. MyInterceptor下面:
public class MyInterceptor implements HandlerInterceptor { @Override//请求到达资源之前 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { System.out.println("拦截器进行拦截"); return true;//放行,flase不放行 } @Override//请求到达处理器,但是在视图返回之前 public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) { } @Override//视图返回之后执行 public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { } }
(2)springboot不建议写配置文件,如何注册拦截器:自己写一个配置类com...config.MyWebMvcConfiguration
@Configuration//声明这是一个配置类 public class MyWebMvcConfiguration implements WebMvcConfigurer { @Override//添加拦截器的方法 public void addInterceptors(InterceptorRegistry registry) { //向注册中心注册自定义拦截器 参数是自己创建的拦截器+拦截路径 registry.addInterceptor(new MyInterceptor()).addPathPatterns("/user/**"); } }