SpringMVC原理和流程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SpringMVC原理和流程
请求到来时,第⼀个接受这个请求的前端控制器叫DispatcherServlet(这个需要在web.xml中配置),后端控制器叫Controller。

简化版流程:
1.spring mvc将所有的请求都提交给DispatcherServlet,它会委托应⽤系统的其他模块负责对请求进⾏真正的处理⼯作。

2.DispatcherServlet查询⼀个或多个HandlerMapping,找到处理请求的Controller.
3.DispatcherServlet请请求提交到⽬标Controller
4.Controller进⾏业务逻辑处理后,会返回⼀个ModelAndView
5.Dispathcher查询⼀个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
6.视图对象负责渲染返回给客户端。

SpringMVC执⾏流程:
1.⽤户发送请求⾄前端控制器DispatcherServlet
2.DispatcherServlet收到请求调⽤处理器映射器HandlerMapping。

3.处理器映射器根据请求url找到具体的处理器,⽣成处理器执⾏链HandlerExecutionChain(包括处理器对象和处理器拦截器)⼀并返回给DispatcherServlet。

4.DispatcherServlet根据处理器Handler获取处理器适配器HandlerAdapter,执⾏HandlerAdapter处理⼀系列的操作,如:参数封装,数据格式转换,数据验证等操作
5.执⾏处理器Handler(Controller,也叫页⾯控制器)。

6.Handler执⾏完成返回ModelAndView
7.HandlerAdapter将Handler执⾏结果ModelAndView返回到DispatcherServlet
8.DispatcherServlet将ModelAndView传给ViewReslover视图解析器
9.ViewReslover解析后返回具体View
10.DispatcherServlet对View进⾏渲染视图(即将模型数据model填充⾄视图中)。

11.DispatcherServlet响应⽤户。

组件描述:
1、DispatcherServlet:前端控制器
⽤户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中⼼,由它调⽤其它组件处理⽤户的请求,dispatcherServlet 的存在降低了组件之间的耦合性。

2、HandlerMapping:处理器映射器
HandlerMapping负责根据⽤户请求找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射⽅式,例如:配置⽂件⽅式,实现接⼝⽅式,注解⽅式等。

3、Handler:处理器
Handler 是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的⽤户请求进⾏处理。

由于Handler涉及到具体的⽤户业务请求,所以⼀般情况需要程序员根据业务需求开发Handler。

4、HandlAdapter:处理器适配器
通过HandlerAdapter对处理器进⾏执⾏,这是适配器模式的应⽤,通过扩展适配器可以对更多类型的处理器进⾏执⾏。

5、View Resolver:视图解析器
View Resolver负责将处理结果⽣成View视图,View Resolver⾸先根据逻辑视图名解析成物理视图名即具体的页⾯地址,再⽣成View视图对象,最后对View进⾏渲染将处理结果通过页⾯展⽰给⽤户。

⼀般情况下需要通过页⾯标签或页⾯模版技术将模型数据通过页⾯展⽰给⽤户,需要由程序员根据业务需求开发具体的页⾯。

相关文档
最新文档