フィルタの概要

フィルタは、サーバに送信される前にリクエストオブジェクトを処理したり、サーバからクライアントに戻される間にレスポンスオブジェクトを処理したりします。また、フィルタは、チェーン内で呼び出すこともできるため、チェーン内のフィルタ間でリクエストやレスポンスをやり取りできます。フィルタを使用すると、次のタスクを実行できます。

フィルタの順番と用途は、Web アプリケーションの設定ファイルで定義されており、Web アプリケーション自体にはコンパイルされません。その結果、アプリケーションを再コンパイルせずに、フィルタを配列し直したり、フィルタの追加や削除を行ったりすることができます。このような Web アプリケーションとの疎結合性により、フィルタは、開発チームの多数のメンバーが行う多様なタスクを行う場合に便利です。

フィルタはしばしば、次のような形態で実装されています。

この章のフィルタサンプルをコンパイルする場合は、クラスパスに <JRun のルートディレクトリ>/lib/jrun.jar ファイルを含める必要があります。次に例を示します。

>javac -classpath .;c:/jrun4/lib/jrun.jar *.java -d c:/jrun4/servers/
default/deploy/default-app/web-inf/classes/

この章のほとんどのサンプルは、Filter インターフェイスのすべてのメソッドをオーバーライドする必要がないように、GenericFilter クラスを拡張します。GenericFilter コードについては、 「汎用フィルタクラスの作成」 を参照してください。

デフォルトの JRun サーバでは、リクエストごとのページの総実行時間を表示するフィルタが含まれています。詳細については、 「実行時間の表示」 を参照してください。