激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringMVC的執行過程淺析

SpringMVC的執行過程淺析

2021-07-19 09:20Alan_beijing Java教程

這篇文章主要給大家介紹了關于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的執行過程淺析

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。

原文鏈接:https://www.cnblogs.com/wangjiming/p/10487832.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国内精品久久久久久久久久久久 | 久久久精品视 | 中文字幕在线第二页 | 中文字幕在线一 | 国产一区二区在线免费播放 | 日韩欧美电影一区二区三区 | 久久久国产一级片 | 精品在线观看一区 | 亚洲一区二区中文字幕在线观看 | 午夜精品久久久久久久久久久久久蜜桃 | 欧美久久一区二区 | av免费提供 | 欧日韩在线视频 | 青青草免费观看完整版高清 | 国产精品久久久久久久久久 | 一级成人欧美一区在线观看 | 亚洲第一页中文字幕 | 看毛片电影 | 国产人妖一区二区 | 久久99免费观看 | 国产一极毛片 | 久久久久久久久久久一区 | a集毛片| 精品久久久久久久久中文字幕 | 亚洲成人黄色片 | 国产美女一区二区在线观看 | 2019亚洲日韩新视频 | 久草在线高清视频 | 精品国产一区二区三区四区在线 | 羞羞视频在线免费 | 成年人性视频 | 日本黄免费 | 欧美日韩一区,二区,三区,久久精品 | 欧美电影在线观看 | 国产精品久久国产精品 | 羞羞电影在线观看www | h视频在线免费看 | 久久人添人人爽人人爽人人片av | 久久99综合久久爱伊人 | 成人在线视频免费播放 | 国产成人综合在线观看 |