SpringMVC

# SpringMVC執行流程: #
1.用戶發送請求至前端控制器DispatcherServlet
2.DispatcherServlet收到請求調用處理器映射器HandlerMapping。
3.處理器映射器根據請求url找到具體的處理器,生成處理器執行鏈HandlerExecutionChain(包括處理器對象和處理器攔截器)一併返回給DispatcherServlet。
4.DispatcherServlet根據處理器Handler獲取處理器適配器HandlerAdapter執行HandlerAdapter處理一系列的操做,如:參數封裝,數據格式轉換,數據驗證等操做
5.執行處理器Handler(Controller,也叫頁面控制器)。
6.Handler執行完成返回ModelAndView
7.HandlerAdapter將Handler執行結果ModelAndView返回到DispatcherServlet
8.DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器
9.ViewReslover解析後返回具體View
10.DispatcherServlet對View進行渲染視圖(即將模型數據model填充至視圖中)。
11.DispatcherServlet響應用戶。

**組件說明:**
1.DispatcherServlet:前端控制器。用戶請求到達前端控制器,它就至關於mvc模式中的c,dispatcherServlet是整個流程控制的中心,由它調用其它組件處理用戶的請求,dispatcherServlet的存在下降了組件之間的耦合性,系統擴展性提升。由框架實現
2.HandlerMapping:處理器映射器。HandlerMapping負責根據用戶請求的url找到Handler即處理器,springmvc提供了不一樣的映射器實現不一樣的映射方式,根據必定的規則去查找,例如:xml配置方式,實現接口方式,註解方式等。由框架實現
3.Handler:處理器。Handler 是繼DispatcherServlet前端控制器的後端控制器,在DispatcherServlet的控制下Handler對具體的用戶請求進行處理。因爲Handler涉及到具體的用戶業務請求,因此通常狀況須要程序員根據業務需求開發Handler。
4.HandlAdapter:處理器適配器。經過HandlerAdapter對處理器進行執行,這是適配器模式的應用,經過擴展適配器能夠對更多類型的處理器進行執行。由框架實現。
5.ModelAndView是springmvc的封裝對象,將model和view封裝在一塊兒。
6.ViewResolver:視圖解析器。ViewResolver負責將處理結果生成View視圖,ViewResolver首先根據邏輯視圖名解析成物理視圖名即具體的頁面地址,再生成View視圖對象,最後對View進行渲染將處理結果經過頁面展現給用戶。
7View:是springmvc的封裝對象,是一個接口, springmvc框架提供了不少的View視圖類型,包括:jspview,pdfview,jstlView、freemarkerView、pdfView等。通常狀況下須要經過頁面標籤或頁面模版技術將模型數據經過頁面展現給用戶,須要由程序員根據業務需求開發具體的頁面。

# SpringMVC 經常使用註解都有哪些? #
@requestMapping 用於請求 url 映射。
@RequestBody 註解實現接收 http 請求的 json 數據,將 json 數據轉換爲 java 對象。
@ResponseBody 註解實現將 controller 方法返回對象轉化爲 json 響應給客戶。前端

相關文章
相關標籤/搜索