首頁 > Java > java教程 > 主體

spring mvc的流程是什麼?

不言
發布: 2019-04-17 14:30:09
原創
3565 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!