Interceptor 攔截器請求302
阿新 • • 發佈:2019-01-31
今天在測試其他人寫的許可權的時候,傳送了一個請求,但是請求裡面的路徑變了,錯了
開始訪問/pinyu/houseResource/ 然後進入Interceptor裡面request裡面的請求變了,看下圖
開始百思不得其解為什麼地址莫名其妙就變了,然而其他的路徑正常。於是我把按鈕選單等許可權註釋掉。然後變成了404,沒有找到頁面。突然想起了我沒有寫controller,更沒有這個請求的controller,
本人最好奇的是請求為什麼變成了error
於是想到spring mvc的一些原理,在傳送請求的時候,dispacherServlet會尋找HandlerMapping(處理對映器),並交給它處理,HandlerMapping根據請求找到HandlerAdapter處理介面卡找到相應的controller,然後去看了一部分原始碼,到了這裡問題來了,那是不是可以理解為即使攔截器把請求攔截下來,spring mvc相應的流程依然會往下面走,只不過必須要等preHandle裡面返回true才會相應的執行,那這裡應該就是多執行緒處理的了。然後在流程往下面走的時請求卻沒有找到對應的controller(也就是我沒有寫controller控制器的原因),所以導致了出現了請求302和404的錯,然後request沒有找到相應的請求,也不知道重定向到什麼地方,索性給你加個error?
302 redirect: 302 代表暫時性轉移(Temporarily Moved )。
意思就是你訪問網址A,但是網址A因為伺服器端的攔截器或者其他後端程式碼處理的原因,會被重定向到網址B。
這個也是自己挖的坑,自己補,但還是學到了知識。重在累計
如果以上理解或者有錯誤的地方,歡迎大牛指正啊。十分感謝