SpringMVC的處理流程

2022-01-22 08:20:47 字數 1805 閱讀 4340

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

1、  首先使用者傳送請求——>dispatcherservlet,前端控制器收到請求後自己不進行處理,而是委託給其他的解析器進行處理,作為統一訪問點,進行全域性的流程控制;

3、  dispatcherservlet——>handleradapter,handleradapter將會把處理器包裝為介面卡,從而支援多種型別的處理器,即介面卡設計模式的應用,從而很容易支援很多態別的處理器;

4、  handleradapter——>處理器功能處理方法的呼叫,handleradapter將會根據適配的結果呼叫真正的處理器的功能處理方法,完成功能處理;並返回乙個modelandview物件(包含模型資料、邏輯檢視名);

5、  modelandview的邏輯檢視名——> viewresolver, viewresolver將把邏輯檢視名解析為具體的view,通過這種策略模式,很容易更換其他檢視技術;

6、  view——>渲染,view會根據傳進來的model模型資料進行渲染,此處的model實際是乙個map資料結構,因此很容易支援其他檢視技術;

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

//把handler保裝成handleradapter.

//process last-modified header, if supported by the handler.

string method =request.getmethod();

boolean isget = "get".equals(method);

if (isget || "head".equals(method))

if (new servletwebrequest(request, response).checknotmodified(lastmodified) &&isget)

}//執行prehandler.

if (interceptors != null

) interceptorindex =i;}}

//處理控制器邏輯並返回mv.

//do we need view name translation?

if (mv != null && !mv.hasview())

//執行posthandler

if (interceptors != null

) }

}catch

(modelandviewdefiningexception ex)

catch

(exception ex)

//viewresolver根據使用 model和view來呈現

if (mv != null && !mv.wascleared())

}else

}//trigger after-completion for successful outcome.

); }

catch

(exception ex)

catch

(error err)

finally}}

參考(照抄)

SpringMVC處理請求的流程

1.首先使用者傳送請求到前端控制器 dispatcherservlet 前端控制器根據請求資訊 如url 來決定選擇哪乙個頁面控制器 handler如usercontroller 進行處理並把請求委託給它 2.頁面控制器 handler如usercontroller 接收到請求後,進行功能處理,首先...

SpringMVC的請求處理流程

一 springmvc的請求處理流程 springmvc是乙個基於請求驅動的web框架,並且使用了前端控制器模式來進行設計,根據請求對映規則分發給相應的頁面處理器來處理。大致流程如下 3 handler執行完成後會返回modelandview給處理器介面卡,處理器介面卡再向前端控制器返回modela...

spring mvc請求處理流程

從web.xml中 servlet的配置開始,根據servlet攔截的url parttern,來進行請求 spring mvc工作流程圖 圖一 圖二 spring工作流程描述 1.使用者向伺服器傳送請求,請求被spring 前端控制servelt dispatcherservlet捕獲 3.dis...