SpringMVC框架是一個基於請求驅動的Web框架,並且使用了'前端控制器'模型來進行設計,再根據'請求映射規則'分發給相應的頁面控制器進行處理。
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回傳回應用戶,到此流程結束。
核心流程:
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中文網其他相關文章!