【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的类)