Spring webmvc 請求處理流程
這是網上找的一張圖片,現在大家也都認爲這個流程是沒有問題的,但是我這幾天跟了一遍源碼,發現這個圖片並不完全,裏邊簡化了很多東西,而且這個圖只是其中一種情況,還有一種情況沒有描述,下邊是我的處理流程
其實大體流程是沒有問題的, 下邊我主要描述區別
1.我添加了filter部分,不過這部分可以說是servelt的,所以大家的圖中沒有畫出來也沒有什麼問題
2.添加了hadlerInterspectors的處理流程,詳細看圖中步驟7,11,14
3.當我們在使用@ResponseBody的時候,或者是直接使用@RestController的時候,在執行handlerMethod執行結束後根本沒有ModelAndView生成,這種情況下服務直接將結果寫回瀏覽器,所以圖中有兩個10,當然在這種情形後續的步驟還是會執行,但是就不會去執行12,13步驟了,其實這個也是最大的區別
其實在這裏體現出來了一個問題,那就是filter 和 handlerInspectors的區別是什麼?
nspectors的區別是什麼?***