SprinMVC 學習小記

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qq_34560242/article/details/80989649

一、學習SpringMVC運行原理之前先學習一下四大組件

  • DispatcherServlet:前端控制器。接收請求,響應結果,相當於轉發器,中央處理器。有了dispatcherServlet減少了其它組件之間的耦合度。用戶請求到達前端控制器,它就相當於mvc模式中的c,dispatcherServlet是整個流程控制的中心,由它調用其它組件處理用戶的請求,dispatcherServlet的存在降低了組件之間的耦合性。
  • HandlerMapping:處理器映射器。根據請求的url查找Handler,HandlerMapping負責根據用戶請求找到Handler即處理器,springmvc提供了不同的映射器實現不同的映射方式,例如:配置文件方式,實現接口方式,註解方式等。
  • HandlerAdapter:處理器適配器。按照特定規則(HandlerAdapter要求的規則)去執行Handler,通過HandlerAdapter對處理器進行執行,這是適配器模式的應用,通過擴展適配器可以對更多類型的處理器進行執行。
  • ViewResolver:視圖解析器。進行視圖解析,根據邏輯視圖名解析成真正的視圖(view),ViewResolver負責將處理結果生成View視圖,ViewResolver首先根據邏輯視圖名解析成物理視圖名即具體的頁面地址,再生成View視圖對象,最後對View進行渲染將處理結果通過頁面展示給用戶。springmvc框架提供了很多的View視圖類型,包括:jstlView、freemarkerView、pdfView等。

二、SpringMVC的運行流程

  • 1、流程圖
    流程圖

  • 2、時序圖
    時序圖

三、流程說明

  • 1、用戶發起請求到前端控制器(DispatcherServlet)。
  • 2、DispatcherServlet收到請求以後會調用處理器映射器(HandlerMapping),HandlerMapping根據XML、註解等查找具體的處理器(Handler),包裝成HandlerExecutionChain對象,其中包含handler、HandlerInterceptor對象等。
  • 3、DispatcherServlet再去調用處理器適配器(HandlerAdapter),HandlerAdapter會根據適配的結果調用真正的處理器的方法。完成處理之後會返回一個ModelAndView(數據模型、邏輯視圖名)給DispatcherServlet。
  • 4、DispatcherServlet再去調用視圖解析器(ViewResolve)根據ModelAndView的邏輯視圖名解析成具體的View。
  • 5、DispatcherServlet根據View進行視圖渲染,就是將Model數據填充到View中。並將其轉爲response響應。
  • 6、DispatcherServlet將請求結果響應給用戶。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章