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出現以前,網路就一...