Spring MVC 基本原理
本文最后更新于:2024年9月8日 晚上
Spring MVC 基本原理
概述
- Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。
- 查看官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-web
DispatcherServlet
- Spring的web框架围绕DispatcherServlet设计,DispatcherServlet的作用是将请求分发到不同的处理器,从Spring 2.5开始,使用Java 5或者以上版本的用户可以采用基于注解的controller声明方式。
- Spring MVC框架像许多其他MVC框架一样, 以请求为驱动 , 围绕一个中心Servlet分派请求及提供其他功能,DispatcherServlet是一个实际的Servlet (它继承自HttpServlet 父类)
Spring MVC执行原理
- 图为Spring MVC的一个较完整的流程图,实线表示Spring MVC框架提供的技术,不需要开发者实现,虚线表示需要开发者实现。
简要分析执行流程
DispatcherServlet
表示前置控制器,是整个Spring MVC的控制中心,用户发出请求,DispatcherServlet
接收请求并拦截请求。HandlerMapping
为处理器映射,DispatcherServlet
调用HandlerMapping
,HandlerMapping
根据请求url查找Handler
HandlerExecution
表示具体的Handler,其主要作用是根据url查找ControllerHandlerExecution
将解析后的信息传递给DispatcherServlet
,如解析Controller映射等。HandlerAdapter
表示处理器适配器,其按照特定的规则去执行Handler
Handler
让具体的Controller执行。- Controller将具体的执行信息返回给
HandlerAdapter
,如ModelAndView HandlerAdapter
将逻辑视图或模型传递给DispatcherServlet
DispatcherServlet
调用ViewResolver
将逻辑视图解析为真实视图对象。ViewResolver
将解析的真实视图对象返回DispatcherServlet
DispatcherServlet
利用是土地向对模型数据进行渲染。- 最终视图呈现给客户端。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!