一、拦截器配置和测试:
1)定义两个拦截器,(要实现HandlerInterceptor接口)
HandlerInterceptor1:
1 package com.cy.interceptor; 2 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servlet.http.HttpServletResponse; 5 6 import org.springframework.web.servlet.HandlerInterceptor; 7 import org.springframework.web.servlet.ModelAndView; 8 9 public class HandlerInterceptor1 implements HandlerInterceptor{ 10 11 //进入 Handler方法之前执行 12 //用于身份认证、身份授权 13 //比如身份认证,如果认证通过表示当前用户没有登陆,需要此方法拦截不再向下执行 14 @Override 15 public boolean preHandle(HttpServletRequest request, 16 HttpServletResponse response, Object handler) throws Exception { 17 System.out.println("HandlerInterceptor1--------------------preHandle"); 18 19 //return false表示拦截,不向下执行 20 //return true表示放行 21 return true; 22 } 23 24 //进入Handler方法之后,返回modelAndView之前执行 25 //应用场景从modelAndView出发:将公用的模型数据(比如菜单导航)在这里传到视图,也可以在这里统一指定视图 26 @Override 27 public void postHandle(HttpServletRequest request, 28 HttpServletResponse response, Object handler, 29 ModelAndView modelAndView) throws Exception { 30 System.out.println("HandlerInterceptor1--------------------postHandle"); 31 } 32 33 //执行Handler完成执行此方法 34 //应用场景:统一异常处理,统一日志处理 35 @Override 36 public void afterCompletion(HttpServletRequest request, 37 HttpServletResponse response, Object handler, Exception ex) 38 throws Exception { 39 System.out.println("HandlerInterceptor1--------------------afterCompletion"); 40 } 41 }