1. 程式人生 > >分享知識-快樂自己:SpringMVC 底層執行原理解析

分享知識-快樂自己:SpringMVC 底層執行原理解析

底層實現原理圖:

觀看底層程式碼:

1):開啟 web.xml 檔案

 2):按住 Ctrl + 滑鼠左鍵 進入底層檢視原始碼

 

  3):按住 Ctrl+o 找到對應的方法doDispatch

  5):找到下面的程式碼:

根據我們的請求找到需要執行的HandlerControllerctrl+滑鼠左鍵 點進getHandler()  發現這個方法的返回值就是一個處理器執行鏈!

  6):進入getHandler之後找到下面的程式碼:繼續進入這裡的hm.getHandler(request)

--

進入之後,發現這個方法是一個介面(HandlerMapping)中的方法,沒有方法實現,所以繼續點選實現類AbstractHandlerMapping

7):之後發現把獲取到的處理器執行鏈給了我們的核心控制器:回到 DispatcherServlet 類中的 doDispatch 方法中

 

點進去getHandlerAdapter();

  8): 再點進去supports():

  發現supports()再介面中,但是有5個實現類,springmvc預設會執行3個;

但是我們寫的HelloController間接的實現了Controller介面,所以我們只需要在SimpleControllerHandlerAdapter中打斷點即可!

 

 把拿到的HandlerAdapter返回給了核心控制器

9):核心控制器中有了處理器介面卡,接下來就改執行真正的程式碼了:回到 

DispatcherServlet 類中的 doDispatch 方法中

找到以下程式碼:點進去handle

同樣有多個實現類:在上述說到我們現在實現的是 Controller 型別的,所以我們只關注 SimpleControllerHandlerAdapter 就可以了。

 

--

 

--

 

 

--

--------------------------------------------------------------------------------

以上內容若有不足之處:請多多請教

如要轉載請註明小編本站地址:(https://www.cnblogs.com/mlq2017/)