インターフェース RequestDispatcher
public interface RequestDispatcher
クライアントからリクエストを受信し、サーバー上の任意のリソース(サーブレット、HTML ファイル、JSP ファイルなど)に送信するオブジェクトを定義します。サーブレットコンテナーはRequestDispatcher
オブジェクトを作成します。これは、特定のパスにあるか、特定の名前で指定されたサーバーリソースのラッパーとして使用されます。このインターフェースはサーブレットをラップすることを目的としていますが、サーブレットコンテナーは
RequestDispatcher
オブジェクトを作成して、あらゆる型のリソースをラップできます。
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static StringSE
ERROR_EXCEPTION
エラーディスパッチ中に例外オブジェクトが伝播されるリクエスト属性の名前static StringSE
ERROR_EXCEPTION_TYPE
エラーディスパッチ中に例外オブジェクトの型が伝播されるリクエスト属性の名前static StringSE
ERROR_MESSAGE
エラーディスパッチ中に例外メッセージが伝播されるリクエスト属性の名前static StringSE
ERROR_REQUEST_URI
処理によりエラーが発生したリクエスト URI がエラーディスパッチ中に伝播されるリクエスト属性の名前static StringSE
ERROR_SERVLET_NAME
エラーディスパッチ中にエラーが発生したサーブレットの名前が伝播されるリクエスト属性の名前static StringSE
ERROR_STATUS_CODE
エラーディスパッチ中にレスポンスステータスが伝播されるリクエスト属性の名前static StringSE
FORWARD_CONTEXT_PATH
元のコンテキストパスがforward
のターゲットで使用可能になるリクエスト属性の名前static StringSE
FORWARD_MAPPING
元のHttpServletMapping
がforward
のターゲットで使用可能になるリクエスト属性の名前static StringSE
FORWARD_PATH_INFO
forward
のターゲットが元のパス情報を利用できるようにするリクエスト属性の名前static StringSE
FORWARD_QUERY_STRING
元のクエリ文字列がforward
のターゲットで利用可能になるリクエスト属性の名前static StringSE
FORWARD_REQUEST_URI
元のリクエスト URI がforward
のターゲットで利用可能になるリクエスト属性の名前static StringSE
FORWARD_SERVLET_PATH
元のサーブレットパスがforward
のターゲットで使用可能になるリクエスト属性の名前static StringSE
INCLUDE_CONTEXT_PATH
include
のターゲットのコンテキストパスが格納されるリクエスト属性の名前static StringSE
INCLUDE_MAPPING
include
のターゲットのHttpServletMapping
が保存されるリクエスト属性の名前static StringSE
INCLUDE_PATH_INFO
include
のターゲットのパス情報が保存されるリクエスト属性の名前static StringSE
INCLUDE_QUERY_STRING
include
のターゲットのクエリ文字列が保存されるリクエスト属性の名前static StringSE
INCLUDE_REQUEST_URI
include
のターゲットのリクエスト URI が保存されるリクエスト属性の名前static StringSE
INCLUDE_SERVLET_PATH
include
のターゲットのサーブレットパスが保存されるリクエスト属性の名前
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 void
forward(ServletRequest request, ServletResponse response)
リクエストをサーブレットからサーバー上の別のリソース(サーブレット、JSP ファイル、HTML ファイル)に転送します。void
include(ServletRequest request, ServletResponse response)
レスポンスにリソース(サーブレット、JSP ページ、HTML ファイル)のコンテンツを含めます。
フィールドの詳細
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_MAPPING
static final StringSE FORWARD_MAPPING
元のHttpServletMapping
がforward
のターゲットで使用可能になるリクエスト属性の名前- 導入:
- Servlet 4.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_MAPPING
static final StringSE INCLUDE_MAPPING
include
のターゲットのHttpServletMapping
が保存されるリクエスト属性の名前- 導入:
- Servlet 4.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
- 関連事項:
- 定数フィールド値
メソッドの詳細
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()