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

来源:互联网 发布:linux难吗 编辑:程序博客网 时间:2024/06/05 01:03

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 stubSystem.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 stubSystem.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 stubSystem.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>

多个拦截器的执行顺序



1 0
原创粉丝点击