简单理解SpringMVC流程
SpringMVC是什么:
SpringMVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架
MVC设计模式:它是用一种业务逻辑、数据与界面显示分离的方法来组织代码。目的:它将这些对象、显示、控制分离以提高软件的的灵活性和复用性,MVC结构可以使程序具有对象化的特征,也更容易维护。
请求驱动指的就是使用请求-响应模型
流程图:
具体步骤:
第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步:前端控制器向用户响应结果