什麼是SpringMVC?
是一種設計模式,model,view,controller 。同時springMVC是一個基于mvc的web層架構
SpringMVC的組成是什麼?
幾個重要的元件:
1、前端控制器DispatcherServlet(不需要程式員開發)
作用接收請求,響應結果,相當于轉發器,中央處理器。
有了DispatcherServlet減少了其它元件之間的耦合度。
2、處理器映射器HandlerMapping(不需要程式員開發)
作用:根據請求的url查找Handler(根據注解或者xml)
3、處理器擴充卡HandlerAdapter
作用:按照特定規則(HandlerAdapter要求的規則)去執行Handler
4、處理器Handler(需要程式員開發)
注意:編寫Handler時按照HandlerAdapter的要求去做,這樣擴充卡才可以去正确執行Handler
5、視圖解析器View resolver(不需要程式員開發)
作用:進行視圖解析,根據邏輯視圖名解析成真正的視圖(view)
6、視圖View(需要程式員開發jsp)
View是一個接口,實作類支援不同的View類型(jsp、freemarker、pdf…)
SpringMVC 的工作原理
1:用戶端的請求發送到DispatcherServlet.
2:控制器DispatcherServlet調用映射器,确定請求有對應的處理器處理。同時傳回一個執行鍊,裡面包括處理器和攔截器的集合。
3:控制器來調用擴充卡,然後擴充卡調用合适的自定義處理器,來處理業務邏輯,處理完傳回一個ModelAndView(包含了視圖名稱和資料)給擴充卡,最後傳給控制器。
4:控制器去調用視圖解析器,視圖解析器通過視圖名稱解析具體的視圖,然後傳回具體的視圖給控制器,
5:控制器開始渲染視圖,獲得渲染後的視圖,響應視圖給使用者。