SSM拦截器
ssm框架中的拦截器

请求拦截顺序:
- 
Filter过滤器 
- 
HandlerInterceptor拦截器 (拦截Controller之前) 
- 
MethodInterceptor拦截器 (拦截在Service之前, AOP属于方法拦截器) 
- 
Interceptor (mybatis) 属于持久层的拦截器, 例如 pageHelper分页插件
HandlerInterceptor拦截器的作用一般用来拦截非法请求, 例如防止未登录的状态下操作页面等
这里主要说明HandlerInterceptor拦截器的使用
1.HandlerInterceptor接口
新建一个拦截器的类, 实现HandlerInterceptor接口
实现接口后需要重写三个方法, 方法的参数为了方便查看, 笔记中默认省略了
- public void afterCompletion()//执行完毕,返回前拦截
- public void postHandle()//处理过程中执行拦截
- public boolean preHandle()//(主要拦截的方法)在拦截点执行前拦截,如果返回true则不执行拦截点后的操作(拦截成功)返回false则不执行拦截
2. 在spring配置文件中进行配置
<!-- 配置拦截器 -->
<mvc:interceptors>
    <mvc:interceptor>
        <!-- 拦截所有user目录下面的页面 -->
        <mvc:mapping path="/user/**"/>
        <!-- mvc:exclude-mapping是另外一种拦截,它可以在你后来的测试中对某个页面进行不拦截,这样就不用在
    LoginInterceptor的preHandler方法里面获取不拦截的请求uri地址了(优选) -->
        <mvc:exclude-mapping path="/" /> <!-- 可以配置多个 -->
        <bean class="com.qust.shbz.interceptor.LoginInterceptor"></bean>			
    </mvc:interceptor>
    
    <!-- 当然也可以配置多个mvc:interceptor标签配置多个拦截器 -->
</mvc:interceptors>
拦截器执行顺序图解

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号