您的位置:首页 > 编程语言 > Java开发

springMVC执行流程及原理

2017-05-04 17:43 288 查看
spring的MVC执行原理

1.spring mvc将所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求 进行真正的处理工作。
2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.
3.DispatcherServlet请请求提交到目标Controller
4.Controller进行业务逻辑处理后,会返回一个ModelAndView
5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
6.视图对象负责渲染返回给客户端。

1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑

3.AOP的很好支持,方便面向切面编程。

5.Spring DI机制降低了业务对象替换的复杂性。

7.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或全部

SpringMVC执行流程




用户发起请求到前端控制器(Controller)

前端控制器没有处理业务逻辑的能力,需要找到具体的模型对象处理(Handler),到处理器映射器(HandlerMapping)中查找Handler对象(Model)。

HandlerMapping返回执行链,包含了2部分内容: ① Handler对象、② 拦截器数组

前端处理器通过处理器适配器包装后执行Handler对象。

处理业务逻辑。

Handler处理完业务逻辑,返回ModelAndView对象,其中view是视图名称,不是真正的视图对象。

将ModelAndView返回给前端控制器。

视图解析器(ViewResolver)返回真正的视图对象(View)。

(此时前端控制器中既有视图又有Model对象数据)前端控制器根据模型数据和视图对象,进行视图渲染。

返回渲染后的视图(html/json/xml)返回。

给用户产生响应。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: