3 SpringMVC執行原理

2022-07-30 13:45:10 字數 1494 閱讀 1157

圖為springmvc的乙個較完整的流程圖,實線表示springmvc框架提供的技術,不需要開發者實現,虛線表示需要開發者實現。

dispatcherserlvet表示前端控制器,是整個springmvc的控制中心。使用者發起的請求,dispatcherserlvet接收請求並攔截請求

handlerexecution表示具體的handler,其主要作用是根據url查詢控制器,如上url被查詢控制器為:hello。

handlerexecution將解析後的資訊傳遞給dispatcherservlet,如解析控制器對映等。

handeradapter表示處理器介面卡,其按照特定的規則去指定handler。

handler讓具體的controller執行

controller將具體的執行資訊返回給handleradapter,如modelandview。

handleradapter將試圖邏輯名或模型傳遞給dispatcherservlet。

dispatcherservlet呼叫視**析器(viewresolver)來解析handleradapter傳遞的邏輯檢視名

視**析器將解析的邏輯檢視名傳給dispatcherservlet

dispatcherservlet根據視**析器解析的檢視結果,呼叫具體的檢視。

最終將檢視呈現給使用者。

之後會有處理器介面卡(handleradapter),它會按照特定的規則去執行handler,就是執行某個請求。特定的規則說白了就是去找控制器(controller),只要是實現了controller介面的它都會去適配一下,確定找到對應的控制器(controller)。

然後控制器呼叫業務層將具體的執行資訊返回給處理器介面卡,返回的資訊也就是需要給前端的資料並且我要指定這個前端是誰。

執行完這幾步,它將請求處理完了,並且會攜帶一些資料(比如modelandview),又去找了dispatcherservlet

dispatcherservlet會呼叫視**析器(viewresolver)來解析處理器介面卡傳遞的資訊。

視**析器做的事情就是獲取了modelandview的資料,再解析modelandview的檢視名字,並且拼接檢視名,找到對應的檢視,將資料渲染到檢視上,之後它將解析的檢視名傳給dispatcherservlet。

最後dispatcherservlet根據視**析器解析的檢視結果,呼叫具體的檢視,展現給使用者。

使用者發起請求,經過dispatcherservlet,它是前端控制器,也是請求分發器,

然後會去呼叫處理器介面卡handleradapter,handleradapter找到對應的控制器controller(也就是對應的介面)去處理請求。

之後控制器會呼叫具體的業務,將獲取到的資料(比如封裝在了乙個modelandview物件裡)交給視**析器viewresolver。

最後視**析器解析將獲取到的資料,渲染到對應的檢視上,呈現給使用者。

3 spring mvc學習筆記

spring mvc傳值 首先傳值分為2部分,檢視層傳值到控制層和將控制層的值傳到檢視層 1.檢視層傳值到控制層,通過string username引數傳入 2.將控制層的值傳到檢視層,通過model model引數來傳,前台通過 來接受,其中model可以看成是乙個map,是一種鍵值對的形式。控制...

3 SpringMVC額外配置

1 web.xml除了配置前端控制器還需配置spring,實現spring整合springmvc contextconfiglocation classpath spring config.xml org.springframework.web.context.contextloaderlisten...

Spring MVC 執行原理

在 spring mvc 訪問過程裡,每個請求都首先經過 許多的過濾器,經 dispatcherservlet 處理 1.請求首先 由 前端 dispatcherservlet 捕獲 3.如果有設定 首選執行 的 prehandler 方法,並把執行結果返回 dispatcherservlet 4....