文章適合對springmvc已經有過基礎使用和了解,但還沒有進行詳細分析的時候檢視,對於springmvc的初步了解可以參考,筆者的這一篇文章:springmvc系列之——初相識,另外文章只是對幾個重要的元件進行了詳細講解,下面直入主題我們來看一下九大元件。
public
inte***ce
class
=>
name
=>
>
key=
"index"
>
mycontrollerprop
>
props
>
property
>
bean
>
"mycontroller"
class
="com.springmvc.test.mycontroller"
/>
class
="org.springframework.web.servlet.view.internalresourceviewresolver"
>
name
="viewclass"
value
="org.springframework.web.servlet.view.jstlview"
/>
name
="suffix"
value
=".jsp"
/>
bean
>
handler
public
class
mycontroller
implements
controller
class
= />
class
="org.springframework.web.servlet.view.internalresourceviewresolver"
>
name
="viewclass"
value
="org.springframework.web.servlet.view.jstlview"
/>
name
="suffix"
value
=".jsp"
/>
bean
>
"/index"
class
="com.alipay.web.mycontroller"
/>
不同就只是用 代替,兩個哪個好就不說了,因為我覺得就是第乙個最好,後面兩個其實都不怎麼用。
springmvc中的handler可以是任意的形式,只要能處理請求就可以,但是servlet需要的處理方法都是以request和response為引數的方法。這裡我們可以很快想到設計模式中的介面卡模式,而handleradapter就是介面卡這樣就可以讓形式多變的handler都能用來處理我們的請求,我們來看handleradapter介面的定義:
public
inte***ce
handleradapter
在處理請求的過程中,難免會出現異常,handlerexceptionresolver就是專門來處理異常的元件,它能根據異常設定modelandview,然後交給render進行渲染。但是handlerexceptionresolver只能處理頁面渲染之前的異常,頁面渲染過程中的異常,它是不能處理的,這時可以讓容器跳轉到指定的錯誤頁面來處理異常。
viewresolver用來將string型別的檢視名和locale解析為view型別的檢視。我們知道乙個頁面的生成過程就是將程式返回的引數填入模板裡,生成html等檔案。這裡就有兩個關鍵問題:而引數填入的操作過程,就是viewresolver主要要做的工作,viewresolver需要找到渲染所用的模板和所用的技術(也就是檢視的型別)進行渲染,具體的渲染過程則交由不同的檢視自己完成。
requesttoviewnametranslator從request中找到預設的view了。然後viewresolver是根據viewname查詢view。我們的controller處理完了之後其實就是返回了乙個string型別的字串。
從request解析出locale,local表示乙個區域,用這個可以對不同區域的使用者顯示不同的結果。
這個元件一共有三個方法,作用分別是判斷是不是上傳請求,將request包裝成multiparthttpservletrequest、處理完後清理上傳過程中產生的臨時資源。
用來管理flashmap的,flashmap主要用在redirect中傳遞引數。
在dispatcherservlet初始化過程中,spring mvc會初始化這九大元件。
Docker三大元件之registry詳解
與 docker registry 私有倉庫 1.1 註冊 登陸 docker hub 1.2 在本地 使用 docker login 輸入 註冊的賬號密碼 進行登陸 1.3 使用 docker push 進行推送 到 docker repositories docker push image na...
SpringMVC元件解析
前端控制器 dispatcherservlet 使用者請求到達前端控制器,它就相當於 mvc 模式中的 c,dispatcherservlet 是整個流程控制的中心,由 它呼叫其它元件處理使用者的請求,dispatcherservlet 的存在降低了元件之間的耦合性。對映方式,例如 配置檔案方式,實...
springmvc元件開發
現在流行的restful風格,往往會將引數寫入到請求路徑中去,有些需要傳遞json資料,比如查詢分頁,使用者資訊比較多的時候,需要將查詢引數組裝成乙個json資料集。接收普通請求引數 commonparams.do public void commonparams requestparam acco...