Spring MVC请求处理流程及源码分析
来源:互联网 发布:医院感染控制软件 编辑:程序博客网 时间:2024/06/07 10:51
从接受请求到返回响应,spring MVC框架的众多组件都伸胳膊挽袖子行动起来,各司其职,有条不紊地完成份内的工作。在整个框架中,DispatcherServlet处于核心的位置,它负责协调和组织不同组件,共同完成请求响应的工作。和大多数Web MVC框架一样,Spring MVC通过一个前端Servlet处理器接收所有的请求,并将具体工作委托给其它组件进行具体的处理,DispatcherServlet就是 Spring MVC的前端Servlet处理器。下面我们对Spring MVC处理请求的整体过程做一下高空俯瞰:
① 整个过程开始于客户端发送一个HTTP请求;
② DispatcherServlet接收这个请求后,并将请求的处理工作委托给具体的处理器(Handler),后者负责处理请求执行相应的业务逻辑。在这之前,DispatcherServlet必须能够凭借请求信息(URL或请求参数等)按照某种机制找到请求对应的处理器,DispatcherServlet是通过垂询HandlerMapping完成这一工作的;
③ 当DispatcherServlet从HandlerMapping中得到当前请求对应的处理器后,它就将请求分派给这个处理器。处理器根据请求的信息执行相应的业务逻辑,一个设计良好的处理器应该通过调用Service层的业务对象完成业务处理,而非自己越俎代庖。
④ 处理器完成业务逻辑的处理后将返回一个ModelAndView给DispatcherServlet,ModelAndView包含了视图逻辑名和渲染视图时需要用到的模型数据对象;
⑤ 由于ModelAndView中包含的是视图逻辑名,DispatcherServlet必须知道这个逻辑名对应的真实视图对象,这项视图解析的工作通过调用ViewResolver来完成;
⑥ 当得到真实的视图对象后,DispatcherServlet将请求分派给这个View对象,由其完成Model数据的渲染工作;
⑦ 最终客户端得到返回的响应,这可能是一个普通的HTML页面,也可能是一个Excel电子表格、甚至是一个PDF文档等不一而足的视图形式,Spring的视图类型是异常丰富和灵活的。
- Spring MVC请求处理流程及源码分析
- Spring MVC请求处理流程及源码分析
- Spring MVC请求处理流程及源码分析
- Spring MVC请求处理流程及源码分析
- Spring MVC请求处理流程及源码分析
- Spring MVC请求处理流程及源码分析
- Spring MVC请求处理流程及源码分析
- Spring MVC原理(二)请求处理流程源码分析
- Spring MVC请求处理流程及架构
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Hibernate级联加载到session持久层中与事务回滚
- Hibernate 多对多双向关联
- PHP导出excel文件的几种方式
- Android开发中怎么把ToolBar替换成ActionBar
- 【数组】数组的增改查
- Spring MVC请求处理流程及源码分析
- 工作小记~~~枚举
- hibernate持久化对象状态
- [译] 为什么原型继承很重要
- Kafka深度解析,众人推荐,精彩好文!
- Android上的bug定位(troubleshooting) 分享
- yii内简单的session操作
- Struts2请求处理流程及源码分析
- PL/SQL如何保存定制界面