有两种方法配置spring的拦截器

1. 实现接口: HandleInterceptor

public class MyInterceptor1 implements HandlerInterceptor {

	@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception e) throws Exception {
System.out.println("最后运行。!!一般用于释放资源。。");
} @Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView model) throws Exception {
System.out.println("Action运行之后,生成视图之前运行!!");
} @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
System.out.println("action之前运行! ! !");
return true; // 继续运行action
} }

a)  preHandle

该方法在action运行前运行。能够实现对数据的预处理。比方:编码、安全控制等。

假设方法返回true,则继续运行action。

b)  postHandle

该方法在action运行后,生成视图前运行。在这里。我们有机会改动视图层数据。

c)  afterCompletion

最后运行。通经常使用于释放资源,处理异常。

我们能够依据ex是否为空,来进行相关的异常处理。

由于我们在平时处理异常时,都是从底层向上抛出异常。最后到了spring框架从而到了这种方法中。

2. 继承适配器: HandleInterceptorAdapter

public class MyInterceptor2 extends HandlerInterceptorAdapter {

	@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("MyInterceptor2.preHandle()");
return true; // 继续运行action
} }

3. 配置user-servlet.xml

方案1:

<!-- 配置自己定义拦截器 -->
<mvc:interceptors>
<bean class="com.zdp.interceptor.MyInterceptor1"></bean> <!-- 拦截全部的url! -->
</mvc:interceptors>

方案2:

<!-- 配置自己定义拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/user/add" /> <!-- 仅仅拦截加入用户 -->
<bean class="com.zdp.interceptor.MyInterceptor2"></bean>
</mvc:interceptor>
</mvc:interceptors>

最新文章

  1. C /C++ 语言练习册
  2. 基于 jQuery 实现的精致作品集图片导航效果
  3. 学习Django
  4. codeforces 580C Kefa and Park(DFS)
  5. codeforces 682C Alyona and the Tree DFS
  6. 11个显著提升 ASP.NET 应用程序性能的技巧——第1部分
  7. xcode 6.4模拟器出现多个相同版本:OSX Yosemite 上安装xcode7 beta和xcode6.4
  8. Golang下通过syscall调用win32的dll(calling Windows DLLs from Go )
  9. mybaitis配置信息
  10. 让js调试更简单—console
  11. [UOJ] #217. 【UNR #1】奇怪的线段树
  12. 两个fragment之间简单的跳转
  13. Selenium 3----控制浏览器操作
  14. 【随笔】借鉴 &amp; KPI式设计
  15. Cassandra的数据模型的理解
  16. java Web的MVC最基础暂定分层包
  17. java接口对接——调用别人接口推送数据
  18. Limu:JavaScript的那些书
  19. bzoj2453/2120 数颜色
  20. JMeter ——Test fragment

热门文章

  1. LaTeX 插图片
  2. python多线程编程代码
  3. POJ 1715
  4. 【转载】tslib移植_freescale imx6
  5. POI 导入excel数据自己主动封装成model对象--代码分析
  6. hdoj-1312-Red and Black
  7. JDBC连接mysql增删改查整体代码
  8. cocos2d-x 移植到android中编译的一些问题:fatal error: Box2D/Box2D.h: No such file or directory&amp;quot;
  9. Sambaserver搭建
  10. Spannable对textview首行缩进的设置