简单理解SpringMVC流程

 

SpringMVC是什么:

SpringMVC是一种基于Java的实现了Web MVC设计模式请求驱动类型的轻量级Web框架

MVC设计模式:它是用一种业务逻辑、数据与界面显示分离的方法来组织代码。目的:它将这些对象、显示、控制分离以提高软件的的灵活性和复用性,MVC结构可以使程序具有对象化的特征,也更容易维护。

请求驱动指的就是使用请求-响应模型

 

流程图:

简单理解SpringMVC流程

 

具体步骤:

第1步:用户发送请求到前端控制器(DispatcherServlet)

如一个HTTP这样的URL

第2步:前端控制器请求HandlerMapping查找 Handler

(可以根据xml配置、注解进行查找)

第3步:处理器映射器HandlerMapping找到Handler之后,向前端控制器返回Handler。

HandlerMapping会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象,多个HandlerInterceptor拦截器对象),通过这种策略模式,很容易添加新的映射策略

第4步:前端控制器调用处理器适配器去执行Handler

第5步:处理器适配器HandlerAdapter将会根据适配的结果去执行Handler

第6步:Handler执行完成给适配器返回ModelAndView

第7步:处理器适配器向前端控制器返回ModelAndView

(ModelAndView是springmvc框架的一个底层对象,包括 Model和view)

第8步:前端控制器请求视图解析器去进行视图解析

(根据逻辑视图名解析成真正的视图(jsp)),通过这种策略很容易更换其他视图技术,只需要更改视图解析器即可

第9步:视图解析器向前端控制器返回View

第10步:前端控制器进行视图渲染

(视图渲染将模型数据(在ModelAndView对象中)填充到request域)

第11步:前端控制器向用户响应结果