SpringMVC系列之 元件詳解

2021-10-14 20:45:01 字數 2413 閱讀 9183

文章適合對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...