自定义拦截器

自定义拦截器

1.什么是拦截器

  • 说明

    1. 使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定 的功能.

    2. 自定义的拦截器必须实现 HandlerInterceptor 接口

      /**
       * @author
       * @version 1.0
       * MyInterceptor: 自定义的拦截器需要实现HandlerInterceptor
       */
      @Component
      public class MyInterceptor implements HandlerInterceptor {
       
      }
      
    3. 注册自定义拦截器

      @Configuration
      @EnableWebMvc
      public class WebConfig implements WebMvcConfigurer {
         @Resource
         private MyInterceptor myInterceptor;
         //注册自定义拦截器,这样就可以生效
         @Override
         public void addInterceptors(InterceptorRegistry registry) {
             registry.addInterceptor(myInterceptor);
         }
      }
      
      
      

2.拦截器的三个方法

  1. preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。
  2. postHandle():这个方法在目标方法处理完请求后执行
  3. afterCompletion():这个方法在完全处理完请求后被调用,可以在该方法中进行一些资源 清理的操作。
    拦截器的执行流程图

3.针对三个方法的说明

  1. 如果 preHandle 方法 返回 false, 则不再执行目标方法, 可以在此指定返回页面
  2. postHandle 在目标方法被执行后执行. 可以在方法中访问到目标方法返回的 ModelAndView 对象
  3. preHandle 返回 true, 则 afterCompletion 方法 在渲染视图之后被执行
  4. preHandle 返回 false, 则 afterCompletion 方法不会被调用
  5. 在配置拦截器时,可以指定该拦截器对哪些请求生效,哪些请求不生效

---------------------------------- 天才往往比普通人更加努力,只不过他们的努力效益更高,所以看起来更加明显,当然更困难的是普通人看不到成绩还要拼命努力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值