简单分析SpringMVC的处理请求流程

SpringMVC的处理请求流程

  1. Tomcat接收到一个请求后,会交给DispatcherServlet处理

  2. DispatcherServlet会根据请求的url找到对应的Handler,Handler实际上是一个加了@RequestMapping或@GetMapping等类似注解的方法

  3. 在执行方法前会解析方法参数,即解析@RequestParam、@RequestBody、@RequestHeader、@PathVariable等注解,从请求中获取数据并赋值给对应的参数

  4. 有了参数之后执行方法,拿到执行方法后的返回值

  5. SpringMVC会对返回值进行解析,如果该方法没有加@RequestBody注解,那么可能该方法返回了一个页面,SpringMVC会找到对应的jsp文件、ftl文件去进行页面的渲染;如果加了@RequestBody注解,则会把返回值交给HttpMessageConvertor(消息转换器,负责把方法返回值写入Response Body中,像MappingJackson2HttpMessageConverter就可以把对象转为JSON写入到Response Body中)

有关消息转换器HttpMessageConverter及其实现类和重写消息转换器的方法,可以参考:HttpMessageConverter< T >接口在 Spring 框架中有多个实现类,这些实现类负责处理不同媒体类型(如 JSON、XML、Atom、RSS 等)

相关推荐

  1. 简单分析SpringMVC处理请求流程

    2024-03-16 08:52:06       20 阅读
  2. SpringMVC启动与请求处理流程解析

    2024-03-16 08:52:06       21 阅读
  3. SpringMVC原理分析(十二)--异常处理流程

    2024-03-16 08:52:06       13 阅读
  4. tomcat处理Http请求流程步骤

    2024-03-16 08:52:06       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-16 08:52:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-16 08:52:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-16 08:52:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-16 08:52:06       20 阅读

热门阅读

  1. C语言课后作业 20 题+考研上机应用题

    2024-03-16 08:52:06       18 阅读
  2. SpringMVC—异常处理

    2024-03-16 08:52:06       16 阅读
  3. MySQL `COALESCE` 函数

    2024-03-16 08:52:06       15 阅读
  4. docker compose部署opensearch集群

    2024-03-16 08:52:06       19 阅读
  5. Qt 数据结构介绍

    2024-03-16 08:52:06       17 阅读
  6. QCheckbox的toggled(bool)和clicked(bool)信号

    2024-03-16 08:52:06       17 阅读
  7. 真正的密码

    2024-03-16 08:52:06       16 阅读
  8. grep和vim查找日志文件信息

    2024-03-16 08:52:06       20 阅读
  9. docker内部无法使用ping等网络工具解决方案

    2024-03-16 08:52:06       18 阅读