- 用戶發送請求到DispatcherSevlet
- DispatcherSevlet收到請求調用HandlerMapper處理映射器
- 處理映射器根據請求的Url找到具體的Handler(Contorler後端控制器),生成處理器對象及處理器掛載器(如果有則生成)一併返回給DispatherServlet
- DispatcherSevlet調用HandlerApapter處理器適配器去調用具體的Handler
- 處理器適配器(具體)去執行Handler
- Handler執行完成後給處理器適配器返回ModelAndView
- 處理器適配器-HandlerApapter向DispatcherSevlet返回ModelAndView,ModelAndView是SpringMVC框架的一個底層對像,包括Model和View
- DispatcherSevlet請求視圖解析器去進行視圖解析,根據邏輯視圖名解析真正的視圖
- 視圖解析器向DispatcherSevlet返回View
10.DispatcherSevlet進行視圖渲染,就是將模型數據-ModelAndView對象中的數據填充到Request域 - DispatcherSevlet向用戶響應結果
springMVC的九大組件
-
HandlerMapping
處理器映射器,URL與Handler之間映射關係
一個方法就是一個Handler
找到對象的處理器和攔截器 -
HandlerAdapter
處理器適配器,把請求交給具體的Handler來進行處理 -
HandlerExceptionResolver
用於處理Handler產生異常情況, -
ViewResolver-視圖解析器
根據邏輯視頻解析到真正的視圖,反回View -
RequestToViewNameTranslator
從請求中獲取ViewName,因爲ViewResolver根據ViewName查找View,但有的Handler處理完之後沒有View,也沒有設置ViewName,便要通過這個組件從請求中查找ViewName -
LocalResolver 本地解析器
ViewResolver組的ResolverViewName方法 需要2個參數,一個視圖名,一個Local,主要用於國際化 -
ThemeResolve-主題解析器,
樣式 圖片顯示效果的集合 -
MultipartResolver 用於上傳請求
通過將普通請求包裝成MultipartHttpServletRequest來實現 -
FlashMapManager
FlashMap用於重定向時的參數傳遞,