SpringMVC工作原理

2021-07-03 17:30:27 字數 3696 閱讀 5724

上面的是springmvc的工作原理圖:

核心架構的具體流程步驟如下:

1、首先使用者

傳送請求——>dispatcherservlet,

前端控制器收到請求後自己不進行處理,而是委託給其他的解析器進行

處理,作為統一訪問點,進行全域性的流程控制;

2、個handler 處理器(頁面控制器)物件、多個handlerinterceptor ***)物件,通過這種策略模式,很容易新增新

的對映策略;

3、dispatcherservlet——>handleradapter,

handleradapter 將會把處理器包裝為介面卡,從而支援多種型別的處理器,

即介面卡設計模式的應用,從而很容易支援很多態別的處理器;

4、handleradapter——>處理器功能處理方法的呼叫,

handleradapter 將會根據適配的結果呼叫真正的處理器的功能處

理方法,完成功能處理;並返回乙個modelandview 物件(包含模型資料、邏輯檢視名);

5、modelandview的邏輯檢視名——> viewresolver

, viewresolver 將把邏輯檢視名解析為具體的view,通過這種策

略模式,很容易更換其他檢視技術;

6、view——>渲染

,view會根據傳進來的model模型資料進行渲染,此處的model實際是乙個map資料結構,因此

很容易支援其他檢視技術;

7、返回控制權給dispatcherservlet,

由dispatcherservlet返回響應給使用者,到此乙個流程結束。

通過傷處

現在想想這些問題吧

1、請求如何給前端控制器?

這個應該在

web.xml

中進行部署描述,在

helloworld

中詳細講解。

2 、前端控制器如何根據請求資訊選擇頁面控制器進行功能處理?

我們需要配置

進行對映

3 、如何支援多種頁面控制器呢?

配置handleradapter

從而支援多種型別的頁面控制器

4 、如何頁面控制器如何使用業務物件?

可以預料到,肯定利用

spring ioc

容器的依賴注入功能

5 、頁面控制器如何返回模型資料?

使用modelandview

返回6 、前端控制器如何根據頁面控制器返回的邏輯檢視名選擇具體的檢視進行渲染?

使用viewresolver

進行解析

7 、不同的檢視技術如何使用相應的模型資料?

因為model

是乙個map

資料結構,很容易支援其他檢視技術

spring mvc開發流程

新建web project

新增spring支援

配置web.xml 新增配置dispatcherservlet

實現module層

實現controller

實現view層  *.jsp

在此我們可以看出具體的核心開發步驟:

1、dispatcherservlet在web.xml 中的部署描述,從而攔截請求到spring web mvc

3、handleradapter 的配置,從而支援多種型別的處理器

4、viewresolver 的配置,從而將邏輯檢視名解析為具體檢視技術

5、處理器(頁面控制器)的配置,從而進行功能處理

圖四

核心架構的具體流程步驟如下:

1、首先使用者

傳送請求——>dispatcherservlet,

前端控制器收到請求後自己不進行處理,而是委託給其他的解析器進行

處理,作為統一訪問點,進行全域性的流程控制;

2、 個handler 處理器(頁面控制器)物件、多個handlerinterceptor ***)物件,通過這種策略模式,很容易新增新

的對映策略;

3、 dispatcherservlet——>handleradapter,

handleradapter 將會把處理器包裝為介面卡,從而支援多種型別的處理器,

即介面卡設計模式的應用,從而很容易支援很多態別的處理器;

4、 handleradapter——>處理器功能處理方法的呼叫,

handleradapter 將會根據適配的結果呼叫真正的處理器的功能處

理方法,完成功能處理;並返回乙個modelandview 物件(包含模型資料、邏輯檢視名);

5、 modelandview的邏輯檢視名——> viewresolver

, viewresolver 將把邏輯檢視名解析為具體的view,通過這種策

略模式,很容易更換其他檢視技術;

6、 view——>渲染

,view會根據傳進來的model模型資料進行渲染,此處的model實際是乙個map資料結構,因此

很容易支援其他檢視技術;

7、 返回控制權給dispatcherservlet,

由dispatcherservlet返回響應給使用者,到此乙個流程結束。

通過傷處

現在想想這些問題吧

1 、請求如何給前端控制器?

這個應該在

web.xml

中進行部署描述,在

helloworld

中詳細講解。

2 、前端控制器如何根據請求資訊選擇頁面控制器進行功能處理?

我們需要配置

進行對映

3 、如何支援多種頁面控制器呢?

配置handleradapter

從而支援多種型別的頁面控制器

4 、如何頁面控制器如何使用業務物件?

可以預料到,肯定利用

spring ioc

容器的依賴注入功能

5 、頁面控制器如何返回模型資料?

使用modelandview

返回6 、前端控制器如何根據頁面控制器返回的邏輯檢視名選擇具體的檢視進行渲染?

使用viewresolver

進行解析

7 、不同的檢視技術如何使用相應的模型資料?

因為model

是乙個map

資料結構,很容易支援其他檢視技術

spring mvc開發流程

新建web project

新增spring支援

配置web.xml 新增配置dispatcherservlet

實現module層

實現controller

實現view層  *.jsp

在此我們可以看出具體的核心開發步驟:

1、dispatcherservlet在web.xml 中的部署描述,從而攔截請求到spring web mvc

3、handleradapter 的配置,從而支援多種型別的處理器

4、viewresolver 的配置,從而將邏輯檢視名解析為具體檢視技術

5、處理器(頁面控制器)的配置,從而進行功能處理

spring mvc工作原理

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

SpringMVC工作原理

上面的是springmvc的工作原理圖 1 客戶端發出乙個http請求給web伺服器,web伺服器對http請求進行解析,如果匹配dispatcherservlet的請求對映路徑 在web.xml中指定 web容器將請求轉交給dispatcherservlet.5 handler對資料處理完成以後將...

SpringMVC工作原理

上面的是springmvc的工作原理圖 1 客戶端發出乙個http請求給web伺服器,web伺服器對http請求進行解析,如果匹配dispatcherservlet的請求對映路徑 在web.xml中指定 web容器將請求轉交給dispatcherservlet.5 handler對資料處理完成以後將...