モジュール jdk.httpserver
パッケージ com.sun.net.httpserver

クラスFilter



  • public abstract class Filter
    extends Object
    着信要求の事前処理および事後処理に使用されるフィルタです。 事前処理はアプリケーションの交換ハンドラが呼び出される前に行われ、事後処理は交換ハンドラが返されたあとに行われます。 フィルタはチェーン内で編成され、HttpContextインスタンスと関連付けられます。

    チェーン内の各フィルタは、それぞれ独自のdoFilter()実装内で次のフィルタを呼び出します。 チェーン内の最後のフィルタは、アプリケーション交換ハンドラを呼び出します。

    導入されたバージョン:
    1.6
    • コンストラクタの詳細

      • Filter

        protected Filter​()
    • メソッドの詳細

      • doFilter

        public abstract void doFilter​(HttpExchange exchange,
                                      Filter.Chain chain)
                               throws IOException
        このフィルタに対し、指定された交換の事前処理または事後処理を要求します。 フィルタは次のことができます:
        • 要求ヘッダーを検査または変更する
        • 適切なフィルタ・ストリームを作成し、HttpExchange.setStreams(InputStream,OutputStream)を呼び出すことで、要求本体または応答本体にフィルタを適用する
        • 交換に、ほかのフィルタまたは交換ハンドラがアクセスできる属性Objectsを設定する。
        • いずれかに決定
          1. Filter.Chain.doFilter(HttpExchange)を呼び出すことで、チェーン内の次のフィルタを呼び出す
          2. Filter.Chain.doFilter(HttpExchange)呼び出さないことで、呼出しのチェーンを終了する
        • 上記のオプション1. の場合、doFilter()が返されるとき、チェーン内のすべての後続のフィルタが呼出し済みであり、応答ヘッダーを検査および変更することができる
        • 上記のオプション2. の場合、このフィルタは、HttpExchangeを使用して適切な応答を送り返す必要がある
        パラメータ:
        exchange - フィルタ処理されるHttpExchange
        chain - 次のフィルタで呼出し可能なチェーン。
        例外:
        IOException - どのフィルタ・モジュールでもスローされる可能性があり、キャッチされた場合、再度スローする必要がある。
        NullPointerException - 交換とチェーンのいずれかがnullの場合
      • description

        public abstract String description​()
        このフィルタの短い記述を返します。
        戻り値:
        フィルタを記述した文字列