生活小事件(SpringMVC主要的组件及作用和执行流程)

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: Spring MVC 的主要组件包括 DispatcherServlet(核心,请求调度)、HandlerMapping(URL 映射到处理器)、HandlerAdapter(统一执行处理器)、Handler(处理业务逻辑,通常为 @Controller 类)、ViewResolver(视图解析)和 View(渲染输出)。通过这些组件的协作,Spring MVC 实现了从接收请求到返回响应的流程,类似于警察处理交通违规的协调过程。

Spring MVC 主要的组件包括:


1、DispatcherServlet  : 是整个Spring MVC 的核心,负责接收请求、调度处理器、管理处理器适配器等,起到了统一入口的作用,组件之间实现了解耦。

2、HandlerMapping  :  根据请求的URL 映射到相应的处理器 --> Handler。

3、HandlerAdapter :  负责执行处理器(Handler)。由于 Spring MVC 支持多种处理器类型,如注解类型的 Controller、实现了 Controller 接口的处理器等,所以需要 HandlerAdapter 来统一执行处理器。

4、Handler  :  处理业务逻辑的 Java 类。通常是一个带有 @Controller@RestController 注解的类或实现了 Controller 接口的类。

5、ViewResolver :  进行视图解析。Spring MVC 支持多种视图解析器,比如 解析 JSP 视图 :InternalResourceViewResolver、解析 FreeMarker 视图:FreeMarkerViewResolver(用于解析 FreeMarker  .......

6、View  :  是一个接口,其实现类负责渲染最终的视图内容。视图可以是 JSP、Thymeleaf、FreeMarker 等不同类型的模板文件。

......

嗯~~能不能举个例子说明呢,说得形象点:

欸,还真有: 举个 GTA-LSPDFR 警察模组举例吧~

先大致了解这种思路的组件代表的示例:

DispatcherServlet 就像是加州警察总部的调度中心。当有人违反交通规则时,他们会拨打紧急电话或者寻求警察帮助,这些请求都会首先发送到警察总部的调度中心。

HandlerMapping 就像是警察局的地图系统。当调度中心接收到一个交通违规的报告时,他们需要确定哪个警察分局负责处理这个地区的事务。HandlerMapping 会根据报告的位置信息确定需要处理这个违规行为的警察分局。

HandlerAdapter 就像是派往现场的警察团队。不同类型的交通违规可能需要不同类型的处理方式,警察团队根据违规情况选择合适的处理方式,而 HandlerAdapter 负责确保派往现场的警察团队能够正确执行任务。

Controller 就像是负责处理交通违规的警察。一旦警察团队到达现场,他们就会执行相应的任务,比如查看违规行为、记录违规者信息等。

ViewResolver 就像是记录交通违规的笔录系统。当警察处理完违规行为后,需要记录相关信息,比如违规者的姓名、违规时间、违规地点等。ViewResolver 会将这些信息解析为适当的记录格式,方便后续查阅和处理。

View 就像是最终的交通违规记录。当所有信息都记录完毕后,警察会生成最终的交通违规记录,这份记录就是 View,它包含了所有关于违规行为的信息,并且可以作为证据用于后续的处理和处罚。

大概流程就是

假如我们刚刚接收到市民报警 : 拨打 911 或者通过手机应用程序报告违规

这个报警请求首先会到达警察总部的 DispatcherServlet  

-->  DispatcherServlet 接收到请求后,会将请求的细节(如地理位置信息、违规类型)传递给 HandlerMapping  

--> HandlerMapping 根据请求的细节确定哪个警察分局负责处理这个交通违规。

--> 根据确定的警察分局,DispatcherServlet 选择了相应的处理器适配器,用于派遣警察团队处理交通违规。

--> HandlerAdapter 会根据具体的违规情况选择合适的警察团队,比如交通巡逻队、交通事故处理组等。

--> 派遣的警察团队就像是 Controller,他们负责现场处理交通违规。他们可能会进行现场调查、发出罚单、拖走违章车辆等。

--> 在处理完交通违规后,警察需要记录违规者的信息和违规情况。这些信息可能被解析成不同的格式,比如纸质记录、电子记录等,ViewResolver 负责确定记录的格式。

--> 最终的交通违规记录就像是视图,包含了违规者的姓名、违规时间、违规地点、违规类型、罚款金额等信息。这份记录可以被用于后续的处理和处罚,也可以作为证据在法庭上使用。


总结:

整个流程是一个由前端控制器(DispatcherServlet)接收请求,通过映射器(HandlerMapping)找到合适的处理器(Controller),执行相应的业务逻辑,最后将结果解析为适当的视图(View)返回给用户的过程。每个组件在流程中发挥着不同的作用,共同完成了交通违规处理的整个流程。

相关文章
|
5月前
|
Java 应用服务中间件 Spring
SpringMVC快速入门加登录流程分析
SpringMVC快速入门加登录流程分析
59 0
|
设计模式 前端开发 JavaScript
【SpringMVC】工作流程及入门案例
【SpringMVC】工作流程及入门案例
44 0
|
2月前
|
前端开发 Java Spring
SpringMVC种通过追踪源码查看是哪种类型的视图渲染器(一般流程方法)
这篇文章通过示例代码展示了如何在Spring MVC中编写和注册拦截器,以及如何在拦截器的不同阶段添加业务逻辑。
SpringMVC种通过追踪源码查看是哪种类型的视图渲染器(一般流程方法)
|
5月前
|
JSON 前端开发 Java
SpringMVC概述、SpringMVC的工作流程、创建SpringMVC的项目
SpringMVC概述、SpringMVC的工作流程、创建SpringMVC的项目
32 2
|
11月前
|
JSON 数据格式 容器
SpringMVC运行流程分析之核心流程
SpringMVC运行流程分析之核心流程
28 0
|
5月前
|
前端开发 Java 应用服务中间件
SpringMvc拦截器和手写模拟SpringMvc工作流程源码详解
MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分。 M: Model,模型层,指工程中的JavaBean,作用是处理数据。 JavaBean分为两类: 1.实体类Bean:专门存储业务数据的,如Student User等 2.业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问。
|
5月前
|
JSON 前端开发 Java
SpringMVC概述、入门案例及工作流程
SpringMVC概述、入门案例及工作流程
31 0
|
10月前
|
开发框架 前端开发 Java
SpringMVC之入门:springmcx工作流程,springmvc的入门,静态资源处理器
SpringMVC之入门:springmcx工作流程,springmvc的入门,静态资源处理器
44 0
|
10月前
|
内存技术
SpringMVC运行流程分析之前置流程
SpringMVC运行流程分析之前置流程
42 0
|
JSON 前端开发 Java
【SpringMVC】工作流程&入门案例的使用
【SpringMVC】工作流程&入门案例的使用
35 0
下一篇
无影云桌面