//用于拦截控制器方法的执行,实现HandlerInterceptor public class TestInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("testInterceptor-->preHandle"); return false; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("testInterceptor-->postHandle"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("testInterceptor-->afterCompletion"); } }
拦截器必须在SpringMVC.xml文件配置
<mvc:interceptors> <!-- <bean class="com.mvc.interceptors.TestInterceptor"></bean>--> <!-- <ref bean="TestInterceptor"></ref>--> <!--上面两种方法bean&ref 都是对Dispatcher Servlet所处理的所有请求拦截 --> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:exclude-mapping path="/"/> <ref bean="firstInterceptor"></ref> </mvc:interceptor> <!--配置方法通过bean&ref设置拦截器,通过mvc:mapping设置需求拦截的请求,通过mvc:exclude-mapping设置需求排除的请求, --> </mvc:interceptors>