1. 程式人生 > >springmvc的原理、執行流程。mvc簡介

springmvc的原理、執行流程。mvc簡介

SpringMVC的原理圖:

看到這個圖大家可能會有很多的疑惑,現在我們來看一下這個圖的步驟:(可以對比MVC的原理圖進行理解)

第一步:使用者發起請求到前端控制器(DispatcherServlet

第二步:前端控制器請求處理器對映器(HandlerMappering)去查詢處理器(Handle):通過xml配置或者註解進行查詢

第三步:找到以後處理器對映器(HandlerMappering)像前端控制器返回執行鏈(HandlerExecutionChain)

第四步:前端控制器(DispatcherServlet)呼叫處理器介面卡(HandlerAdapter)去執行處理器(Handler)

第五步:處理器介面卡去執行Handler

第六步:Handler執行完給處理器介面卡返回ModelAndView

第七步:處理器介面卡向前端控制器返回ModelAndView

第八步:前端控制器請求檢視解析器(ViewResolver)去進行檢視解析

第九步:檢視解析器像前端控制器返回View

第十步:前端控制器對檢視進行渲染

第十一步:前端控制器向用戶響應結果

看到這些步驟我相信大家很感覺非常的亂,這是正常的,但是這裡主要是要大家理解springMVC中的幾個元件:

前端控制器(DispatcherServlet):接收請求,響應結果,相當於電腦的CPU。

處理器對映器(HandlerMapping):根據URL去查詢處理器

處理器(Handler):(需要程式設計師去寫程式碼處理邏輯的)

處理器介面卡(HandlerAdapter):會把處理器包裝成介面卡,這樣就可以支援多種型別的處理器,類比筆記本的介面卡(介面卡模式的應用)

檢視解析器(ViewResovler):進行檢視解析,多返回的字串,進行處理,可以解析成對應的頁面

=================================

MVC:MVC是一種設計模式

MVC的原理圖:

分析:

M-Model 模型(完成業務邏輯:有javaBean構成,service+dao+entity)

V-View 檢視(做介面的展示  jsp,html……)

C-Controller 控制器(接收請求—>呼叫模型—>根據結果派發頁面)

有了struts2,為什麼還需要
sprigmvc

實現機制:

Struts2基於過濾器實現的。

Springmvc基於servlet實現。Servlet比過濾器快。

執行速度:

Struts2是多列

請求來了以後,struts2建立多少個物件

ActionContext,valuestackUserActionActionSuportModelDriven

userAction裡面屬性:User物件,userlist集合等

Springmvc是單列。

引數封裝來分析

Struts基於屬性進行封裝

Springmvc基於方法封裝

--------------------------------------------------------


Web.xml攔截方式:在rest目錄下所有請求都被攔截,servlet可以攔截目錄。


${}:匹配接受頁面Url路徑引數

@Pathariable{}裡面引數注入後面引數裡面


------------------------------------------------------------------------