live的gravatar头像
live 2016-09-26 18:28:33

SSH学习之路-Spring MVC中的拦截器:HandlerInterceptorAdapter

继承HandlerInterceptor ,实现拦截器
 * 作用:    任何你想做的事情都可以在preHandle postHandle afterCompletion完成;

如 在controller开始执行之前构建数据;并在controller执行完毕后释放数据.

 

关键点:拦截器类可以有两种方式

1.i mplements HandlerInterceptor

2. implements WebRequestInterceptor

Q:    可以同时声明多个拦截器吗?
A:    可以,并且可以指定特殊拦截器.如:
    <mvc:interceptors>
        <!--拦截全部请求: 使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求,这个拦截器用来获取资源,释放资源等 -->  
        <bean id="every" class="core.base.HelperInterceptor"/>  
        <!--拦截全部请求: 使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求,这里用来设定basepath -->
        <bean id="every2" class="core.base.BaseUrlInterceptor"/>
        
         <!--可以拦截特定请求 : 定义在mvc:interceptor下面的表示是对特定的请求才进行拦截的 -->  
        <mvc:interceptor>
            <mvc:mapping path="/testHacker.do"/>  
            <bean id="special3" class="core.base.SpecialInterceptor"/>  
        </mvc:interceptor>
        
    </mvc:interceptors>
    <mvc:annotation-driven/>
    
Q:    如果存在多个拦截器,执行顺序是怎样的?

preHandle 按照xml配置中声明的顺序正序执行,即先声明的先执行
postHandle  按照xml配置中声明的顺序 倒序执行,即先声明的后执行
afterCompletion 同postHandle

Q:    如果preHandle返回为false,会怎样?
A:    其他拦截器,以及本拦截器的postHandle 和  afterCompletion均不执行!

运行截图:

SSH学习之路-Spring MVC中的拦截器:HandlerInterceptorAdapter

项目结构截图:

SSH学习之路-Spring MVC中的拦截器:HandlerInterceptorAdapter


打赏

文件名:Demo-Live-Spring-MVC3_HandlerInterceptor.zip,文件大小:3668.875K 下载
最代码最近下载分享源代码列表最近下载
安排一下  LV2 2021年1月14日
onlyxiaoda  LV9 2019年6月14日
22726596  LV8 2018年5月8日
xiaoxintian30  LV3 2018年3月27日
chinafjfzlj  LV31 2017年9月11日
rastaclat  LV9 2017年8月25日
清风随逝  LV12 2017年8月21日
278757143  LV1 2017年3月24日
怪先生  LV1 2017年3月2日
南宫燚璘  LV10 2017年2月28日
最代码最近浏览分享源代码列表最近浏览
chrysanna  LV1 2022年12月23日
cmbzyjw  LV3 2022年8月17日
977865199  LV12 2021年12月21日
安排一下  LV2 2021年1月14日
a992013093  LV15 2020年12月22日
yangxuping 2020年6月19日
暂无贡献等级
huasir2018  LV14 2020年6月19日
jimmyke  LV2 2020年6月16日
Misshuang  LV13 2020年6月3日
zrq1025  LV11 2020年5月23日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友