Springmvc的運行流程圖文詳解
一.常見類及其作用
HandlerExecutionChain : Handler執(zhí)行鏈對象, 包含了請求處理器對象 以及所有的攔截器對象.
HandlerMapping : 定義了所有的請求與 所有的請求處理器之間的映射.
HandlerAdaptor: 請求處理器適配器對象, 負責完成請求處理器對象的調(diào)用 、 方法的執(zhí)行等…
二. 運行流程:

瀏覽器端發(fā)送請求到服務器端:
- 1.1 當前的請求在DispatcherServlet中不存在對應的映射
- ① 是否配置mvc:default-servlet-handler/
- 如果沒有配置, 404頁面, 控制臺 no mapping found 警告.
- 如果有配置 , 將請求交給Tomcat 默認的Servlet進行處理,去找對應的資源
- 如果有資源,則將對應的資源返回給瀏覽器端
- 如果沒有資源, 404頁面.
當前的請求在DispatcherServlet中存在對應的映射
- 2.1 通過HandlerMapping(RequestMappingHandlerMapping) 獲取 HandlerExecutionChain 對象
- 2.2 再獲取HandlerAdaptor(RequestMappingaHandlerAdaptor)對象
- 2.3 由HandlerExecutionChain對象執(zhí)行攔截器的preHandle方法
- 2.4 由HandlerAdaptor負責請求處理器 、 請求處理方法的執(zhí)行 ,最終得到ModelAndView對象.
- 2.5 由HandlerExecutionChain對象執(zhí)行攔截器的postHandle方法.
- 2.6 開始由視圖解析器解析ModelAndView對象,得到視圖對象
- 2.7 由當前的視圖對象開始處理模型數(shù)據(jù), 最終完成重定向 、 轉(zhuǎn)發(fā)的工作
- 2.8 由HandlerExecutionChain對象執(zhí)行攔截器的afterCompletion方法.
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
dom4j創(chuàng)建和解析xml文檔的實現(xiàn)方法
下面小編就為大家?guī)硪黄猟om4j創(chuàng)建和解析xml文檔的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
Spring?Boot讀取配置文件內(nèi)容的3種方式(@Value、Environment和@ConfigurationP
工作中經(jīng)常會有一些參數(shù)需要配置,同時在代碼里面需要用到,所有就需要配置類讀取,然后在使用的時候注入該類進行獲取相關(guān)參數(shù),下面這篇文章主要給大家介紹了關(guān)于Spring?Boot讀取配置文件內(nèi)容的3種方式,需要的朋友可以參考下2023-01-01

