拦截器笔记
- 拦截器的类需要实现一个接口 HandlerInterceptor ,它有三个默认的方法,如下:
public interface HandlerInterceptor {
boolean preHandle(HttpServletRequest var1, HttpServletResponse var2, Object var3) throws Exception;
void postHandle(HttpServletRequest var1, HttpServletResponse var2, Object var3, ModelAndView var4) throws Exception;
void afterCompletion(HttpServletRequest var1, HttpServletResponse var2, Object var3, Exception var4) throws Exception;
}
- preHandle 方法在controller执行之前。
- postHandle 方法在controller执行之后。
- afterCompletion 方法在视图渲染之后执行。
写完拦截器后需要将这个类配置到容器中:
设置拦截规则:
当配置了多个拦截器的时候,拦截器的执行顺序和配置拦截器的执行相关,先配置先执行。执行顺序有点像“三明治”夹层。