Spring MVCSpring 框架的一部分,是一个 Web 应用程序框架。它旨在使用 Model-View-Controller(MVC) 设计模式轻松构建Web应用程序。

Spring MVC

Spring MVC 中,应用程序被分为三个主要组件:ModelViewControllerModel 表示应用程序的数据和业务逻辑,View 负责生成发送到客户端 Web 浏览器的 HTML,而 Controller 充当 ModelView 之间的中介,处理传入的 HTTP 请求并生成适当的响应。

Servlet

Spring Servlet 是一个 Java 类,它作为处理请求和管理 Spring IoC 容器的生命周期的中心点。Spring 框架提供了一个称为 DispatcherServlet 的类,它在基于 Spring 的 Web 应用程序中充当前端控制器。当用户请求 Spring Web 应用程序时,DispatcherServlet 负责处理请求,将责任委托给其他组件,并最终向用户返回响应。DispatcherServlet 还管理 Spring IoC 容器的生命周期,包括创建和初始化容器,并使其 bean 可供应用程序中的其他组件使用。

JSP 文件

JSP(JavaServer Pages)是使用 Java 构建动态 Web 页面的技术。

在使用 JSPSpring MVC 应用程序中,MVC 模式的视图组件使用 JSP 文件来实现。JSP 文件包含应用程序的演示逻辑,并负责生成发送到客户端 Web 浏览器的 HTML。当用户请求 Spring MVC 应用程序时,充当前端控制器的 DispatcherServlet 处理请求并将生成响应的责任委托给适当的 JSP 文件。

架构

Spring MVC(模型-视图-控制器)是 Spring Framework 的一部分,是一个 Web 应用程序框架。它旨在使用 MVC 设计模式轻松构建 Web 应用程序。

组件

Spring MVC(模型-视图-控制器)框架有几个关键组件,它们共同处理请求并在 Web 应用程序中生成适当的响应。这些组件包括:

  • DispatcherServlet:这是 Spring MVC 体系结构的前端控制器。它负责处理传入的请求,将责任委派给其他组件,最终向用户返回响应。
  • Controller:控制器处理传入的请求,在 Model 上执行任何必要的业务逻辑,然后将请求转发或重定向到适当的视图。
  • ModelModel 代表应用程序的数据和业务逻辑。它可以使用 JavaBeansPOJO 或其他 Java 对象来实现。
  • ViewView 负责生成发送到客户端 Web 浏览器的 HTML。在 Spring MVC 中,视图通常使用 JSP 实现,但也可以使用其他视图技术,如 ThymeleafFreeMarkerVelocity 等。
  • ViewResolver:这负责根据请求和配置的视图解析器解析视图。它将逻辑视图名称映射到实际视图,如 JSPThymeleaf 模板。
  • 表单控制器:这些是特殊类型的控制器,处理表单提交,并负责数据绑定、验证和错误处理。
  • HandlerMapping:这将请求映射到适当的控制器,负责处理请求。
  • HandlerAdapter:这用于处理请求并生成响应。

还有其他支持组件,用于管理应用程序对象的生命周期,例如 Spring IoC 容器和提供其他功能的不同拦截器,例如缓存和安全性。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

