自定义拦截器
1.自定义一个类、实现HandleHandlerInterceptor ,实现接口中的方法
1 public class Myinterceptor implements HandlerInterceptor { 2 @Override 3 //preHandle在目标handler方法执行之前 4 //返回值 boolean类型 true表示放行该请求、false表示拦截 5 //作用:做权限验证、日志 6 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 7 return true; 8 } 9 @Override 10 // postHandler在目标handler方法执行之后执行,在 视图渲染(render)之前执行 11 //视图渲染:就是把值填充到页面中的这个过程 12 //作用:可以在数据到达页面之前对域中的数据进行修改 13 public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { 14 } 15 @Override 16 //afterCompletion:在目标handler执行之后,而且在视图渲染执行之后执行。 17 //作用:做资源释放 18 public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { 19 } 20 }
2.在springmvc中配置该拦截器
<mvc:interceptors>
//每一个mvc:interceptor:对应着一个拦截器 mvc:mapping 代表要拦截的请求 /代表当前项目下 **代表任意请求 <mvc:interceptor> <mvc:mapping path="/**"/>
<mvc:exclude-mapping path=""/> //代表不拦截的请求 <bean class="com.ujy.Interceptor.Myinterceptor"/> </mvc:interceptor> </mvc:interceptors>
当里面即配置拦截的 又配置不拦截的 以不拦截的优先级大于拦截的 两者都在以不拦截为主
拦截器 不拦截jsp!!
多拦截器执行顺序