SpringMVCInterceptor

1、拦截器

SpringMVC提供了拦截器功能(HandlerInterceptor);允许运行目标方法之前进行一些拦截工作,或者运行之后的一些操作。

和Filter一样的功能,区别,Filter是JavaWeb定制的,HandlerInterceptor是SpringMVC定制的

三个方法:

1、preHandle:目标方法运行之前调用;返回值是Boolean类型。

                true:相当于调用了chain.doFilter()放行。

                false:不放行。

2、postHandle:目标方法运行之后,来到页面显示之前调用;目标方法调用之后。

3、aferCompletion:在请求整个完成之后,来到目标页面之后;资源响应之后。

2、使用流程

1、拦截器是一个接口

2、实现HandlerInterceptor接口

3、在SpringMVC配置文件中配置拦截器

4、测试使用

3、其他流程

1、只要preHandle不放行就不会有其他流程;

2、只要放行了,afterCompletion都会执行;

4、多个拦截器

1、运行后正常如下:先进后出顺序

MyFirstInterceptor..preHandle...
MySecondInterceptor..preHandle...
handle01处理方法...
MySecondInterceptor..postHandle...
MyFirstInterceptor..postHandle...
jsp页面.......
MySecondInterceptor..afterCompletion...
MyFirstInterceptor..afterCompletion...

2、不放行

无论哪个preHandle不放行都不会继续执行,注意:如果MyFirstInterceptor放行,MySecondInterceptor不放行,还是会执行MyFirstInterceptor的afterCompletion方法。所以,不放行的拦截器之前已经放行的拦截器都会执行afterCompletion方法。

3、执行顺序

preHandle:顺序执行;

postHandle:逆序执行;

afterCompletion:逆序执行;

5、拦截器工作顺序

单个拦截器顺序

多个拦截器顺序

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值