首先需要知道MVC是一种模式,属于Web服务端三层架构中的表现层,而三层架构分别有:表现层、业务层、数据层。如下图所示:
Spring框架提出了一个MVC框架就是Spring MVC,其中:
Model(模型层):封装数据
View(视图层):生成Html返回给浏览器,然后渲染
Controller(控制层):用来处理浏览器发送的请求,然后给服务器处理
Spring MVC的核心组件就是:DispatcherServlet(前端控制器)
整个SpringMvc的流程如下图所示:
(1)客户端通过url发送请求
(2)核心控制器Dispatcher Servlet接收到请求,通过系统或自定义的映射器配置找到对应的handler,并将url映射的控制器controller返回给核心控制器。
(3)通过核心控制器找到系统或默认的适配器
(4)由找到的适配器,调用实现对应接口的处理器,并将结果返回给适配器,结果中包含数据模型和视图对象,再由适配器返回给核心控制器
(5)核心控制器将获取的数据和视图结合的对象传递给视图解析器,获取解析得到的结果,并由视图解析器响应给核心控制器
(6)核心控制器将结果返回给客户端