日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

浅谈SpringMVC执行过程

發(fā)布時(shí)間:2025/7/25 javascript 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈SpringMVC执行过程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

通過(guò)深入分析Spring源碼,我們知道Spring框架包括大致六大模塊, 如Web模塊,數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)模塊,面向切面模塊,基礎(chǔ)設(shè)施模塊,核心容器模塊和模塊,

其中,在Spring框架的Web模塊中,又包含很多前端技術(shù),如SpringMVC,Spring WebSocket,Spring WebPortlet等,在本篇文章中,我們主要分析SpringMVC模塊。

在分析SpringMVC技術(shù)時(shí),本篇文章將通過(guò)解讀SpringMVC源碼,并通過(guò)編譯器斷點(diǎn)調(diào)試追蹤,研究Spring核心類的UML圖,來(lái)深入剖析SpringMVC的執(zhí)行過(guò)程。

一 Spring核心模塊

下圖為Spring核心模塊,其中SpringMVC模塊位于Spring框架的Web模塊部分

二 SpringMVC執(zhí)行原理

下圖為SpringMVC的一個(gè)較完整的流程圖,實(shí)線表示SpringMVC框架提供的技術(shù),不需要開發(fā)者實(shí)現(xiàn),虛線表示需要開發(fā)者實(shí)現(xiàn)。

簡(jiǎn)要分析執(zhí)行流程:

1.DispatcherServlet表示前置控制器,是整個(gè)SpringMVC的控制中心。用戶發(fā)出請(qǐng)求,DispatcherServlet接收請(qǐng)求并攔截請(qǐng)求,

我們假設(shè)請(qǐng)求的url為:

http://localhost:9999/SpringMVC/input-product

?

如上url拆分成三部分:

  • http://localhost:9999 服務(wù)器域名

  • SpringMVC部署在服務(wù)器(http://localhost:9999)上的web站點(diǎn)

  • input-product表示控制器

通過(guò)分析,如上url表示為:請(qǐng)求位于服務(wù)器localhost:9999上的SpringMVC站點(diǎn)的input-product控制器

2.HandlerMapping為處理器映射。DispatcherServlet調(diào)用HandlerMapping,HandlerMapping根據(jù)請(qǐng)求url查找Handler

3.HandlerExecution表示具體的Handler,其主要作用是根據(jù)url查找控制器,如上url被查找控制器為:input-product

4.HandlerExecution將解析后的信息傳遞給DispatcherServlet,如解析控制器映射等

5.HandlerAdapter表示處理器適配器,其按照特定的規(guī)則去執(zhí)行Handler

6.Handler讓具體的Controller執(zhí)行

7.Controller將具體的執(zhí)行信息返回給HandlerAdapter,如ModelAndView

8.HandlerAdapter將視圖邏輯名或模型傳遞給DispatcherServlet

9.DispatcherServlet調(diào)用視圖解析器(ViewResolver)來(lái)解析HandlerAdapter傳遞的邏輯視圖名

10.視圖解析器將解析的邏輯視圖名傳給DispatcherServlet

11.DispatcherServlet根據(jù)視圖解析器解析的視圖結(jié)果,調(diào)用具體的視圖

12.最終視圖呈現(xiàn)給用戶。

三 SpringMVC核心組件

(一)DispatcherServlet

DispatcherServlet就是所謂的SpringMVC前端控制器,作為整個(gè)SpringMVC的控制中心,,其相關(guān)UML如下所示:

(二)HandlerMapping

HandlerMapping主要用來(lái)解析請(qǐng)求url,解析出控制器,從而映射控制器,其相關(guān)類有16個(gè)。

如下為HandlerMapping的UML圖

(三)HandlerAdapter

HandlerAdapter主要是調(diào)度Controller來(lái)處理業(yè)務(wù)邏輯等,想相關(guān)類有6個(gè)。

如下為HandlerAdapter的UML:

(四)ViewResolver

ViewResolver接口主要作用是解析DispatcherServlet傳遞的邏輯視圖名,并將解析結(jié)果傳回給DispatcherServlet。實(shí)現(xiàn)該接口的相關(guān)類或接口共有19個(gè)。

如下為ViewResolver主要的UML:

轉(zhuǎn)載于:https://www.cnblogs.com/Zz-maker/p/10662809.html

總結(jié)

以上是生活随笔為你收集整理的浅谈SpringMVC执行过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。