您的位置:首页 > 其它

拦截器的方法介绍(三)

2016-01-19 16:51 274 查看
1.preHandle 方法,在请求被处理之前进行调用。

2.postHandle 方法,在请求被处理之后进行调用。

3.affterCompletion 方法,在请求结束之后才进行调用。

<span style="font-size:18px;">package com.lee.springmvc.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

/***
* 设置拦截器(在 applicationContext-config.xml 中配置 注册到配置文件中)
* @author liyintao
*
*/
public class Test1Interceptor implements HandlerInterceptor {

@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
System.out.println("执行到了afterCompletion方法!");
}

@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
System.out.println("执行到了postHandle方法!");
//可以通过ModelAndView参数来改变现实的视图,或修改发放视图的方法。
arg3.addObject("errorMsg", "通过拦截器修改消息!");
}

//返回值:表示我们是否需要将房钱的请求拦截下来
//如果返回false,请求将被终止!不会到达controller中,也不会调用另外两个方法
//如果返回true,请求会被继续运行
//Object arg2 表示的是被拦截的请求的目标对象--(UsersController.java中的userList方法)
@Override
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2) throws Exception {
System.out.println("执行到了preHandle方法!");
return true;//暂时先改为true
}

}
</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: