1、拦截器 HandlerInterceptor 类的做用mvc
SpringMVC 的拦截器相似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。post
2、怎么使用呢?spa
1. 建立 Java 类实现 HandlerInterceptor 接口code
public class MyFilter implements HandlerInterceptor { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("资源访问以前 。。。"); return true; } public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("资源访问以后,视图渲染以前 。。。"); } public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("视图渲染完以后 。。。"); } }
2. 修改 SpringMVC 的配置文件,加上下面这段配置blog
<mvc:interceptors> <bean class="com.common.MyFilter" /> </mvc:interceptors>
3、有一点须要注意的接口
咱们在实际开发中呢,能使用 Servlet 规范中的 Filter 过滤器的就用 Filter 实现,由于 HandlerInteceptor 只有在 SpringMVC 环境下才能使用。所以 Filter 是最通用的、最早应该使用的。如判断是否登陆这种拦截器最好使用 Filter 来实现。资源