1. 程式人生 > >理解SPRINGMVC的原理

理解SPRINGMVC的原理

在講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加上sring的整合,但是這裡有一個疑惑就是,springMVC和spring是什麼樣的關係呢?這個在百度百科上有一個很好的解釋:意思是說,springMVC是spring的一個後續產品,其實就是spring在原有基礎上,又提供了web應用的MVC模組,可以簡單的把springMVC理解為是spring的一個模組(類似AOP,IOC這樣的模組),網路上經常會說springMVC和spring無縫整合,其實springMVC就是spring的一個子模組,所以根本不需要同spring進行整合。

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):進行檢視解析,多返回的字串,進行處理,可以解析成對應的頁面

轉自:http://www.cnblogs.com/huaixiaoz/p/5776244.html