拦截器

1. 编写拦截器实现类

实现接口 HandlerInterceptor,重写方法,实现业务逻辑代码(就是拦截器拦截时做什么处理)

a. public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)

在请求处理之前进行调用(Controller方法调用之前)

b. public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)

请求处理之后进行调用,但是在视图被渲染之前(Controller方法调用之后)

c. public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)

在整个请求结束之后被调用,也就是在DispatcherServlet 渲染了对应的视图之后执行(主要是用于进行资源清理工作)

 

2. 配置拦截器

继承 WebMvcConfigurer类,并重写其中的方法 addInterceptors并且在主类上加上注解 @Configuration

@Override
public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(new HeaderInterceptor())
        // 拦截路径
        .addPathPatterns("/**")
        // 排除路径
        .excludePathPatterns("*.js,*.gif,*.jpg,*.png,*.css"); 
}

 

上一篇:后台获取 HttpServletResponse 中的值


下一篇:HttpServletResponse写入的中文在浏览器乱码