轉載請註明出處:
前面講到:Spring+SpringMVC+MyBatis深入學習及搭建(十)——MyBatis逆向工程
Spring web mvc和Struts2都屬於表現層的框架,它是Spring框架的一個模組。 SpringMVC和Spring無需透過中間整合層進行整合。
SpringMVC是一個基於mvc的web框架。
(1)使用者發起request請求至控制器(Controller)
控制接收使用者請求的數據,並委託給模型進行處理。
(2)控制器透過模型(Model)處理資料並得到處理結果
模型通常是指業務邏輯
(3)模型處理結果傳回控制器
(4)控制器將模型資料在視圖(View)中展示
web中模型無法將資料直接在視圖上顯示,需要透過控制器完成。如果在C/S應用程式中模型是可以將資料在視圖中展示的。
(5)控制器將視圖response回應給使用者
透過視圖展示給使用者要的資料或處理結果。
(1)用戶發送請求至前端控制器(DispatcherServlet)
(2)DispatcherServlet接收到請求呼叫HandlerMapping處理器映射器
(3)處理器映射器根據請求url找到特定的處理器(Handler,可以根據xml配置、註解進行查找),產生處理器物件及處理器攔截器(若有則產生)一併回傳給DispatcherServlet。
(4)DispatcherServlet透過HandlerAdapter處理器適配器呼叫處理器
(5)執行處理器(Controller,也叫後端控制器)
(6)Controller執行完後回傳ModelAndView
(7)HandlerAdapter將Controller執行結果ModelAndView傳回DispatcherServlet
(8)DispatcherServlet將ModelAndView傳給ViewResolver視圖解析器
#(9) ViewResolver解析後返回特定View
(10)DispatcherServlet對View進行渲染視圖(即將模型資料填入視圖中)
(11)DispatcherServlet響應用戶
(1)前端控制器DispatcherServlet(不需要程式設計師開發)
作用:接收請求、回應結果,相當於轉發器,中央處理器。
有了DispatcherServlet可以減少其它元件之間的耦合度。
(2)處理器映射器HandlerMapping(不需要程式設計師開發)
作用:根據請求的url找出Handler
(3)處理器適配器HandlerAdapter
作用:按照特定規則(HandlerAdapter要求的規則)去執行Handler
(4)處理器Handler(需要程式設計師開發)
注意:在撰寫Handler 注意:編寫Handler時按照HandlerAdapter的要求去做,注意適配器才可以去正確執行Handler。
(5)視圖解析器Viewresolver(不需要程式設計師開發)
作用:進行誰解析,根據邏輯視圖名稱解析成真正的視圖(View)
(6)視圖View(需要程式設計師開發jsp)
View是一個接口,實作類別支援不同的View類型(jsp、freemarker、pdf....)
#
以上是Spring+SpringMVC+MyBatis深入學習及建構-SpringMVC架構的詳細內容。更多資訊請關注PHP中文網其他相關文章!