SpringMVC 自定义拦截器
2016-02-15 10:04
323 查看
SpringMVC 自定义拦截器
自定义拦截器
Spring MVC 可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现
该接口有以下 3 个方法:
(1)preHandle():
这个方法在业务处理器处理请求之前被调用,在该
方法中对用户请求
请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去
进行处理,则返回
去处理请求,则返回
即:继续走下去,返回 true。如果我们要程序被拦截(例如没有登录访问某个页面),要返回 false。
(2)postHandle():
这个方法在业务处理器处理完请求后,但是
即返回视图之前被调用。
(3)afterCompletion():
这个方法在
求后被调用,可以在该方法中进行一些资源清理的操作。
配置自定义拦截器
我们可以排除一些 url 不被拦截:
注意观察下图中拦截器被执行的顺序:
自定义拦截器
Spring MVC 可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现
HandlerInterceptor接口。
该接口有以下 3 个方法:
(1)preHandle():
这个方法在业务处理器处理请求之前被调用,在该
方法中对用户请求
request进行处理。如果程序员决定该拦截器对
请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去
进行处理,则返回
true;如果程序员决定不需要再调用其他的组件
去处理请求,则返回
false。
即:继续走下去,返回 true。如果我们要程序被拦截(例如没有登录访问某个页面),要返回 false。
(2)postHandle():
这个方法在业务处理器处理完请求后,但是
DispatcherServlet向客户端返回响应前被调用,在该方法中对用户请求
request进行处理。
即返回视图之前被调用。
(3)afterCompletion():
这个方法在
DispatcherServlet完全处理完请
求后被调用,可以在该方法中进行一些资源清理的操作。
配置自定义拦截器
我们可以排除一些 url 不被拦截:
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:exclude-mapping path="/users/login"/> <bean class="com.english17.interceptor.LoginInterceptor"/> </mvc:interceptor> </mvc:interceptors>
注意观察下图中拦截器被执行的顺序:
相关文章推荐
- Spring MVC--拦截器实现和用户登陆例子
- Java简单实现SpringMVC+MyBatis分页插件
- SpringMVC文件上传 多文件上传实例
- SpringMVC restful 注解之@RequestBody进行json与object转换
- spring mvc4的日期/数字格式化、枚举转换示例
- 解决springmvc+mybatis+mysql中文乱码问题
- SpringMVC上传图片与访问
- SpringMVC入门小程序 -- Myeclipse 9.1下
- SpringMVC+Spring3+Hibernate4
- SpringMVC+MyBatis项目总结(一)
- SpringMVC+MyBatis项目总结(三)
- SpringMVC+MyBatis项目总结(四)
- springMVC+spring+Mybatis
- SpringMVC+mybatis+Spring框架整合+简单实现的demo
- Springmvc与jasperreport结合生成报表的一种方法 4000
- 搭建分布式架构2--CentOs下安装Tomcat7(环境准备)
- 蓝缘系统第三版本即将开源;基于springMVC+Apache shiro 1.2.3+Mybai
- SpringMVC 集成 JFinal Dao
- MVC三层架构在各框架中的特征
- springMVC注解之入门