自定义拦截器

大家好,这里是教授.F

前菜:

拦截器是由springmvc来接管的,过滤器使用服务器来接管的。

● 自定义拦截器的三个方法[自定义的拦截器必须实现 HandlerInterceptor 接口]

        1. preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求request 进行处理。

         2. postHandle():这个方法在目标方法处理完请求后执行

        3. afterCompletion():这个方法在完全处理完请求后被调用,可以在该方法中进行一些资源清理的操作。

        执行流程:

1. 如果 preHandle 方法 返回 false, 则不再执行目标方法, 可以在此指定返回页面

2. postHandle 在目标方法被执行后执行. 可以在方法中访问到目标方法返回的ModelAndView 对象

3. 若 preHandle 返回 true, 则 afterCompletion 方法 在渲染视图之后被执行.

4. 若 preHandle 返回 false, 则 afterCompletion 方法不会被调用

5. 在配置拦截器时,可以指定该拦截器对哪些请求生效,哪些请求不生效

注意事项和细节:

1、默认配置是都所有的目标方法都进行拦截, 也可以指定拦截目标方法, 比如只是拦截hi

2、mvc:mapping 支持通配符, 同时指定不对哪些目标方法进行拦截

3、拦截器需要配置才生效,不配置是不生效的.

4、如果 preHandler() 方法返回了 false, 就不会执行目标方法(前提是你的目标方法被拦截了), 程序员可以在这里根据业务需要指定跳转页面.

以上是单个拦截器的执行流程,如果是多个拦截器,那执行流程又是怎么样呢???

        如果在A拦截器返回false,那直接跳回B。如果是B拦截器返回false,那知识跳回A的after。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值