3.5 SpringMVC --拦截器

Spring MVC中的拦截器(Interceptor)类似于JavaWeb中Servlet的过滤器(Filter),用于拦截用求作相应的处理,如日志记录、权限验证、登录验证等等。

SpringMVC中 配置拦截器有两种方式:

  1. 实现HandlerIntercept接口,或继承HandlerIntercept接口的实现类;
  2. 实现WebRequestIntercept接口,或继承WebRequestIntercept接口的实现类(用的较少);

在HandlerIntercept接口中 有三个方法:preHandle、postHandle、afterCompletion,这三个拦截器的方法执行顺序:

3.5 SpringMVC --拦截器

在配置多个拦截器的项目中,按照配置拦截器的顺序:

  每个拦截器的preHandle方法的执行顺序,与配置拦截器的顺序一致;
  每个拦截器的postHandle、afterCompletion 方法的执行顺序,与配置拦截器的顺序相反;


配置拦截器的方式(在web.xml中指定的SpringMVC配置文件中添加配置):

3.5 SpringMVC --拦截器

验证用户登录的拦截器 demo(拦截器是通过实现 HandlerIntercept 接口 实现的):
3.5 SpringMVC --拦截器