SpringMVC执行流程
在学习框架之前,首先来了解一下 Spring MVC 框架的整体请求流程和使用到的 API 类。
Spring MVC 框架是高度可配置的,包含多种视图技术,例如 JSP、FreeMarker、Tiles、iText 和 POI。Spring MVC 框架并不关心使用的视图技术,也不会强迫开发者只使用 JSP。 Spring MVC 执行流程
Spring MVC 执行流程如图 1 所示。
SpringMVC 的执行流程如下。
1、用户点击某个请求路径,发起一个 HTTP request 请求,该请求会被提交到 DispatcherServlet(前端控制器);
2、由 DispatcherServlet 请求一个或多个 HandlerMapping(处理器映射器),并返回一个执行链(HandlerExecutionChain)。
3、DispatcherServlet 将执行链返回的 Handler 信息发送给 HandlerAdapter(处理器适配器);
4、HandlerAdapter 根据 Handler 信息找到并执行相应的 Handler(常称为 Controller);
5、Handler 执行完毕后会返回给 HandlerAdapter 一个 ModelAndView 对象(Spring MVC的底层对象,包括 Model 数据模型和 View 视图信息);
6、HandlerAdapter 接收到 ModelAndView 对象后,将其返回给 DispatcherServlet ;
7、DispatcherServlet 接收到 ModelAndView 对象后,会请求 ViewResolver(视图解析器)对视图进行解析;
8、ViewResolver 根据 View 信息匹配到相应的视图结果,并返回给 DispatcherServlet;
9、DispatcherServlet 接收到具体的 View 视图后,进行视图渲染,将 Model 中的模型数据填充到 View 视图中的 request 域,生成最终的 View(视图);
10、视图负责将结果显示到浏览器(客户端)。 Spring MVC接口
Spring MVC 涉及到的组件有 DispatcherServlet(前端控制器)、HandlerMapping(处理器映射器)、HandlerAdapter(处理器适配器)、Handler(处理器)、ViewResolver(视图解析器)和 View(视图)。下面对各个组件的功能说明如下。
1)DispatcherServlet
DispatcherServlet 是前端控制器,从图 1 可以看出,Spring MVC 的所有请求都要经过 DispatcherServlet 来统一分发。DispatcherServlet 相当于一个转发器或中央处理器,控制整个流程的执行,对各个组件进行统一调度,以降低组件之间的耦合性,有利于组件之间的拓展。
2)HandlerMapping
HandlerMapping 是处理器映射器,其作用是根据请求的 URL 路径,通过注解或者 XML 配置,寻找匹配的处理器(Handler)信息。
3)HandlerAdapter
HandlerAdapter 是处理器适配器,其作用是根据映射器找到的处理器(Handler)信息,按照特定规则执行相关的处理器(Handler)。
4)Handler
Handler 是处理器,和 Java Servlet 扮演的角色一致。其作用是执行相关的请求处理逻辑,并返回相应的数据和视图信息,将其封装至 ModelAndView 对象中。
5)View Resolver
View Resolver 是视图解析器,其作用是进行解析操作,通过 ModelAndView 对象中的 View 信息将逻辑视图名解析成真正的视图 View(如通过一个 JSP 路径返回一个真正的 JSP 页面)。
6)View
View 是视图,其本身是一个接口,实现类支持不同的 View 类型(JSP、FreeMarker、Excel 等)。
以上组件中,需要开发人员进行开发的是处理器(Handler,常称Controller)和视图(View)。通俗的说,要开发处理该请求的具体代码逻辑,以及最终展示给用户的界面。
注意:由于 Spring MVC 结构比较复杂,所以学习的时候也要掌握学习方法。首先要明确 Spring MVC 是一个工具,既然是工具,那么我们就需要先掌握工具的使用方法,不要陷入细节中,深入浅出,慢慢通过实际运用来加深对其的理解。
开课吧广场-人才学习交流平台
你知道Twallet钱包吗元旦初使,利好连连Thaicoin(TAC)是Twallet的钱包币!TECO元宇宙的生态治理代币!跳过公测,1。5日正式上线!!开启新的篇章!独有的TECO的经济模型,锁链式通缩
2022年互联网股买什么?EvercoreISI给出其最佳选股纳斯达克指数今年有可能成为自2016年以来首次落后于标普500指数表现的一年。但EvercoreISI的互联网股票分析师MarkMahaney认为,2022年有很多股票看起来很具吸
日产和三菱于2022年初率先发售轻型纯电动汽车现今,主要汽车制造商正争先恐后地为微型汽车电气化。由日产汽车和三菱汽车共同开发的微型电动汽车(EV)将于2022年初率先上市。为实现脱碳,占日本新车销量40的微型车电动化是不可避免
数字孪生是个啥?专家解释数字孪生是利用物理模型传感器更新运行历史等数据,为实体设备或系统创造数字版克隆体。好比在与现实平行的数字世界,你有一个一模一样的双胞胎兄弟,他与你完全同步,甚至会比你更快一
骁龙888Plus加速离场,144Hz一亿像素大电池,仅1799元时间不知不觉来到2022年,手机市场也迎来了新的挑战,骁龙8Gen1会成为各大旗舰的标配,我们都知道去年的骁龙888和骁龙888Plus都被称为火龙,实际体验没有数据显示得那么好,
推动青年人才尽早达到创造力峰值专家点评作者丁明磊(中国科学技术发展战略研究院研究员)青年科技人才是创新活动中最活跃最积极的因素,青年阶段是科学研究的黄金时期。如果给予青年更多机会,加大培养力度,势必会让更多拔尖
OLED电视亮度难题被解决!LG公布新技术OLED亮度大提升今年LG在自己的WRGBOLED面板上实现了换代,采用了名为evo的新面板,目前各大电视厂商的OLED电视几乎都用上了这种新面板。按照LG的传统来说,面板升级周期较长,通常要两三年
新能源的又一个细分领域新能源又称非常规能源。是指传统能源之外的各种能源形式。指刚开始开发利用或正在积极研究有待推广的能源,如太阳能地热能风能海洋能生物质能和核聚变能等。现在又有一种取之不尽,用之不竭的能
三星GalaxyS22Ultra高清渲染图曝光,这一刻Note21Ultra灵魂附体今天爆料人士evleaks曝光了三星GalaxyS22Ultra高清渲染图,预计是新配色,搭载了气泡状的摄像头阵列,以及Noteesque的平坦边缘。这一刻三星Note21Ultr
2022年中国新能源汽车财政补贴平缓退坡中新社北京12月31日电(记者赵建华)中国财政部工业和信息化部科技部国家发展改革委31日公布,新能源汽车推广应用财政补贴平缓退坡。2022年新能源汽车补贴标准在2021年基础上退坡
新零售的公私域之争当我们谈到新零售的时候,绕不开的一个话题就是公私域之争,即公域要不要做,私域要不要做,先做哪个再哪个,还是只做哪个不做哪个。在谈这个问题之前,首先我们需要先明确公域和私域的定义是什