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

本文涉及的产品
交互式建模 PAI-DSW,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)返回给用户的过程。每个组件在流程中发挥着不同的作用,共同完成了交通违规处理的整个流程。

相关文章
|
8月前
|
设计模式 前端开发 JavaScript
【SpringMVC】工作流程及入门案例
【SpringMVC】工作流程及入门案例
24 0
|
6月前
|
JSON 数据格式 容器
SpringMVC运行流程分析之核心流程
SpringMVC运行流程分析之核心流程
17 0
|
4月前
|
前端开发 Java 应用服务中间件
SpringMvc拦截器和手写模拟SpringMvc工作流程源码详解
MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分。 M: Model,模型层,指工程中的JavaBean,作用是处理数据。 JavaBean分为两类: 1.实体类Bean:专门存储业务数据的,如Student User等 2.业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问。
|
5月前
|
开发框架 前端开发 Java
SpringMVC之入门:springmcx工作流程,springmvc的入门,静态资源处理器
SpringMVC之入门:springmcx工作流程,springmvc的入门,静态资源处理器
29 0
|
5月前
|
内存技术
SpringMVC运行流程分析之前置流程
SpringMVC运行流程分析之前置流程
26 0
|
8月前
|
JSON 前端开发 Java
【SpringMVC】工作流程&入门案例的使用
【SpringMVC】工作流程&入门案例的使用
23 0
|
XML 前端开发 Java
浅谈SpringMVC核心组件及执行流程(含源码解析)
浅谈SpringMVC核心组件及执行流程(含源码解析)
126 0
浅谈SpringMVC核心组件及执行流程(含源码解析)
|
设计模式 存储 前端开发
SpringMVC入门(工作原理、框架流程、小实例的创建)
SpringMVC入门(工作原理、框架流程、小实例的创建)
98 0
SpringMVC入门(工作原理、框架流程、小实例的创建)
|
设计模式 前端开发 Java
Spring MVC 前端控制器 (DispatcherServlet)处理流程
Spring MVC 请求处理流程 用户发起请求,到 DispatcherServlet; 然后到 HandlerMapping 返回处理器链(包含拦截器和具体处理的 Handler); 调用处理器链的适配器 HandlerAdapter 来处理; 执行具体的方法,比如 @RequestMapper修饰的逻辑处理方法; 返回结果的视图解析器; 最后进行视图解析和渲染返回结果给用户;
203 0
SpringMVC源码解析DispatcherServlet#doDispatch方法流程(下)
SpringMVC源码解析DispatcherServlet#doDispatch方法流程(下)
148 0
SpringMVC源码解析DispatcherServlet#doDispatch方法流程(下)