文章詳情頁
Spring HandlerInterceptor實現原理代碼解析
瀏覽:4日期:2023-08-04 16:59:51
HandlerInterceptor 在這里看到這個HandlerExecutionChain對interceptor的調用,在這里深入看一下。
HandlerExecutionChain 就是一個類,綁定了Handler( 對應的Controller) 和 Interceptors , 所以作用就是對Controller前后執行interceptors, 類似Filter
幾個問題:
1. interceptor調用位置?
1 2 3 對應調用 handlerInterceptor preHandle, postHandle, afterCompletion
先看第一行的:
進到對應的interceptor實現類,preHandler返回true, 如果返回false, 就會到DispatcherServlet就直接return了。
看第二行沒有特別的:
由于它只重寫了preHandle
所以走到它父類的postHandle了。方法是空的。
第三行和第二行一樣不贅述了。
以上就是執行位置。
所以如果實現HandlerInterceptor , preHandle 應該返回true, 具體要攔截的內容寫在return true之前就行。 postHandle和afterCompletion 都是void方法,直接在里面寫需要攔截的內容。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
標簽:
Spring
相關文章:
排行榜
