SpringMVC學習筆記(一)——SpringMVC架構
部落格原始碼下載:戳我一下
一、SpringMVC
是什麼
springmvc
是spring
框架的一個模組,springmvc
和spring
無需通過中間整合層進行整合。
springmvc
是一個基於mvc的web框架。
二、mvc在b/s系統 下的應用
mvc是一個設計模式,mvc在b/s系統 下的應用:
1、使用者發起request
請求至控制器(Controller
),控制接收使用者請求的資料,委託給模型進行處理
2、控制器通過模型(Model
)處理資料並得到處理結果,模型通常是指業務邏輯
3、模型處理結果返回給控制器
4、控制器將模型資料在檢視(View
)中展示,web中模型無法將資料直接在檢視上顯示,需要通過控制器完成。如果在C/S應用中模型是可以將資料在檢視中展示的。
5、控制器將檢視response
三、SpringMVC
框架
第一步:發起請求到前端控制器(DispatcherServlet
)
第二步:前端控制器請求HandlerMapping
查詢 Handler
,可以根據xml
配置、註解進行查詢
第三步:處理器對映器HandlerMapping
向前端控制器返回Handler
第四步:前端控制器呼叫處理器介面卡去執行Handler
第五步:處理器介面卡去執行Handler
第六步:Handler
執行完成給介面卡返回ModelAndView
第七步:處理器介面卡向前端控制器返回ModelAndView
,ModelAndView
springmvc
框架的一個底層物件,包括Model
和View
第八步:前端控制器請求檢視解析器去進行檢視解析,根據邏輯檢視名解析成真正的檢視(jsp)
第九步:檢視解析器向前端控制器返回
View
第十步:前端控制器進行檢視渲染,檢視渲染將模型資料(在
ModelAndView
物件中)填充到request
域 第十一步:前端控制器向用戶響應結果
四、元件說明
1、前端控制器DispatcherServlet
(不需要程式設計師開發)
作用:接收請求,響應結果,相當於轉發器,中央處理器。
有了DispatcherServlet
減少了其它元件之間的耦合度。
2、處理器對映器HandlerMapping(
作用:根據請求的
url
查詢Handler
3、處理器介面卡HandlerAdapter
作用:按照特定規則(HandlerAdapter
要求的規則)去執行Handler
4、處理器Handler
(需要程式設計師開發)
注意:編寫Handler
時按照HandlerAdapter
的要求去做,這樣介面卡才可以去正確執行Handler
5、檢視解析器View resolver
(不需要程式設計師開發)
作用:進行檢視解析,根據邏輯檢視名解析成真正的檢視
6、檢視View
(需要程式設計師開發jsp)
View
是一個介面,實現類支援不同的View
型別(jsp、freemarker、pdf...
)