Interceptor インターフェースと AbstractInterceptor 抽象クラス
Struts2フレームワークのインターセプターはリクエストを前処理・後処理するためのコンポーネントだ。それらはInterceptorインタフェースを実装するか、AbstractInterceptor抽象クラスを継承している。
インターセプターの基礎的なメソッドが定義され、それは以下のものを含みます。
- 初期化メソッドで、コンテナがインターセプターをロードするときに呼び出されます。
- destroy:拦截器销毁方法,在容器卸载拦截器时调用。
- リクエストに対する処理を行うインターセプトメソッド。このメソッド内では、リクエストに対する前処理、後処理、通過許可の判定を行う。
Interceptorのインターフェースを実装した抽象クラスで、一部の一般的なメソッドとプロパティを提供します。また、具体的なインターセプトロジックを実装する抽象メソッドdoInterceptを定義する。AbstractInterceptorクラスは以下のメソッドとプロパティを提供します。
- excludeMethods:インターセプター内で除外されるメソッドのリストです。
- 対象プロパティから除外するリストを指定します。インターセプターはこのプロパティを処理しません。
- doIntercept:具体的なインターセプトロジックの実装に使用される抽象メソッド。このメソッドでは、リクエストのプリプロセス、ポストプロセス、およびインターセプトとリリースを実行できます。
カスタマイズインターセプターを作成するには、実際の開発段階で、Interceptorインターセプターを実装するか、AbstractInterceptor抽象クラスを継承することにより行います。インターセプタースタックを構成することで、複数のインターセプターを単一のインターセプターチェーンにまとめることができます。インターセプターチェーン内の各インターセプターの順序は、実行順序を決定します。