SpringMVC工作原理

仰望星空@腳踏實地發表於2020-12-18

SpringMVC工作原理

什麼是MVC模式

在將SpringMVC之前我們先來看一下什麼是MVC模式

MVC:MVC是一種設計模式

MVC的原理圖:

 

分析:

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

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

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

 

SpringMVC是什麼: 

  springMVC是一個MVC的開源框架,springMVC=struts2+spring,springMVC就相當於是Struts2加上spring的整合, springMVC就是spring的一個子模組,所以根本不需要同spring進行整合。

SpringMVC的主要元件

  1. 前端控制器(DisatcherServlet):接收請求,響應結果,返回可以是json,String等資料型別,也可以是頁面(Model)。
  2. 處理器對映器(HandlerMapping):根據URL去查詢處理器,一般通過xml配置或者註解進行查詢。
  3. 處理器(Handler):就是我們常說的controller控制器啦,由程式設計師編寫。
  4. 處理器介面卡(HandlerAdapter):可以將處理器包裝成介面卡,這樣就可以支援多種型別的處理器。
  5. 檢視解析器(ViewResovler):進行檢視解析,返回view物件(常見的有JSP,FreeMark等)。

SpringMVC的原理圖:

 

SpringMVC請求執行步驟:(可以對比MVC的原理圖進行理解)

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

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

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

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

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

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

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

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

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

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

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

 

相關文章