1. 程式人生 > >SpringMVC的執行流程

SpringMVC的執行流程

配置 後端 信息 url servle 處理 我們 包括 就是

一個請求匹配前端控制器 DispatcherServlet 的請求映射路徑(在 web.xml中指定), WEB 容器將該請求轉交給 DispatcherServlet 處理
DispatcherServlet 接收到請求後, 將根據 請求信息 交給 處理器映射器 (HandlerMapping)
HandlerMapping 根據用戶的url請求 查找匹配該url的 Handler,並返回一個執行鏈
DispatcherServlet 再請求 處理器適配器(HandlerAdapter) 調用相應的 Handler 進行處理並返回 ModelAndView 給 DispatcherServlet
DispatcherServlet 將 ModelAndView 請求 ViewReslover(視圖解析器)解析,返回具體 View
DispatcherServlet 對 View 進行渲染視圖(即將模型數據填充至視圖中)
DispatcherServlet 將頁面響應給用戶

組件說明:
DispatcherServlet:前端控制器
用戶請求到達前端控制器,它就相當於mvc模式中的c,dispatcherServlet是整個流程控制的中心,

       由它調用其它組件處理用戶的請求,dispatcherServlet的存在降低了組件之間的耦合性。

HandlerMapping:處理器映射器
   HandlerMapping負責根據用戶請求url找到Handler即處理器,springmvc提供了不同的映射器實現不同的映射方式,

   例如:配置文件方式,實現接口方式,註解方式等。

Handler:處理器
   Handler 是繼DispatcherServlet前端控制器的後端控制器,在DispatcherServlet的控制下Handler對具體的用戶請求進行處理。

    由於Handler涉及到具體的用戶業務請求,所以一般情況需要程序員根據業務需求開發Handler。

HandlAdapter:處理器適配器
  通過HandlerAdapter對處理器進行執行,這是適配器模式的應用,通過擴展適配器可以對更多類型的處理器進行執行。

ViewResolver:視圖解析器
  View Resolver負責將處理結果生成View視圖,View Resolver首先根據邏輯視圖名解析成物理視圖名即具體的頁面地址,

  再生成View視圖對象,最後對View進行渲染將處理結果通過頁面展示給用戶。

View:視圖
  springmvc框架提供了很多的View視圖類型的支持,包括:jstlView、freemarkerView、pdfView等。我們最常用的視圖就是jsp。

  一般情況下需要通過頁面標簽或頁面模版技術將模型數據通過頁面展示給用戶,需要由程序員根據業務需求開發具體的頁面。

SpringMVC的執行流程