我眼中的Spring MVC

2021-08-02 20:33:09 字數 1914 閱讀 9274

spring mvc 是應用於web應用程式 mvc架構的 c

首先說一下spring mvc框架文件中的一句話  對擴充套件開放 對修改閉合

那麼特點就來了  高擴充套件性  這是它最大的特點還有 友好的設計的結構,***思想,引數繫結,允許其他mvc的實現等等  總的來就是簡單易用

在這裡只是簡單介紹一下有哪些類

1:dispatchservlet  前置控制器 - 核心處理器

3:handleradapter 處理器介面卡 - 針對請求處理的實現

4:handlerexceptionreaolver 處理過程中出現的異常處理

5:viewresolver 視**析器 - 將檢視對映到view類

6:localeresolver & localecontextresolver 地區解析  - 支援國際化

7:themerosolver 檢視的主題解析器

8:multipartreaolver - 呼叫處理請求資源 - 檔案上傳中使用

9:flashmapmanager - flashmap管理器 - 在兩次請求中後需要重定向時使用

這個類依賴的bean 資訊存放在org.springframework.web.servlet下的dispatcherservlet.properties檔案中

當需要對其進行定製配置時 可以再此檔案中進行調整

請求 --> dispatcherservlet

2) dispatcherservlet.locale_resolver_attribute 將地區解析器繫結到請求上

3) dispatcherservlet.theme_resolver_attribute 將主題解析器繫結到請求上

4) dispatcherservlet.multipart_resolver_bean_name 判斷是否需要檔案上傳元件的繫結

5) 為該請求尋找乙個合適的處理器

如果找到就則與該處理器關聯的執行鏈(前後處理器/控制器) 都會被執行 返回模型或檢視的渲染

6) 如果是模型 --> 框架渲染相應的檢視

如果沒有任何模型 會認為請求已經由處理鏈完成

在這個是在dispatcherservlet類中的處理流程 可以看出全部的實現是被直接或者間接的呼叫 然而在真正的處理請求的流程中卻不僅如此

當dispatcherservlet 接收到請求之後 在做完引數繫結之後會使用handleradapter類 (從註解中解析出資訊與請求做匹配 會得到要使用哪乙個controller) - 介面卡模式

然後是載入一些處理 比如繫結執行緒 地區資訊等等

然後是handlerexecutionchain

這個類(執行鏈條)來執行 --> prehandle --> cantroller method --> posthandle --> afterconmpletion

產生乙個modleandview (//model //map  最後都會轉換為 modleandview)

然後是交給viewresolver 視**析器

最後將檢視返回給使用者

@controller 類/方法註解-宣告是controllerl類

@restcontroller 類/方法註解-宣告是controllerl類  省略了@requestbody

@pathvariable 方法形參前  處理requet uri 部分 佔位符 {} 中的資料

@requestparam  繫結引數 單個

@requestbody  處理request body部分的註解

@requestheader 處理request header部分

@cookievalue   獲取cookie

@sessionattributes  設定session

@modelattribute  處理資料繫結 實體

@responcebody   返回內容為指定的的格式

我,眼中的詩歌

我,眼中的詩歌 給我一杯茶,乙個幽靜的地方,我好看些詩歌。寫前面 詩歌是一種態度。詩歌是燕子低低地飛過屋簷。詩歌是古代西方 盛行的決鬥。詩歌是人類本身一直都存在的 極為樸素的一種本能。詩歌和性別無關 和身材無關,和你曾看過多少書也沒有直接的 聯絡,造物主將嘴巴賦予人類的同時 也賦予了人類詩歌。詩歌是...

我眼中的委託

首先委託是乙個型別,和int string一樣,我們日常說的委託其實是委託型別的變數,委託的作用就是把方法當成引數來傳遞,將方法賦值給委託型別的變數,然後由這個變數去呼叫執行方法。換個方式,委託沒有具體實現體,因為委託就是叫別人去辦事,自己當然不需要實現了,但是委託別人必須要清楚自己想辦什麼事,這個...

我眼中的OpenFlow

我眼中的openflow可能不是那麼全面,只有3點,然而它們確實是openflow最吸引我的地方 伺服器可以虛擬化,雖然同駐足在一台硬體裝置內,然而彼此之間卻可以不受影響得執行,一台虛擬化機器崩潰了不會影響別的,一台虛擬機器中了病毒其它的可以不必擔心,這確實是一大亮點,可是在sdn出現以前,網路就一...