91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringMVC執行過程的示例分析

發布時間:2021-09-10 14:03:01 來源:億速云 閱讀:122 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“SpringMVC執行過程的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“SpringMVC執行過程的示例分析”這篇文章吧。

前言

通過深入分析Spring源碼,我們知道Spring框架包括大致六大模塊, 如Web模塊,數據庫訪問技術模塊,面向切面模塊,基礎設施模塊,核心容器模塊和模塊,

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

在分析SpringMVC技術時,本篇文章將通過解讀SpringMVC源碼,并通過編譯器斷點調試追蹤,研究Spring核心類的UML圖,來深入剖析SpringMVC的執行過程。

一 Spring核心模塊

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

SpringMVC執行過程的示例分析

二 SpringMVC執行原理

下圖為SpringMVC的一個較完整的流程圖,實線表示SpringMVC框架提供的技術,不需要開發者實現,虛線表示需要開發者實現。

簡要分析執行流程:

1.DispatcherServlet表示前置控制器,是整個SpringMVC的控制中心。用戶發出請求,DispatcherServlet接收請求并攔截請求,

我們假設請求的url為:

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

如上url拆分成三部分:

(1)http://localhost:9999 服務器域名

(2)SpringMVC部署在服務器(http://localhost:9999)上的web站點

(3)input-product表示控制器

通過分析,如上url表示為:請求位于服務器localhost:9999上的SpringMVC站點的input-product控制器

2.HandlerMapping為處理器映射。DispatcherServlet調用HandlerMapping,HandlerMapping根據請求url查找Handler

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

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

5.HandlerAdapter表示處理器適配器,其按照特定的規則去執行Handler

6.Handler讓具體的Controller執行

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

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

9.DispatcherServlet調用視圖解析器(ViewResolver)來解析HandlerAdapter傳遞的邏輯視圖名

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

11.DispatcherServlet根據視圖解析器解析的視圖結果,調用具體的視圖

12.最終視圖呈現給用戶。

SpringMVC執行過程的示例分析

三 SpringMVC核心組件

(一)DispatcherServlet

DispatcherServlet就是所謂的SpringMVC前端控制器,作為整個SpringMVC的控制中心,,其相關UML如下所示:

SpringMVC執行過程的示例分析

(二)HandlerMapping

HandlerMapping主要用來解析請求url,解析出控制器,從而映射控制器,其相關類有16個。

SpringMVC執行過程的示例分析

如下為HandlerMapping的UML圖

SpringMVC執行過程的示例分析

(三)HandlerAdapter

HandlerAdapter主要是調度Controller來處理業務邏輯等,想相關類有6個。

SpringMVC執行過程的示例分析

如下為HandlerAdapter的UML:

SpringMVC執行過程的示例分析

(四)ViewResolver

ViewResolver接口主要作用是解析DispatcherServlet傳遞的邏輯視圖名,并將解析結果傳回給DispatcherServlet。實現該接口的相關類或接口共有19個。

SpringMVC執行過程的示例分析

如下為ViewResolver主要的UML:

SpringMVC執行過程的示例分析

以上是“SpringMVC執行過程的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赣榆县| 兴安县| 浦东新区| 郸城县| 呈贡县| 从化市| 江山市| 高碑店市| 天峻县| 原阳县| 宜兰县| 蓝田县| 沂水县| 嘉黎县| 滨海县| 平南县| 凤山市| 南陵县| 纳雍县| 霍城县| 江阴市| 沁阳市| 衡东县| 曲靖市| 简阳市| 东乡族自治县| 迁西县| 玉龙| 天峨县| 西畴县| 扶沟县| 兰考县| 乐业县| 桐乡市| 崇礼县| 湄潭县| 汝阳县| 韩城市| 含山县| 龙门县| 阿瓦提县|