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

クラスFilter

java.lang.Object
com.sun.net.httpserver.Filter

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

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

導入されたバージョン:
1.6
  • ネストされたクラスのサマリー

    ネストされたクラス 
    修飾子と型 クラス 説明
    static class  Filter.Chain
    HttpServerに関連付けられたフィルタのチェーンです。
  • コンストラクタのサマリー

    コンストラクタ 
    修飾子 コンストラクタ 説明
    protected Filter()  
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    abstract String description()
    このフィルタの短い記述を返します。
    abstract void doFilter​(HttpExchange exchange, Filter.Chain chain)
    このフィルタに対し、指定された交換の事前処理または事後処理を要求します。

    クラス java.lang.Objectで宣言されたメソッド

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • コンストラクタの詳細

  • メソッドの詳細

    • 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()
      このフィルタの短い記述を返します。
      戻り値:
      フィルタを記述した文字列