Spring MVC工作原理

在讲解Spring MVC之前,需要理解以下1,2概念,他们是Spring mvc 的背景。

1,MVC的概念
2,基于Servlet的MVC模式
3,Spring MVC工作原理

1,MVC的概念

MVC是Model,View和Controller的缩写,分别代表Web应用程序中的3中职责。

模型:用于存储数据及处理用户请求的业务逻辑。
视图:向控制器提交数据,显示模型中的数据。
控制器:根据视图提出的请求判断将请求和数据交给哪个模型处理,将处理后的有关结果交给哪个视图更新显示。

2,基于Servlet的MVC模式

基于Servlet的MVC模式的具体实现如下:

模型:一个或多个JavaBean对象,用于存储数据(实体模型,JavaBean类)和处理业务逻辑(业务模型,一般Java类)
视图:一个或多个JSP页面,向控制器提交数据和为模型提供数据显示,JSP页面主要使用HTML标记和JavaBean标记来显示数据
控制器:一个或多个Servlet对象,根据视图提交的请求进行控制,即将请求转发给处理业务逻辑的JavaBean,并将处理结果存放到实体模型JavaBean中,输出给视图显示

基于Servlet的MVC模式的流程图如下:
Spring MVC工作原理如果还是理解不清楚,可以查看我的另一个博客
https://blog.****.net/chegy218/article/details/88376379

3,Spring MVC工作原理

Spring MVC框架主要组成
DispatcherServlet,处理器映射,控制器,视图解析器,视图

Spring MVC的工作流程如下(面试经常考):

(1)客户端请求提交到DispatcherServlet;
(2)由DispathcerServlet控制器寻找一个或多个HandlerMapping,找到处理请求的Controller;
(3)DispathcerServlet将请求提交到Controller;
(4)Controller调用业务逻辑处理后返回ModelAndView;
(5)DispacherServlet寻找一个或多个ViewResolver视图解析器,找到ModelAndView指定的视图
(6)视图负责将结果显示到客户端。

Spring MVC工作原理图如下
Spring MVC工作原理
如果还是理解不清楚,可以查看我的另一个博客
https://blog.****.net/chegy218/article/details/88376379