首頁  >  文章  >  Java  >  spring mvc的流程是什麼?

spring mvc的流程是什麼?

不言
不言原創
2019-04-10 14:10:073618瀏覽

spring mvc的流程是什麼?

SpringMVC框架是一個基於請求驅動的Web框架,並且使用了'前端控制器'模型來進行設計,再根據'請求映射規則'分發給相應的頁面控制器進行處理。

spring mvc的流程是什麼?

整體流程:

spring mvc的流程是什麼?

1、 首先使用者傳送請求->DispatcherServlet(前端控制器),前端控制器收到請求後自己不進行處理,而是委託給其他的解析器進行處理,作為統一訪問點,進行全局的流程控制;

2、 DispatcherServlet——>HandlerMapping(處理器映射器), HandlerMapping將會把請求映射為HandlerExecutionChain對象(包含一個Handler處理器(頁面控制器)對象、多個HandlerInterceptor攔截器)對象,透過這種策略模式,很容易添加新的映射策略;

#3 , DispatcherServlet——>HandlerAdapter(處理器適配器),HandlerAdapter將會把處理器包裝為適配器,從而支援多種類型的處理器,即適配器設計模式的應用,從而很容易支援很多類型的處理器;

4、 HandlerAdapter——>處理器功能處理方法的調用,HandlerAdapter將會根據適配的結果調用真正的處理器的功能處理方法,完成功能處理;並返回一個ModelAndView物件(包含模型資料、邏輯視圖名稱);

5、 ModelAndView的邏輯視圖名稱—> ViewResolver,ViewResolver將把邏輯視圖名稱解析為具體的View,透過此策略模式,很容易更換其他視圖技術;

6、View——>渲染,View會根據傳進來的Model模型資料進行渲染,此處的Model實際上是一個Map資料結構,因此很容易支援其他視圖技術;

7、返回控制權給DispatcherServlet,由DispatcherServlet回傳回應用戶,到此流程結束。

核心流程:

spring mvc的流程是什麼?

1、發起請求到前端控制器(DispatcherServlet)

2.前端控制器請求HandlerMapping查找Handler (可以根據xml配置、註解進行查找)

#3、處理器映射器HandlerMapping向前端控制器返回Handler,HandlerMapping會把請求映射為HandlerExecutionChain對象(包含一個Handler處理器(頁面控制器)對象,多個HandlerInterceptor攔截器物件),透過這種策略模式,很容易新增新的映射策略

4、前端控制器呼叫處理器適配器去執行Handler

5、處理器適配器HandlerAdapter將會根據適配的結果去執行Handler

6、Handler執行完成給適配器返回ModelAndView

7、處理器適配器向前端控制器回傳ModelAndView (ModelAndView是springmvc框架的底層對象,包括 Model和view)

8、前端控制器請求視圖解析器去進行視圖解析(根據邏輯視圖名稱解析成真正的視圖(jsp) ),透過這種策略很容易更換其他視圖技術,只需要更改視圖解析器即可

9、視圖解析器向前端控制器返回View

10、前端控制器進行視圖渲染(視圖渲染將模型資料(在ModelAndView物件中)填入request域)

11、前端控制器向使用者回應結果

【相關推薦:Java教學

以上是spring mvc的流程是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn