一、MVC 设计模式与 Spring MVC 框架
MVC模式 是模型(Model)、视图(View)、控制器(Controller)的简写,其核心思想是通过将请求处理控制、业务逻辑、数据封装、数据显示等流程节点分离的思想来组织代码。
所以,MVC 是一种设计模式,而Spring MVC 是一款基于MVC设计模式思想实现的的 MVC 框架,属于Spring技术栈的一部分。Spring MVC 可以帮助我们进行更简洁的 Web 层的开发,并且它天生与 Spring框架集成,更利于架构的设计与搭建。
二、SpringMVC的核心组件
- DispatcherServlet :核心处理器,负责统一接收请求、将请求分发至不同的控制器,并负责客户端响应。
- HandlerMapping :处理器映射器,根据 uri去匹配查找能处理的 Handler ,并会将请求涉及到的拦截器和 Handler 一起封装。
- HandlerAdapter:处理器适配器,根据 HandlerMapping 找到的 Handler ,适配执行对应的 Handler;
- Handler :请求处理器,处理实际请求的处理器。
- ViewResolver :视图解析器,根据 Handler返回的逻辑视图名称,解析并渲染真正的视图文件,并传递给 DispatcherServlet响应至客户端
三、SpringMVC的执行流程
- 客户端(浏览器)发送请求, 统一由DispatcherServlet拦截处理请求。
- DispatcherServlet 根据请求信息调用 HandlerMapping。HandlerMapping 根据 uri 去匹配查找能处理的 Handler(也就是我们定义的 Controller 控制器) ,并会将请求涉及到的拦截器和 Handler 一起封装。
- DispatcherServlet调用 HandlerAdapter适配器
- HandlerAdapter适配器调用处理器执行 Handler。
- Handler完成对用户请求的处理后,会返回一个 ModelAndView 模型视图对象给DispatcherServlet。ModelAndView 中包含了数据模型以及相应的视图信息。Model 是返回的数据对象,View是View视图的逻辑名称。
- ViewResolver会根据逻辑 View名称查找并解析实际的 View视图文件,
- 根据DispaterServlet 返回的 Model数据模型传给 View视图文件,进行渲染执行,产生响应结果。
- DispaterServlet 负责将响应结果,输出至客户端浏览器。
感谢你花时间读到这里~ 如果你觉得这篇内容对你有帮助,不妨点个赞让更多人看到;如果有任何想法、疑问,或者想分享你的相关经历,欢迎在评论区留言交流,你的每一条互动对我来说都很珍贵~ 我们下次再见啦!😊😊