SpringMVC执行流程

- 一个请求匹配前端控制器
DispatcherServerlet的请求映射路径(web.xml中指定),web容器将请求转交给前端控制器DispatcherServerlet处理。 - 前端控制器
DispatcherServerlet接收到请求后,根据请求的信息交给处理器映射器HandlerMappering。 - 处理器映射器
HandlerMappering根据用户的url请求查找匹配该url的Handler,并返回
一个执行链。 - 前端控制器
DispatcherServerlet再请求处理器适配器HandlerAdapter调用相应的Handler进行处理并返回ModleAndView给前端控制器DispatcherServerlet。 - 前端控制器
DispatcherServerlet将ModleAndView请求视图解析器ViewReslover解析,返回具体View对象。 - 前端控制器
DispatcherServerlet对View进行渲染视图(模型数据填充至视图)。 - 前端控制器
DispatcherServerlet将页面相应给用户
组件说明
DispatcherServerlet:前端控制器
请求到达前端控制器DispatcherServerlet,相当于MVC中的C,是整个流程的中心和入口,降低了组件间的耦合性。HandlerMappering:处理器映射器
根据用户的请求的url找到处理器Handler,SpringMVC提供了不同映射器的不同映射方式,例如:配置文件方式,实现接口方式,注解方式。Handler:处理器
继前端控制器DispatcherServerlet的后端控制器,在前端控制器DispatcherServerlet的控制下处理器Handler对用户的请求进行处理。由于处理器Handler涉及到具体业务,所以由程序员根据业务逻辑开发处理器Handler。HandlerAdapter:处理器适配器
通过处理器适配器HandlerAdapter对处理器Handler进行执行,通过扩展适配器可以对更多类型的处理器进行执行。ViewReslover:视图解析器
视图解析器ViewReslover负责处理结果生成View视图,视图解析器ViewReslover首先根据逻辑视图名解析成物理视图名,从而生成View对象,最后对View进行渲染将处理结果通过页面展示给用户。View:视图
SpringMVC框架提供了很多的视图View类型的支持,包括:jstlView、freemarkerView、pdfView等。我们最常用的视图就是jsp。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。

