springMVC总结

springMVC的定义

 

SpringMVC是目前最好的实现MVC设计模式的框架,是Spring框架的一个分支产品,已经融合在Spring Web Flow里面。它以SpringIOC容器为基础,并利用容器的特性来简化它的配置。
SpringMVC对MVC流程进行了封装,屏蔽掉很多底层代码,开放出接口,让开发者可以更加轻松快捷的完成基于MVC模式的Web开发。
 
MVC设计模式的理解
 
M:model数据模型
V:view用户界面
C:controller控制器
 
使用mvc的目的:将M和V实现代码分离,C存在的目的是确保M和V的同步,一旦M改变,V也该同步更新。MVC模式的核心思想是将业务逻辑从界面中分离出来,允许它们单独改变而不会相互影响
怎么理解MVC设计模式呢?
模型就是封装业务逻辑和数据的一个个的模块,控制器就是调用这些模块来实现功能,视图就是jsp,当用户发出请求的时候,控制器根据请求来选择要处理的业务逻辑和要选择的数据,再返回结果输出到视图层。
 
springMVC的工作流程
 
 
 

1、 用户发送请求至前端控制器DispatcherServlet。

2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、 DispatcherServlet调用HandlerAdapter处理器适配器。

5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。

6、 Controller执行完成返回ModelAndView。

7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。

8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器。

9、 ViewReslover解析后返回具体View。

10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。

11、 DispatcherServlet响应用户。

 

springMVC的优点

 

1. 可以支持各种视图技术,而不仅仅局限于JSP;

2. 与Spring框架集成(如IoC容器、AOP等);

3. 清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)。

4. 支持各种请求资源的映射策略。

 
 
 
 
参考:
https://www.jianshu.com/p/27648fca6867
https://www.cnblogs.com/sunliyuan/p/10719072.html
https://www.jianshu.com/p/85a04d6ff1be
原文地址:https://www.cnblogs.com/flyinghome/p/12258672.html