了解 Spring MVC 架构、Dispatcher Servlet 和 JSP 文件的关键作用的更多相关文章

  1. Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结

    上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 问题总结 作者:轻舞肥羊 日期:2012-11-26 http://www.blogjava.net/fi ...

  2. Java-Spring MVC如何返回一个非JSP文件名字的地址

    return new ModelAndView("redirect:/bizitem/goEditItem.do?item_id="+item_id+"&msg= ...

  3. Spring MVC架构浅析

    阅读目录 Spring MVC概述 Spring MVC框架的特点 Spring MVC工作原理 Spring MVC概述 Spring的web框架围绕DispatcherServlet设计,Disp ...

  4. Spring MVC web.xml+servlet.xml

    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " ...

  5. 一个简单的Redis结合Spring MVC架构以及实现过程

    为了加快开发人员对公司项目的理解.更加容易入手和对公司项目的整体把控. 整体框架 首先介绍公司项目的整体框架,闲话少说,直接上图 整体性能分析 这就是公司的一个整体的架构,为了开发人员对架构的侧重点的 ...

  6. spring MVC 项目 WEB-INF下的jsp不能加载css文件

    一.项目目录 二.解决方法(已解决) 1. jsp文件加入 <link href="<c:url value="/css/main.css" />&qu ...

  7. Spring MVC源码——Servlet WebApplicationContext

    上一篇笔记(Spring MVC源码——Root WebApplicationContext)中记录了下 Root WebApplicationContext 的初始化代码.这一篇来看 Servlet ...

  8. Spring MVC程序中得到静态资源文件css,js,图片

    转载自:http://www.blogjava.net/fiele/archive/2014/08/24/417283.html 用 Spring MVC 开发应用程序,对于初学者有一个很头疼的问题, ...

  9. Spring Mvc 笔记二之异常和文件上传

    spring mvc的异常与文件上传 1.异常: spring注解版的异常有局部异常和全局异常                1.局部异常对单个controller有效;(在controller类写一 ...

  10. Spring Mvc:用MultiPartFile上传单个文件,多个文件

    1.单个文件上传步骤: 添加Apache文件上传jar包 首先需要下载两个apache上传文件的jar包,commons-fileupload-1.3.1jar,commons-io-2.4.jar ...

随机推荐

  1. 第一百零九篇:基本数据类型(String类型)

    好家伙, 本篇内容为<JS高级程序设计>第三章学习笔记   1.String类型 字符串类型是最常用的几个基本类型之一 字符串可以使用双引号,单引号以及反引号(键盘左Tab上面那个)标示 ...

  2. 【Azure 云服务】如果云服务证书过期会有什么影响,证书时间应该如何查看

    问题描述 如果云服务证书过期会有什么影响,证书时间应该如何查看 问题答案 在云服务中,有两种证书:服务证书 和 管理证书 什么是服务证书? 通过浏览器访问云服务中的服务(Web Role)时候所使用的 ...

  3. python代码,读取一个txt文件,将其中的每一行开头加上一个字母a,每一行的结尾加上一个字母b

    with open('name.txt', 'r+') as file: lines = file.readlines() file.seek(0) # 将文件指针移回文件开头 file.trunca ...

  4. Java 韩顺平老师的课,记的(前6章)笔记

    https://www.bilibili.com/video/BV1fh411y7R8/?p=110&spm_id_from=333.880.my_history.page.click& ...

  5. Inertial Explorer Xpress 学习笔记

    KEY WORDS: Coordinate Updates (CUPTs) Zero Velocity Updates (ZUPTs) Google Protocol Buffer (GPB)  是一 ...

  6. STM32F103xC,xD,xE引脚定义

    STM32F103xC,xD,xE引脚定义 由于在使用STM32系列芯片过程中发现互联网没有整理好的引脚定义,因此自己整理一份,方便以后查阅. GPIOA Pin 重新上电时的功能 默认功能 重映射 ...

  7. 解决 Genymotion 显示‘unable to start the virtual device’的问题

    ·解决方案 以管理员身份运行以下命令: bcdedit /set hypervisorlaunchtype off ,然后重启电脑,打开模拟器即可. 注意,一定是以[管理员]的身份运行的[命令提示符] ...

  8. WPF之命令

    目录 命令系统的基本元素 基本元素之间的关系 小试命令 WPF的命令库 命令参数 命令与Binding的结合 近观命令 ICommand接口与RoutedCommand 自定义Command 定义命令 ...

  9. 关于debian11无法安装星火商店的解决方法

    #!/bin/bash if [ "$(id -u)" != "0" ] then echo "请确保你使用root权限启动此脚本" exi ...

  10. 基于stm32的spi接口dma 数据收发实例解析

    一 前记 SPI接口平时用的比较少,再加上对CUBEMX不是很熟悉,这里踩了不少坑才把问题解决.针对遇到了不少问题,是要值得梳理一下了. 二 源码解析 1 SPI的DMA发送端配置: 2 主函数源码: ...