パッケージ jakarta.servlet

インターフェース RequestDispatcher


  • public interface RequestDispatcher
    クライアントからリクエストを受信し、サーバー上の任意のリソース(サーブレット、HTML ファイル、JSP ファイルなど)に送信するオブジェクトを定義します。サーブレットコンテナーは RequestDispatcher オブジェクトを作成します。これは、特定のパスにあるか、特定の名前で指定されたサーバーリソースのラッパーとして使用されます。

    このインターフェースはサーブレットをラップすることを目的としていますが、サーブレットコンテナーは RequestDispatcher オブジェクトを作成して、あらゆる型のリソースをラップできます。

    作成者:
    Various
    関連事項:
    ServletContext.getRequestDispatcher(java.lang.String), ServletContext.getNamedDispatcher(java.lang.String), ServletRequest.getRequestDispatcher(java.lang.String)
    • フィールドの詳細

      • FORWARD_REQUEST_URI

        static final StringSE FORWARD_REQUEST_URI
        元のリクエスト URI が forward のターゲットで利用可能になるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • FORWARD_CONTEXT_PATH

        static final StringSE FORWARD_CONTEXT_PATH
        元のコンテキストパスが forward のターゲットで使用可能になるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • FORWARD_PATH_INFO

        static final StringSE FORWARD_PATH_INFO
        forward のターゲットが元のパス情報を利用できるようにするリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • FORWARD_SERVLET_PATH

        static final StringSE FORWARD_SERVLET_PATH
        元のサーブレットパスが forward のターゲットで使用可能になるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • FORWARD_QUERY_STRING

        static final StringSE FORWARD_QUERY_STRING
        元のクエリ文字列が forward のターゲットで利用可能になるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • INCLUDE_REQUEST_URI

        static final StringSE INCLUDE_REQUEST_URI
        include のターゲットのリクエスト URI が保存されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • INCLUDE_CONTEXT_PATH

        static final StringSE INCLUDE_CONTEXT_PATH
        include のターゲットのコンテキストパスが格納されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • INCLUDE_PATH_INFO

        static final StringSE INCLUDE_PATH_INFO
        include のターゲットのパス情報が保存されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • INCLUDE_SERVLET_PATH

        static final StringSE INCLUDE_SERVLET_PATH
        include のターゲットのサーブレットパスが保存されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • INCLUDE_QUERY_STRING

        static final StringSE INCLUDE_QUERY_STRING
        include のターゲットのクエリ文字列が保存されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • ERROR_EXCEPTION

        static final StringSE ERROR_EXCEPTION
        エラーディスパッチ中に例外オブジェクトが伝播されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • ERROR_EXCEPTION_TYPE

        static final StringSE ERROR_EXCEPTION_TYPE
        エラーディスパッチ中に例外オブジェクトの型が伝播されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • ERROR_MESSAGE

        static final StringSE ERROR_MESSAGE
        エラーディスパッチ中に例外メッセージが伝播されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • ERROR_REQUEST_URI

        static final StringSE ERROR_REQUEST_URI
        処理によりエラーが発生したリクエスト URI がエラーディスパッチ中に伝播されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • ERROR_SERVLET_NAME

        static final StringSE ERROR_SERVLET_NAME
        エラーディスパッチ中にエラーが発生したサーブレットの名前が伝播されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
      • ERROR_STATUS_CODE

        static final StringSE ERROR_STATUS_CODE
        エラーディスパッチ中にレスポンスステータスが伝播されるリクエスト属性の名前
        導入:
        Servlet 3.0
        関連事項:
        定数フィールド値
    • メソッドの詳細

      • forward

        void forward​(ServletRequest request,
                     ServletResponse response)
              throws ServletException,
                     IOExceptionSE
        リクエストをサーブレットからサーバー上の別のリソース(サーブレット、JSP ファイル、HTML ファイル)に転送します。このメソッドにより、1 つのサーブレットがリクエストの予備処理を行い、別のリソースがレスポンスを生成できます。

        getRequestDispatcher() を介して取得された RequestDispatcher の場合、ServletRequest オブジェクトのパス要素とパラメーターは、ターゲットリソースのパスに一致するように調整されます。

        forward は、レスポンスがクライアントにコミットされる前に(レスポンス本文の出力がフラッシュされる前に)呼び出す必要があります。レスポンスがすでにコミットされている場合、このメソッドは IllegalStateException をスローします。レスポンスバッファー内のコミットされていない出力は、転送の前に自動的にクリアされます。

        リクエストおよびレスポンスパラメーターは、呼び出しサーブレットのサービスメソッドに渡されたものと同じオブジェクトであるか、ラップする ServletRequestWrapper または ServletResponseWrapper クラスのサブクラスである必要があります。

        このメソッドは、指定されたリクエストのディスパッチャー型を DispatcherType.FORWARD に設定します。

        パラメーター:
        request - クライアントがサーブレットに対して行うリクエストを表す ServletRequest オブジェクト
        response - サーブレットがクライアントに返すレスポンスを表す ServletResponse オブジェクト
        例外:
        ServletException - ターゲットリソースがこの例外をスローした場合
        IOExceptionSE - ターゲットリソースがこの例外をスローした場合
        IllegalStateExceptionSE - レスポンスがすでにコミットされている場合
        関連事項:
        ServletRequest.getDispatcherType()
      • include

        void include​(ServletRequest request,
                     ServletResponse response)
              throws ServletException,
                     IOExceptionSE
        レスポンスにリソース(サーブレット、JSP ページ、HTML ファイル)のコンテンツを含めます。本質的に、このメソッドはプログラムによるサーバー側インクルードを可能にします。

        ServletResponse オブジェクトにはパス要素があり、パラメーターは呼び出し元から変更されません。含まれているサーブレットは、レスポンスステータスコードを変更したり、ヘッダーを設定したりできません。変更しようとしても無視されます。

        リクエストおよびレスポンスパラメーターは、呼び出しサーブレットのサービスメソッドに渡されたものと同じオブジェクトであるか、ラップする ServletRequestWrapper または ServletResponseWrapper クラスのサブクラスである必要があります。

        このメソッドは、指定されたリクエストのディスパッチャー型を DispatcherType.INCLUDE に設定します。

        パラメーター:
        request - クライアントのリクエストを含む ServletRequest オブジェクト
        response - サーブレットのレスポンスを含む ServletResponse オブジェクト
        例外:
        ServletException - 含まれるリソースがこの例外をスローする場合
        IOExceptionSE - 含まれるリソースがこの例外をスローする場合
        関連事項:
        ServletRequest.getDispatcherType()