您好,登錄后才能下訂單哦!
這篇文章主要介紹spring mvc的流程分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
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、前端控制器向用戶響應結果
以上是spring mvc的流程分析的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。