SpringBoot与拦截器整合

(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/**");
    }

}
发布了17 篇原创文章 · 获赞 32 · 访问量 2511

猜你喜欢

转载自blog.csdn.net/qq_39182939/article/details/104574378