中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

SpringMVC執行過程是怎樣的

發布時間:2022-01-05 14:52:32 來源:億速云 閱讀:139 作者:iii 欄目:大數據

本篇內容介紹了“SpringMVC執行過程是怎樣的”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一 Spring核心模塊

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

SpringMVC執行過程是怎樣的

二 SpringMVC執行原理

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

簡要分析執行流程:

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

我們假設請求的url為:

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

如上url拆分成三部分:
  • http://localhost:9999 服務器域名

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

  • 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

靖边县| 阳原县| 桓仁| 清流县| 赤水市| 三原县| 洛南县| 博乐市| 称多县| 呈贡县| 兴山县| 邹平县| 密云县| 云阳县| 瓦房店市| 广灵县| 桦南县| 陇西县| 绵竹市| 余江县| 高要市| 绥江县| 墨脱县| 鄂托克旗| 兴宁市| 洞口县| 长顺县| 揭阳市| 庄浪县| 昌宁县| 邵阳县| 阿城市| 秦皇岛市| 葫芦岛市| 元朗区| 宜良县| 方正县| 慈溪市| 玉田县| 长顺县| 吉林省|