1. 程式人生 > >SpringMvc架構流程

SpringMvc架構流程

架構流程分析:

    1.使用者傳送請求至前端控制器DispatcherServlet

    2.DispatcherServlet收到請求呼叫HandlerMapping處理器對映器。

    3.處理器對映器根據請求url找到具體的處理器,生成處理器物件及處理器攔截器(如果有則生成)一併返回給DispatcherServlet。

    4.DispatcherServlet通過HandlerAdapter處理器介面卡呼叫處理器

    5.執行處理器(Controller,也叫後端控制器)。

    6.Controller執行完成返回ModelAndView

    7.HandlerAdapter
將controller執行結果ModelAndView返回給DispatcherServlet

    8.DispatcherServlet將ModelAndView傳給ViewReslover檢視解析器

    9.ViewReslover解析後返回具體View

  10.DispatcherServlet對View進行渲染檢視(即將模型資料填充至檢視中)。

  11.DispatcherServlet響應使用者

元件分析:

1.DispatcherServlet:前端控制器

        使用者請求到達前端控制器,它就相當於mvc模式中的c,dispatcherServlet是整個流程控制的中心,由它呼叫其它元件處理使用者的請求,dispatcherServlet的存在降低了元件之間的耦合性。

2.HandlerMapping:處理器對映器

        HandlerMapping負責根據使用者請求找到Handler即處理器,springmvc提供了不同的對映器實現不同的對映方式,例如:配置檔案方式,實現介面方式,註解方式等。

3.Handler:處理器

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

4.HandlAdapter:處理器介面卡

       通過HandlerAdapter對處理器進行執行,這是介面卡模式的應用,通過擴充套件介面卡可以對更多型別的處理器進行執行。

5.View Resolver:檢視解析器

       View Resolver負責將處理結果生成View檢視,View Resolver首先根據邏輯檢視名解析成物理檢視名即具體的頁面地址,再生成View檢視物件,最後對View進行渲染將處理結果通過頁面展示給使用者。 springmvc框架提供了很多的View檢視型別,包括:jstlView、freemarkerView、pdfView等。

                       第一次接觸比較難以記憶和理解,多看一遍就好了。