SpringMVC框架 第10章 拦截器

第10章 拦截器

10.1 自定义拦截器概述

  1)  Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerInterceptor接口

  • preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则返回true;如果程序员决定不需要再调用其他的组件去处理请求,则返回false。
  • postHandle():这个方法在业务处理器处理完请求后,但是DispatcherServlet 向客户端返回响应前被调用,在该方法中对用户请求request进行处理。
  • afterCompletion():这个方法在 DispatcherServlet 完全处理完请求后被调用,可以在该方法中进行一些资源清理的操作。

     

10.2 实验代码(单个拦截器)

  4)  拦截器方法执行顺序(小总结)

10.3 实验代码(多个拦截器)

  1)  自定义拦截器类(两个)

10.4 多个拦截方法的执行顺序

  1)  关于执行顺序  2)  执行顺序图解  3)  从源代码的执行角度分析流程:

  4)  源码分析:分析interceptorIndex的值情况