理解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