SpringMVC

SpringMVC

ssm:mybatis + Spring + SpringMVC MVC三层架构

重点:SpringMVC执行流程、SSM框架整合

回顾MCV

MVC(Model-View-Controller)是一种设计模式,用于解决用户接口(UI)与业务逻辑分离的问题。它将应用程序分为三个互相交互的部分:模型(Model),视图(View)和控制器(Controller)。这三个部分各自承担不同的任务,这样可以让结构更清晰,也更易于维护和开发。

  1. 模型(Model):模型是应用程序的核心部分,代表了业务逻辑,如数据库交互、用户查询处理等。模型对象负责访问数据源,检索数据,存储数据,并在需要时对数据进行处理和计算。
    • dao层 连接数据库
    • service层 调用dao层处理业务
  2. 视图(View):视图是用户看到和与之交互的界面。它是模型中数据的可视化表示,通常是用户界面元素。视图将模型包含的数据可视化,并不包含业务逻辑。
    • jsp
  3. 控制器(Controller):控制器是模型与视图之间的接口,处理用户的输入并作出响应。控制器从视图接收输入,然后转化为模型能理解的指令。它负责决定使用哪个模型来处理请求,然后选择合适的视图来显示模型的结果。
    • Servlet层 接收前端的数据,把要处理的数据交给service,处理过后再返回给前端

MVC架构的主要优点是,它可以将视图和业务逻辑分离,使得开发人员可以更专注于各自的部分,而不需要了解其他部分的具体实现。这使得应用程序更易于理解和维护,同时也更易于进行团队协作开发。

我们为什么要学习SpringMVC呢?

Spring MVC 官方中文文档 👈点击

Spring MVC 的特点

  1. 轻量级、简单易学
  2. 高效,基于请求响应的MVC框架
  3. 与Spring兼容性好,无缝结合
  4. 约定大于配置
  5. 功能强大:RESTful、数据验证、格式化、本地化、主题等
  6. 简洁灵活

AI小助手:

DispatcherServlet 是 Spring MVC 框架中的一个关键组件,它充当了前端控制器(Front Controller)的角色。所有的 HTTP 请求都会首先到达 DispatcherServlet,然后由它负责将请求分发到合适的处理器(例如 Controller)进行处理。

DispatcherServlet 的主要职责和工作流程如下:

  1. 请求接收:首先,DispatcherServlet 接收到客户端发送的 HTTP 请求。

  2. 请求解析:接着,DispatcherServlet 会使用 HandlerMapping(处理器映射)来确定应该由哪个 Controller 来处理这个请求。HandlerMapping 会根据请求的 URL 来找到对应的 Controller。

  3. 请求处理:找到了合适的 Controller 之后,DispatcherServlet 会将请求转发给那个 Controller。然后 Controller 会处理这个请求,并返回一个 ModelAndView 对象,这个对象包含了模型数据和视图名称。

  4. 视图渲染DispatcherServlet 会使用 ViewResolver(视图解析器)来根据 ModelAndView 中的视图名称找到对应的视图。然后,视图会使用模型数据来生成响应内容。

  5. 响应返回:最后,DispatcherServlet 会将生成的响应内容发送回客户端。

通过这种方式,DispatcherServlet 实现了请求的统一处理,使得你可以在 Controller 中专注于业务逻辑,而不需要关心请求分发和视图渲染等底层细节。

SpringMVC的原理如下图所示:

​ 当发起请求时被前置的控制器拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制器控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制器,控制器使用模型与视图渲染视图结果,将结果返回给中心控制器,再将结果返回给请求者。


SpringMVC
http://localhost:8090//archives/duieGTKX
作者
EnderKC
发布于
2024年12月23日
许可协议