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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: Spring MVC 是 Spring 框架的一部分,是一个 Web 应用程序框架。它旨在使用 Model-View-Controller(MVC) 设计模式轻松构建Web应用程序。

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,关注后即可获取最新文章推送

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

相关文章
|
12天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
18 1
|
12天前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
15 0
|
24天前
ssm(Spring+Spring mvc+mybatis)——updateDept.jsp
ssm(Spring+Spring mvc+mybatis)——updateDept.jsp
10 0
|
24天前
ssm(Spring+Spring mvc+mybatis)——showDept.jsp
ssm(Spring+Spring mvc+mybatis)——showDept.jsp
9 0
|
25天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
43 0
|
2月前
|
监控 数据可视化 关系型数据库
微服务架构+Java+Spring Cloud +UniApp +MySql智慧工地系统源码
项目管理:项目名称、施工单位名称、项目地址、项目地址、总造价、总面积、施工准可证、开工日期、计划竣工日期、项目状态等。
304 6
|
1月前
|
消息中间件 Cloud Native Java
【Spring云原生系列】SpringBoot+Spring Cloud Stream:消息驱动架构(MDA)解析,实现异步处理与解耦合
【Spring云原生系列】SpringBoot+Spring Cloud Stream:消息驱动架构(MDA)解析,实现异步处理与解耦合
|
2月前
|
供应链 Java
云HIS技术架构:Angular+Nginx+Java+Spring,SpringBoot
标准数据维护 用户信息:维护用户的基本信息,所在科室以及各个系统所具体的权限。 科室信息:维护医院的科室信息。 数据字典:标准字典信息的维护。 药品/诊疗目录维护:维护药品和诊疗目录的基本信息。
27 2
|
25天前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
105 0
|
25天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
72 0