springMVC--拦截器
2017-02-13 10:08
232 查看
拦截器
定义
l Spring Web MVC 的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理局部拦截器
l 针对某个HandlerMapping进行配置。只对当前HandlerMapping有效。
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> <property name="interceptors"> <list> <ref bean="handlerInterceptor1"/> <ref bean="handlerInterceptor2"/> </list> </property> </bean> <bean id="handlerInterceptor1" class="springmvc.intercapter.HandlerInterceptor1"/> <bean id="handlerInterceptor2" class="springmvc.intercapter.HandlerInterceptor2"/>
拦截器代码编写:实现HandlerInterceptor接口:
Public class HandlerInterceptor1 implements HandlerInterceptor{ /** * controller执行前调用此方法 * 返回true表示继续执行,返回false中止执行 * 这里可以加入登录校验、权限拦截等 */ @Override Public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // TODO Auto-generated method stub Return false; } /** * controller执行后但未返回视图前调用此方法 * 这里可在返回用户前对模型数据进行加工处理,比如这里加入公用信息以便页面显示 */ @Override Public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { // TODO Auto-generated method stub} /** * controller执行后且视图返回后调用此方法 * 这里可得到执行controller时的异常信息 * 这里可记录操作日志,资源清理等 */ @Override Public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { // TODO Auto-generated method stub } }
全局拦截器
l 拦截所有请求。<!--拦截器 -->
<mvc:interceptors>
<!--多个拦截器,顺序执行 -->
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="cn.itcast.springmvc.filter.HandlerInterceptor1"></bean>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="cn.itcast.springmvc.filter.HandlerInterceptor2"></bean>
</mvc:interceptor>
</mvc:interceptors>
测试1
拦截器1放行,拦截器2放行:HandlerInterceptor1.........preHandle
HandlerInterceptor2.........preHandle
HandlerInterceptor2.........postHandle
HandlerInterceptor1.........postHandle
HandlerInterceptor2.........afterCompletion
HandlerInterceptor1.........afterCompletion
测试2
拦截器1放行,拦截器2阻止:HandlerInterceptor1.........preHandle
HandlerInterceptor2.........preHandle
HandlerInterceptor1.........afterCompletion
测试3:
拦截器1阻止,拦截器2阻止:HandlerInterceptor1.........preHandle
相关文章推荐
- SpringMVC 拦截器(interceptors)对样式(css),JavaScript(js),图片(images)链接的拦截
- Springmvc拦截器实现网站非登录不能访问。
- springmvc拦截器
- SpringMVC 拦截器使用
- SpringMVC中使用注解清除拦截器
- springMVC 拦截器
- springmvc限流拦截器的示例代码
- 基于SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
- SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
- 第五章 处理器拦截器详解——跟着开涛学SpringMVC
- SpringMVC的拦截器Interceptor
- SpringMVC学习--拦截器
- SpringMVC拦截器简单使用
- SpringMVC拦截器简单使用
- SpringMVC拦截器详解[附带源码分析]
- Java过滤器与SpringMVC拦截器之间的关系与区别
- Java过滤器与SpringMVC拦截器之间的关系与区别
- springmvc拦截器面对ajax时的处理
- Java过滤器与SpringMVC拦截器之间的关系与区别
- 和大彪一起来学习-SpringMvc之第四回(拦截器使用) 分类: SpringMvc 2015-02-04 20:09 571人阅读 评论(0) 收藏