SpringMVC系統學習(一)
(圖片就不貼了,這裡大多數程式設計師都在用,但是整體流程能說明白的沒有幾個)
具體步驟:
這裡是引用
第一步:發起請求到前端控制器(DispatcherServlet)
第二步:前端控制器請求HandlerMapping查詢 Handler (可以根據xml配置、註解進行查詢)
第三步:處理器對映器HandlerMapping向前端控制器返回Handler,HandlerMapping會把請求對映為HandlerExecutionChain物件(包含一個Handler處理器(頁面控制器)物件,多個HandlerInterceptor攔截器物件),通過這種策略模式,很容易新增新的對映策略
第四步:前端控制器呼叫處理器介面卡去執行Handler
第五步:處理器介面卡HandlerAdapter將會根據適配的結果去執行Handler
第六步:Handler執行完成給介面卡返回ModelAndView
第七步:處理器介面卡向前端控制器返回ModelAndView (ModelAndView是springmvc框架的一個底層物件,包括 Model和view)
第八步:前端控制器請求檢視解析器去進行檢視解析 (根據邏輯檢視名解析成真正的檢視(jsp)),通過這種策略很容易更換其他檢視技術,只需要更改檢視解析器即可
第九步:檢視解析器向前端控制器返回View
第十步:前端控制器進行檢視渲染 (檢視渲染將模型資料(在ModelAndView物件中)填充到request域)
第十一步:前端控制器向用戶響應結果
自己的普通話解釋:
首先服務端傳送請求–》前端控制器–》HanderMapping對映處理器–》Handler(執行程式,如Controller中的方法)(會把Handler和一堆攔截器封裝成HandlerExecutionChain )一旦有一個 HandlerMapping 可以找到 Handler 則退出迴圈–》ModelAndView–》前端控制器–》檢視解析器–》前端控制器進行檢視渲染 (檢視渲染將模型資料(在ModelAndView物件中)填充到request域)–》前端控制器向用戶響應結果
還是來個圖吧,幫助大家理解!!
接下來還會有SpringMVC系統學習(二)
敬請期待!不足請大佬指正,感激不盡!!