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整合Hibernate(两种配置其中一种完全抛弃Hibernate的核心配置文件直接定义在Spring核心配置文件中)
- SSH学习demo,航班查询系统的增删查改,连表查询
- SSH实现增删改查功能,分页查询和简单的Ajax请求MySql数据库,适合新手学习
- 学习SSH时的练习demo,实现分页和登录等简单功能
- ssh框架开发整合实现用户简单登陆demo,适合ssh初学者学习
- Easyui SSH MySQL后台权限管理系统,很适合新生学习
- SSH开发超市后台管理系统源代码下载,适合入门学习
- SSH框架开发购物车
- SSH网站实例
- ssh简单的整合实例
- SSH学生宿舍管理系统
- SSH消息管理系统
- /
- /Demo-Live-Spring-MVC3_HandlerInterceptor
- /Demo-Live-Spring-MVC3_HandlerInterceptor/.classpath
- /Demo-Live-Spring-MVC3_HandlerInterceptor/.myeclipse
- /Demo-Live-Spring-MVC3_HandlerInterceptor/.mymetadata
- /Demo-Live-Spring-MVC3_HandlerInterceptor/.project
- /Demo-Live-Spring-MVC3_HandlerInterceptor/.settings
- /Demo-Live-Spring-MVC3_HandlerInterceptor/.settings/.jsdtscope
- /Demo-Live-Spring-MVC3_HandlerInterceptor/.settings/com.genuitec.eclipse.j2eedt.core.prefs
- /Demo-Live-Spring-MVC3_HandlerInterceptor/.settings/org.eclipse.core.resources.prefs
- /Demo-Live-Spring-MVC3_HandlerInterceptor/.settings/org.eclipse.jdt.core.prefs
- /Demo-Live-Spring-MVC3_HandlerInterceptor/src
- /Demo-Live-Spring-MVC3_HandlerInterceptor/src/core
- /Demo-Live-Spring-MVC3_HandlerInterceptor/src/core/interceptor
- /Demo-Live-Spring-MVC3_HandlerInterceptor/src/core/interceptor/type1
- /Demo-Live-Spring-MVC3_HandlerInterceptor/src/core/interceptor/type2
- /Demo-Live-Spring-MVC3_HandlerInterceptor/src/core/util
- /Demo-Live-Spring-MVC3_HandlerInterceptor/src/core/interceptor
- /Demo-Live-Spring-MVC3_HandlerInterceptor/src/core
- /Demo-Live-Spring-MVC3_HandlerInterceptor