你的位置:首页 > Java教程

[Java教程]springmvc 拦截器的使用小结


/**
*
*
*
* 拦截器的作用:
* 每个请求到达Controller之前,或者每个响应到达view之前,都可以进行拦截。
* 1.全局日志(谁提交了请求,要做什么事)
* 2.权限管理(每个请求都能判断权限)
* 代码:
* 写一个类,实现springframework.web.servlet.HandlerInterceptor接口
* preHandle请求前拦截(尚未执行Controller)
* postHandle控制器执行完,生成视图之前可以加入的动作(加入模型中的公共部分,如版权信息)
* afterCompletion 释放资源,比如在pre中打开了数据库链接,在这里可以进行关闭
*
* 这三个方法根据业务选,不实不编写代码就可以了。
*
*
* 设置拦截器链
* <mvc:interceptors>
*     <mvc:interceptor>
*         <mvc:mapping path=""/>  可选项。若不指定,则默认拦截所有请求; 若指定了,则只拦截符合一定模式的请求。
*                                 例子:<mvc:mapping path="/user/*"/>  eg:拦截user/下的所有请求
*         <bean class="com.my.common.MyInterceptor"></bean>
*     </mvc:interceptor>
*
*     <mvc:interceptor>  拦截器链中的第二个
*  </mvc:interceptor>

* </mvc:interceptors>
*

处理流程

1请求沿着拦截器①--拦截器②…拦截器N的preHandle方法执行,最终到达控制器

2在控制器执行完毕,将要生成视图之前依次执行拦截器N--拦截器N-1….拦截器②---拦截器①中的postHandle方法。
*
*/