Spring MVC 执行流程
Spring MVC 框架整体的请求流程如图,该图显示了用户从请求Request到响应Response的完整流程。
- 1. 用户发起Request 请求,该请求被前端控制器(DispatcherServlet)处理。
- 2. 前端控制器(DispatcherServlet)请求处理映射器(HandlerMapping)查找Handler。
- 3. 处理映射器(HandlerMapping)根据配置查找相关的Handler,返回给前端控制器(DispatcherServlet)。
- 4. 前端控制器(DispatcherServlet)请求处理适配器(HandlerAdapter),执行相应的Handler(或称为Controller)。
- 5. 处理适配器(HandlerAdapter)执行Handler。
- 6. Handler 执行完毕后,返回ModelAndView 对象给HandlerAdapter。
- 7. HandlerAdapter 对象接收到Handler 返回的ModelAndView 对象后,将其返回给前端控制器(DispatcherServlet)。
- 8. 前端控制器(DispatcherServlet)接收到ModelAndView 对象后,请求视图解析器(View Resolver)对视图进行解析。
- 9. 视图解析器(View Resolver)根据View 信息匹配相应的视图(View)结果,返回给前端控制器(DispatcherServlet)。
- 10. 前端控制器(DispatcherServlet)收到View 视图后,对视图进行渲染,将Model 中的模型数据填充到 View 视图中的Request 域,生成最终的视图。
- 11. 前端控制器(DispatcherServlet)返回请求结果给用户。
以上就是 Spring MVC 请求到响应的整个工作流程,中间使用到的组件有前端控制器(DispatcherServlet)、处理映射器(HandlerMapping)、处理适配器(HandlerAdapter)、处理器(Handler)、视图解析器(View Resolver)和视图(View)等。
处理器适配器(HandlerAdapter)
处理器适配器(HandlerAdapter)执行Handler(或称为Controller)的过程中,Spring 还做了一些额外的工作。
如下所示:
- HttpMessageConverter(消息转换):将请求信息,如Json、XML等数据转换为一个对象,并将对象转换为指定的响应信息。
- 数据转换:对请求的信息进行转换,如String 转换为 Integer、Double等。
- 数据格式化:对请求消息进行数据格式化,如字符串转换为格式化数据获知格式化日期等。
- 数据验证:验证请求数据的有效性,并将验证的结果存储到 BindingResult 或 Error 中。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: GOTC2023 嘉宾畅谈:国内数据库厂商能否联合起来
大家期待已久的 GOTC 2023 召开在即 组委会广邀各个论坛嘉宾讲师 畅谈开源与各技术领域的发展趋势 让小伙伴们先睹为快 本期出场嘉宾来自“数据与数据库技术”分论坛: 一:过去一年/几年,开源与数据库技术领域发生了哪些重大变化? 高新刚: 数据库领域的…