Struts2框架中的攔截器是用于對請求進行預處理和后處理的組件。它們實現了Interceptor接口或繼承自AbstractInterceptor抽象類。
Interceptor接口定義了攔截器的基本方法,包括:
init:攔截器初始化方法,在容器加載攔截器時調用。
destroy:攔截器銷毀方法,在容器卸載攔截器時調用。
intercept:攔截方法,用于對請求進行處理。在該方法中,可以進行預處理、后處理以及對請求的攔截和放行操作。
AbstractInterceptor抽象類是Interceptor接口的實現類,提供了一些通用的方法和屬性。它還定義了一個抽象方法doIntercept,用于實現具體的攔截邏輯。AbstractInterceptor類提供了以下方法和屬性:
excludeMethods:排除攔截的方法列表,這些方法在攔截器中不會被執行。
excludeProperties:排除攔截的屬性列表,這些屬性在攔截器中不會被處理。
doIntercept:抽象方法,用于實現具體的攔截邏輯。在該方法中,可以進行預處理、后處理以及對請求的攔截和放行操作。
在實際開發中,我們可以通過實現Interceptor接口或繼承AbstractInterceptor抽象類來創建自定義的攔截器。通過配置攔截器棧,可以將多個攔截器組合在一起,形成一個攔截器鏈。每個攔截器在攔截器鏈中的順序決定了它們執行的順序。