springMVC的定义
SpringMVC是目前最好的实现MVC设计模式的框架,是Spring框架的一个分支产品,已经融合在Spring Web Flow里面。它以SpringIOC容器为基础,并利用容器的特性来简化它的配置。
SpringMVC对MVC流程进行了封装,屏蔽掉很多底层代码,开放出接口,让开发者可以更加轻松快捷的完成基于MVC模式的Web开发。
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