【springmvc-工作原理图】

SpringMvc流程

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

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

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

4.DispatcherServlet调用HandlerAdapter处理器适配器

5、HandlerAdaper经过适配器调用具体的处理器Controller,也就后端控制器

6、Controller执行完成返回ModlAndView

7.HandlerAdapter将Controller执行结果ModelAndVie返回给Dispatcher

8.VieResolver解析后返回具体的View

9.DispatcherServlet根据modelAndView传给viewReslover视图解析器

10、ViewReslover解析后返回具体的Vie

11、DispatcherServet根据view进行渲染视图(既将数据模型)

12、DispatcherServlet响应给用户

SpringMvc是什么

springMvc是一个Mvc的开源框架。springMvc=struct2+sping Springmvc就相当于是struct2加上spring的整合。但是这里有一个疑惑就是 springMvc和spring是什么样的关系呢

百度上说 springMvc是spring后续的一个产品,其实就是spring在原有基础上,又提供了web应用模块,可以简单的把spring Mvc理解为spring的一个模块。,网络上经常会说springMVC和spring无缝集成,其实springMVC就是spring的一个子模块,所以根本不需要同spring进行整合

补充:在看JavaEE开发的巅峰者 spring boot实战一书中,我对一个概念理解还不是很清楚。那就是 
    三层架构和 MVC之间的区别。因此打算做下笔记。
    MVC :Model VIew Controller
    三层结构: pressentional tier(展现层)+Application tier(应用层)+Data tier(数据访问层)
实际上MvC只是三层架构中的展现层,只有一层。M实际上就是Model,是包含数据的对象。用来和V之间传递值,V指的是视图页面,包含jsp freeMarker。C就是控制器(spring mvc的类)

原文地址:https://www.cnblogs.com/qxlxi/p/12860966.html