美文网首页Spring-webmvc
配置拦截器(HandlerInterceptor)

配置拦截器(HandlerInterceptor)

作者: xzz4632 | 来源:发表于2019-07-08 10:22 被阅读0次

1. HandlerInterceptor

定义拦截器必须实现HandlerInterceptor接口. 这对所有的HandlerMapping都有效. 它定义了三个方法:

  • boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler):
    在实际处理程序执行之前执行. 返回true, 请求继续往下执行, 如果返回false, DispatcherServlet会假定请求已被拦截器处理完成了(不再继续执行其他逻辑).
  • void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView):
    在处理程序执行之后执行.
  • void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,Exception ex):
    请求完成之后执行.
    注意: postHandler方法在@ResponseBody和ResponseEntity方法中是无效的, 因为这些方法在它之前就提交了响应. 对于这种情况, 可以实现ResponseBodyAdvice接口,然后将其声明为一个Controller Advice bean, 或直接在RequestMappingHandlerAdapter中配置它.

2. 配置拦截器

  • java配置:
    实现WebMvcConfigurer接口, 并在registry.addInterceptor方法中注册自定义的拦截器, 并通过addPathPatterns()方法添加拦截的url.
@Configuration
@EnableWebMvc
public class MyWebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");
    }
    
}
  • xml配置:
<mvc:interceptors>
    <mvc:interceptor>
        <!--拦截路径-->
        <mvc:mapping path="/**"/>
        <!--拦截器类-->
        <bean class="com.xzz.config.MyHandlerInterceptor"/>
    </mvc:interceptor>
</mvc:interceptors>

相关文章

  • 拦截器

    一 拦截器 定义拦截器,实现HandlerInterceptor接口 二 springMVC 拦截器配置 1 针对...

  • Spring15-拦截器

    定义拦截器 定义拦截器需要实现HandlerInterceptor 配置拦截器 注意:spring mvc的拦截器...

  • springboot 配置过滤器和拦截器

    1.配置拦截器 创建拦截器类 实现HandlerInterceptor接口 创建springmvc配置类 实现We...

  • springmvc 14 拦截器

    自定义拦截器 1. 自定义的拦截器实现HandlerInterceptor接口 2. 在springmvc中配置拦...

  • 拦截器

    一、拦截定义 定义拦截器,实现HandlerInterceptor接口。接口中提供三个方法。 二、拦截器配置 sp...

  • Java-springMVC拦截器

    1.定义 定义拦截器,实现HandlerInterceptor接口,接口中实现三个方法. 2.拦截器配置 针对Ha...

  • 配置拦截器(HandlerInterceptor)

    1. HandlerInterceptor 定义拦截器必须实现HandlerInterceptor接口. 这对所有...

  • SpringMVC--07拦截器

    一、通过实现HandlerInterceptor接口来定义拦截器 1、通过实现HandlerInterceptor...

  • springmvc之拦截器

    对于springmvc,有两种方式配置拦截器。 一是实现HandlerInterceptor接口 二是extend...

  • Spring-boot 使用HandlerInterceptor

    一个最简单HandlerInterceptor实现如下 编写一个拦截器实现HandlerInterceptor接口...

网友评论

    本文标题:配置拦截器(HandlerInterceptor)

    本文链接:https://www.haomeiwen.com/subject/segphctx.html