SpringMVC工作流程详解(11大执行流程步骤)

SpringMVC工作流程详解(11大执行流程步骤)-mikechen

想掌握好SpringMVC,需要了解完整的SpringMVC工作流程,本文重点详解SpringMVC的工作执行流程@mikechen

MVC简介

在了解SpringMVC工作流程之前,我们先了解下SpringMVC里的MVC指的是什么?
SpringMVC工作流程详解(11大执行流程步骤)-mikechen

1.模型(Model)

模型封装了数据及对数据的操作,可以直接对数据库进行访问,不依赖视图和控制器,也就是说模型并不关注数据如何展示,只负责提供数据。GUI 程序模型中数据的变化一般会通过观察者模式通知视图,而在 web 中则不会这样。

2.视图(View)

视图从模型中拉取数据,只负责展示,没有具体的程序逻辑。

3.控制器(Controller)

控制器用于控制程序的流程,将模型中的数据展示到视图中。

 

SpringMVC工作流程

一图胜千言,工作流程如下图示:

SpringMVC工作流程详解(11大执行流程步骤)-mikechen

第一步:用户发送请求

用户发起请求到:前端控制器DispatcherServlet。

 

第二步:请求查询

前端控制器收到请求调用处理器映射器:请求处理器映射器HandlerMappering去查找处理器Handle,通过xml配置或者注解进行查找。

 

第三步:返回处理器执行链

找到以后处理器映射器:HandlerMappering,像前端控制器返回执行链:HandlerExecutionChain。

 

第四步:前端控制器调用处理器适配器

前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)。

 

第五步:处理器适配器去执行Handler

 

第六步:处理器执行完成并返回结果给前端控制器

Handler执行完给处理器适配器返回ModelAndView。

 

第七步:前端控制器接受到结果,并讲结果传给视图解析器

处理器适配器向前端控制器返回ModelAndView。

 

第八步:进行视图解析

前端控制器请求视图解析器(ViewResolver)去进行视图解析。

 

第九步:返回View

视图解析器像前端控制器返回View。

 

第十步:渲染

前端控制器对视图进行渲染。

 

第十一步:返回用户结果

前端控制器向用户响应结果

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法