您的位置:首頁技術文章
文章詳情頁

Spring HandlerInterceptor實現原理代碼解析

瀏覽:3日期:2023-08-04 16:59:51

HandlerInterceptor 在這里看到這個HandlerExecutionChain對interceptor的調用,在這里深入看一下。

HandlerExecutionChain 就是一個類,綁定了Handler( 對應的Controller) 和 Interceptors , 所以作用就是對Controller前后執行interceptors, 類似Filter

幾個問題:

1. interceptor調用位置?

Spring HandlerInterceptor實現原理代碼解析

1 2 3 對應調用 handlerInterceptor preHandle, postHandle, afterCompletion

先看第一行的:

Spring HandlerInterceptor實現原理代碼解析

進到對應的interceptor實現類,preHandler返回true, 如果返回false, 就會到DispatcherServlet就直接return了。

Spring HandlerInterceptor實現原理代碼解析

看第二行沒有特別的:

Spring HandlerInterceptor實現原理代碼解析

由于它只重寫了preHandle

Spring HandlerInterceptor實現原理代碼解析

所以走到它父類的postHandle了。方法是空的。

Spring HandlerInterceptor實現原理代碼解析

第三行和第二行一樣不贅述了。

以上就是執行位置。

所以如果實現HandlerInterceptor , preHandle 應該返回true, 具體要攔截的內容寫在return true之前就行。 postHandle和afterCompletion 都是void方法,直接在里面寫需要攔截的內容。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
国产综合久久一区二区三区