Spring Filter和HandlerInterceptor执行顺序

130 阅读1分钟

一张图看懂执行顺序

Spring MVC 请求处理执行顺序

  • HTTP Request
    • → Filter1
    • → Filter2
    • DispatcherServlet(Spring MVC 入口)
      • → HandlerMapping(解析出 HandlerMethod)
      • → HandlerInterceptor.preHandle()
      • → Controller Method(实际业务逻辑)
      • → HandlerInterceptor.postHandle()
    • → Filter2(响应返回时再次经过)
    • → Filter1
  • HTTP Response

Filter vs. Interceptor 的适用场景

​场景​​Filter​​Interceptor​
处理静态资源
需要 Servlet API 操作
需要 Spring 上下文
需要 Controller 上下文