SpringMVC的工作原理

2022-04-29 17:18:09 字數 3680 閱讀 4976

springmvc

是spring

框架的乙個模組,

springmvc

和spring

無需通過中間整合層進行開發。

springmvc

是乙個基於

mvc的

web框架。

spring web mvc和s

truts2

都屬於表現層的框架,它是

spring

框架的一部分

,我們可以從

spring

的整體結構中看得出來:

1.使用者發起

request

請求至控制器

(controller)

控制接收使用者請求的資料,委託給模型進行處理

2.控制器通過模型

(model)

處理資料並得到處理結果

模型通常是指業務邏輯

3.模型處理結果返回給控制器

4.控制器將模型資料在檢視

(view)

中展示web

中模型無法將資料直接在檢視上顯示,需要通過控制器完成。如果在

c/s應用中模型是可以將資料在檢視中展示的。

5.控制器將檢視

response

響應給使用者

通過檢視展示給使用者要的資料或處理結果。

發起請求到前端控制器

(dispatcherservlet);

(2).

前端控制器請求

查詢handler

,可以根據

xml配置、註解進行查詢;

(3).

處理器對映器

向前端控制器返回

handler

;(4).

前端控制器呼叫處理器介面卡去執行

handler

;(5).

處理器介面卡去執行

handler

;(6).handler

執行完成給介面卡返回

modelandview

;(7).

處理器介面卡向前端控制器返回

modelandview(

是springmvc

框架的乙個底層物件,包括

model

和view)

;(8).

前端控制器請求視**析器去進行視**析,根據邏輯檢視名稱解析真正的檢視

(jsp...)

;(9).

視**析器向前端控制器返回

view;

(10).

前端控制器進行檢視渲染,檢視渲染就是將模型資料(在

modelandview

物件中)

填充到request

域中。(11).

前端控制器向使用者響應結果。

1、前端控制器dispatcherservlet(不需要攻城獅開發),由框架提供

作用:接收請求,響應結果,相當於**器,**處理器。有了

dispatcherservlet

減少了其它元件之間的耦合度。

使用者請求到達前端控制器,它就相當於

mvc模式中的c,

dispatcherservlet

是整個流程控制的中心,由它呼叫其它元件處理使用者的請求,

dispatcherservlet

的存在降低了元件之間的耦合性。

2、處理器對映器不需要攻城獅開發),由框架提供

作用:根據請求的

url查詢

handler

負責根據使用者請求找到

handler

即處理器,

springmvc

提供了不同的對映器實現不同的對映方式,例如:配置檔案方式,實現介面方式,註解方式等。

3、處理器介面卡handleradapter

作用:按照特定規則(

handleradapter

要求的規則)去執行

handler

通過handleradapter

對處理器進行執行,這是介面卡模式的應用,通過擴充套件介面卡可以對更多型別的處理器進行執行。

4、處理器handler(需要攻城獅開發)

注意:編寫handler時按照handleradapter的要求去做,這樣介面卡才可以去正確執行handler

handler 

是繼dispatcherservlet

前端控制器的後端控制器,在

dispatcherservlet

的控制下

handler

對具體的使用者請求進行處理。

由於handler

涉及到具體的使用者業務請求,所以一般情況需要攻城獅根據業務需求開發

handler

5、視**析器view resolver(不需要攻城獅開發),由框架提供

作用:進行視**析,根據邏輯檢視名解析成真正的檢視(

view

)view resolver

負責將處理結果生成

view

檢視,view resolver

首先根據邏輯檢視名解析成物理檢視名即具體的頁面位址,再生成

view

檢視物件,最後對

view

進行渲染將處理結果通過頁面展示給使用者。

springmvc

框架提供了很多的

view

檢視型別,包括:

jstlview

、freemarkerview

、pdfview

等。一般情況下需要通過頁面標籤或頁面模版技術將模型資料通過頁面展示給使用者,需要由攻城獅根據業務需求開發具體的頁面。

6、檢視view(需要攻城獅開發jsp...)

view

是乙個介面,實現類支援不同的

view

型別(jsp

、freemarker

、pdf...

vc在b/s系統下應二、mvc在b/s系統下的應用

Spring MVC的工作原理

1.springmvc請所有的請求都提交給dispatcherservlet,它會委託應用系統的其他模組負責負責對請求進行真正的處理工作。3.dispatcherservlet請請求提交到目標controller 4.controller進行業務邏輯處理後,會返回乙個modelandview 5.d...

SpringMVC的工作原理

1 使用者傳送請求到前端控制器 dispatcherservlet ps 包括處理器物件及處理器 4 前端控制器 dispatcherservlet 呼叫處理器介面卡 handleradapter 進行適配。5 處理器介面卡去執行handler。6 處理器執行完給處理器介面卡返回modelandvi...

SpringMVC的工作原理

springmvc是spring框架的乙個模組,springmvc和spring無需通過中間整合層進行開發。springmvc是乙個基於mvc的web框架。spring web mvc和struts2都屬於表現層的框架,它是spring框架的一部分,我們可以從spring的整體結構中看得出來 1.使...