xuMengqi's Blog

Spring MVC是如何分发HTTP请求的?


目录


  1. 1. 背景
  2. 2. Spring MVC是如何分发HTTP请求的?
    1. 2.1. 获取给定请求的处理器执行链
    2. 2.2. 获取给定处理器的处理器适配器
    3. 2.3. 拦截器前置处理
    4. 2.4. 处理器适配器处理给定的请求和处理器
    5. 2.5. 应用默认视图名称
    6. 2.6. 拦截器后置处理
    7. 2.7. 处理分发结果
  3. 3. @Controller和@RequestMapping是如何工作的?
    1. 3.1. 初始化处理器方法
      1. 3.1.1. 找到给定Bean的处理器和方法
      2. 3.1.2. 创建并注册处理器方法
    2. 3.2. 获取给定请求的处理器方法
    3. 3.3. 处理器适配器处理给定的请求和处理器
      1. 3.3.1. 创建ServletInvocableHandlerMethod
      2. 3.3.2. 处理器方法参数解析器解析参数
      3. 3.3.3. 反射调用处理器的方法
      4. 3.3.4. 处理器方法返回值处理器处理返回值
  4. 4. @RequestBody和@ResponseBody是如何工作的?
    1. 4.1. @RequestBody参数解析
    2. 4.2. @ResponseBody返回值处理
  5. 5. 实战
    1. 5.1. 如何打印每个请求的执行时间?
    2. 5.2. 如何实现根据token获取用户信息?
    3. 5.3. 如何实现响应信息的可视化?