SpringMVC 請求處理流程及springMVC的九大組件

在這裏插入圖片描述

  1. 用戶發送請求到DispatcherSevlet
  2. DispatcherSevlet收到請求調用HandlerMapper處理映射器
  3. 處理映射器根據請求的Url找到具體的Handler(Contorler後端控制器),生成處理器對象及處理器掛載器(如果有則生成)一併返回給DispatherServlet
  4. DispatcherSevlet調用HandlerApapter處理器適配器去調用具體的Handler
  5. 處理器適配器(具體)去執行Handler
  6. Handler執行完成後給處理器適配器返回ModelAndView
  7. 處理器適配器-HandlerApapter向DispatcherSevlet返回ModelAndView,ModelAndView是SpringMVC框架的一個底層對像,包括Model和View
  8. DispatcherSevlet請求視圖解析器去進行視圖解析,根據邏輯視圖名解析真正的視圖
  9. 視圖解析器向DispatcherSevlet返回View
    10.DispatcherSevlet進行視圖渲染,就是將模型數據-ModelAndView對象中的數據填充到Request域
  10. 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用於重定向時的參數傳遞,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章