欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

SpringMVC 处理请求流的简单分析

最编程 2024-03-19 20:45:31
...

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接口在 Spring 框架中有多个实现类,这些实现类负责处理不同媒体类型(如 JSON、XML、Atom、RSS 等)

推荐阅读