Dawn's Blogs

分享技术 记录成长

0%

SSM学习之SpringMVC (1) 介绍与工作原理

介绍

SpringMVC 是一个轻量级的 MVC 框架,可以帮助我们进行更简洁的 Web 层的开发,并且它天生与 Spring 框架集成。

  • M(Model):数据层,也就是 dao 和 bean。
  • V(View):视图层,用于展示模型中的数据。
  • C(Controller):接受用户请求,并将请求发送至 Model,最后返回数据给请求方。

组件

SpringMVC 的核心组件包括:

  • DispatcherServlet:中央处理器,负责接收请求、分发,并给予客户端响应。
  • HandlerMapping:Handler 映射器,根据 URL 去匹配查找能处理的 Handler,并会将请求涉及到的拦截器和 Handler 一起封装。
  • HandlerAdapter:Handler 适配器,根据 HandlerMapping 找到的 Handler,适配器负责 Handler 的执行。
  • Handler:实际处理请求的组件。
  • ViewResolver:视图解析器,解析并渲染真正的视图,并传递给 DispatcherServlet 用于响应。

工作原理

SpringMVC 的工作流程如下:

  1. 客户端(浏览器)发送请求, DispatcherServlet 拦截请求。
  2. DispatcherServlet 根据请求信息调用 HandlerMapping。HandlerMapping 根据 URL 去匹配查找能处理的 Handler(也就是 Controller 控制器) ,并会将请求涉及到的拦截器和 Handler 一起封装。
  3. DispatcherServlet 调用 HandlerAdapter 适配器执行 Handler 。
  4. Handler 完成对用户请求的处理后,会返回一个 ModelAndView 对象给 DispatcherServlet,包含了数据模型以及相应的视图的信息。Model 是返回的数据对象,View 是个逻辑上的 View。
  5. ViewResolver 会根据逻辑 View 查找实际的 View。
  6. DispaterServlet 把返回的 Model 传给 View(视图渲染)。
  7. 把 View 返回给请求者(浏览器)。

img