首先需要写一个类:
public class UserInterceptor implements HandlerInterceptor {
/**
* 在执行handler之前执行,用于身份校验,权限认证
* 返回true表示放行
* 返回false表示拦截
*/
@Override
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
System.out.println("preHandle");
return true;
}
/**
* 在执行handler时返回ModelAndView之前执行
*
* 如果要向页面提供一些公共数据或者一些公共配置信息,可以考虑使用ModelAndViewd对象
*/
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
System.out.println("postHandle");
arg3.addObject("XXX", "XXXXX");
}
/**
* 在执行handler之后执行
* 用于日志信息,系统性能分析
*/
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
System.out.println("afterCompletion");
}
}
配置servlet.XML文件
<!-- 配置拦截器 -->
<mvc:interceptors>
<!-- 多个拦截器顺序执行 -->
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.ljw.springmvc.Interceptor.UserInterceptor"></bean>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.ljw.springmvc.Interceptor.UserInterceptor2"></bean>
</mvc:interceptor>
</mvc:interceptors>
测试结果: