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