インターフェース RequestDispatcher
public interface RequestDispatcherクライアントからリクエストを受信し、サーバー上の任意のリソース(サーブレット、HTML ファイル、JSP ファイルなど)に送信するオブジェクトを定義します。サーブレットコンテナーはRequestDispatcherオブジェクトを作成します。これは、特定のパスにあるか、特定の名前で指定されたサーバーリソースのラッパーとして使用されます。このインターフェースはサーブレットをラップすることを目的としていますが、サーブレットコンテナーは
RequestDispatcherオブジェクトを作成して、あらゆる型のリソースをラップできます。
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static StringSEERROR_EXCEPTIONエラーディスパッチ中に例外オブジェクトが伝播されるリクエスト属性の名前static StringSEERROR_EXCEPTION_TYPEエラーディスパッチ中に例外オブジェクトの型が伝播されるリクエスト属性の名前static StringSEERROR_MESSAGEエラーディスパッチ中に例外メッセージが伝播されるリクエスト属性の名前static StringSEERROR_REQUEST_URI処理によりエラーが発生したリクエスト URI がエラーディスパッチ中に伝播されるリクエスト属性の名前static StringSEERROR_SERVLET_NAMEエラーディスパッチ中にエラーが発生したサーブレットの名前が伝播されるリクエスト属性の名前static StringSEERROR_STATUS_CODEエラーディスパッチ中にレスポンスステータスが伝播されるリクエスト属性の名前static StringSEFORWARD_CONTEXT_PATH元のコンテキストパスがforwardのターゲットで使用可能になるリクエスト属性の名前static StringSEFORWARD_MAPPING元のHttpServletMappingがforwardのターゲットで使用可能になるリクエスト属性の名前static StringSEFORWARD_PATH_INFOforwardのターゲットが元のパス情報を利用できるようにするリクエスト属性の名前static StringSEFORWARD_QUERY_STRING元のクエリ文字列がforwardのターゲットで利用可能になるリクエスト属性の名前static StringSEFORWARD_REQUEST_URI元のリクエスト URI がforwardのターゲットで利用可能になるリクエスト属性の名前static StringSEFORWARD_SERVLET_PATH元のサーブレットパスがforwardのターゲットで使用可能になるリクエスト属性の名前static StringSEINCLUDE_CONTEXT_PATHincludeのターゲットのコンテキストパスが格納されるリクエスト属性の名前static StringSEINCLUDE_MAPPINGincludeのターゲットのHttpServletMappingが保存されるリクエスト属性の名前static StringSEINCLUDE_PATH_INFOincludeのターゲットのパス情報が保存されるリクエスト属性の名前static StringSEINCLUDE_QUERY_STRINGincludeのターゲットのクエリ文字列が保存されるリクエスト属性の名前static StringSEINCLUDE_REQUEST_URIincludeのターゲットのリクエスト URI が保存されるリクエスト属性の名前static StringSEINCLUDE_SERVLET_PATHincludeのターゲットのサーブレットパスが保存されるリクエスト属性の名前
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 voidforward(ServletRequest request, ServletResponse response)リクエストをサーブレットからサーバー上の別のリソース(サーブレット、JSP ファイル、HTML ファイル)に転送します。voidinclude(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()