SpringMVC概述(MVC设计模式,SpringMVC工作流程)

SpringMVC概述(MVC设计模式,SpringMVC工作流程)

一,MVC设计模式

MVC 是 Model、View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责模块。

  • 模型:用于存储数据以及处理用户请求的业务逻辑。
  • 视图:向控制器提交数据,显示模型中的数据。
  • 控制器:根据视图提出的请求判断将请求和数据交给哪个模型处理,将处理后的有关结果交给哪个视图更新显示。

基于Servlet 的 MVC 模式的具体实现如下:

  • 模型:一个或多个 JavaBean 对象,用于存储数据(实体模型,由 JavaBean 类创建)和处理业务逻辑(业务模型,由一般的 Java 类创建)。
  • 视图:一个或多个JSP 页面,向控制器提交数据和为模型提供数据显示,JSP 页面主要使用 HTML 标记和 JavaBean 标记来显示数据。
  • 控制器:一个或多个 Servlet 对象,根据视图提交的请求进行控制,即将请求转发给处理业务逻辑的 JavaBean,并将处理结果存放到实体模型 JavaBean 中,输出给视图显示。

基于 Servlet 的 MVC 模式的流程如图所示。

在这里插入图片描述

二,SpringMVC处理用户请求工作流程

Spring MVC 框架主要由 DispatcherServlet、处理器映射、控制器、视图解析器、视图组成,其工作原理如图所示。

在这里插入图片描述

Spring MVC 的工作流程如下:
  1. 客户端请求提交到 DispatcherServlet。
  2. 由 DispatcherServlet 控制器寻找一个或多个 HandlerMapping,找到处理请求的 Controller。
  3. DispatcherServlet 将请求提交到 Controller。
  4. Controller 调用业务逻辑处理后返回 ModelAndView。
  5. DispatcherServlet 寻找一个或多个 ViewResolver 视图解析器,找到 ModelAndView 指定的视图。
  6. 视图负责将结果显示到客户端。
Spring MVC接口

在图中包含 4 个 Spring MVC 接口,即 DispatcherServlet、HandlerMapping、Controller 和 ViewResolver。

Spring MVC 所有的请求都经过 DispatcherServlet 来统一分发,在 DispatcherServlet 将请求分发给 Controller 之前需要借助 Spring MVC 提供的 HandlerMapping 定位到具体的 Controller。

HandlerMapping 接口负责完成客户请求到 Controller 映射。

Controller 接口将处理用户请求,这和 Java Servlet 扮演的角色是一致的。一旦 Controller 处理完用户请求,将返回 ModelAndView 对象给 DispatcherServlet 前端控制器,ModelAndView 中包含了模型(Model)和视图(View)。

从宏观角度考虑,DispatcherServlet 是整个 Web 应用的控制器;从微观考虑,Controller 是单个 Http 请求处理过程中的控制器,而 ModelAndView 是 Http 请求过程中返回的模型(Model)和视图(View)。

odelAndView 是 Http 请求过程中返回的模型(Model)和视图(View)。

ViewResolver 接口(视图解析器)在 Web 应用中负责查找 View 对象,从而将相应结果渲染给客户。

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Spring MVC是一个基于Java的Web应用框架,它是Spring框架的一部分,用于开发和管理Web应用程序。而MVC(Model-View-Controller)是一种设计模式,用于将应用程序分为三个主要部分:数据模型(Model)、视图层(View)和控制器(Controller)。 在Spring MVC中,MVC设计模式被应用得非常彻底。它将应用程序的不同功能模块进行了解耦,使得开发者可以更好地组织和管理代码。具体来说,Spring MVC框架提供了以下核心组件: 1. 控制器(Controller):负责处理用户请求并调度其他组件来处理请求。它接收用户输入并根据输入选择合适的处理逻辑。 2. 视图(View):负责展示数据给用户。通常使用HTML或JSP等模板技术来生成动态页面。 3. 模型(Model):代表应用程序的数据和业务逻辑。它与数据库交互获取数据,并将数据传递给控制器和视图。 4. 处理器映射器(Handler Mapping):根据请求的URL和其他条件,将请求映射到相应的控制器。 5. 视图解析器(View Resolver):根据控制器返回的视图名称,解析出真正的视图对象。 6. 数据绑定和验证器(Data Binding & Validator):将请求参数绑定到方法参数或模型对象,并进行数据验证。 通过将应用程序的不同部分分离,Spring MVC使得开发者可以更加灵活地开发和调试Web应用程序。它提供了各种便利的功能,如请求映射、数据绑定、拦截器、异常处理等,帮助开发者更高效地构建可扩展和易于维护的Web应用程序。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值