您的位置:首页 > 编程语言 > Java开发

学习SpringMVC(二十三)之拦截器相关

2016-05-26 22:34 411 查看
1.自定义一个拦截器的步骤:

第一步,创建一个类实现HandlerInterceptor接口

<span style="font-size:24px;">package com.cgf.springmvc.interceptors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class MySecondInterceptors implements HandlerInterceptor{
<span style="color:#ff0000;">/**
* 在渲染视图之后被调用;
* 可以用来释放资源
*/</span>
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO Auto-generated method stub
System.out.println("MySecondInterceptors afterCompletion");
}
<span style="color:#ff0000;">/**
* 该方法在目标方法调用之后,渲染视图之前被调用;
* 可以对请求域中的属性或视图做出修改
*
*/</span>
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
// TODO Auto-generated method stub
System.out.println("MySecondInterceptors postHandle");
}
<span style="color:#ff0000;">/**
* 可以考虑作权限,日志,事务等等
* 该方法在目标方法调用之前被调用;
* 若返回TURE,则继续调用后续的拦截器和目标方法
* 若返回FALSE,则不会调用后续的拦截器和目标方法
*
*/</span>
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2) throws Exception {
// TODO Auto-generated method stub
System.out.println("MySecondInterceptors preHandle");
return true;
}

}
</span>
第二步,在springmvc.xml中配置:

<mvc:interceptors>,如果在其中配置了<mvc:interceptor>,则可以指定拦截器的路径

<span style="font-size:24px;"><!-- 装配拦截器 -->
<mvc:interceptors>
<bean class="com.cgf.springmvc.interceptors.MyInterceptors"></bean>
<mvc:interceptor>
<mvc:mapping path="/springmvc/testFileUpload"/>
<bean class="com.cgf.springmvc.interceptors.MySecondInterceptors"></bean>
</mvc:interceptor>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean>
</mvc:interceptors></span>



多个拦截器的执行顺序



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