インターフェース ServletRequest
- すべての既知のサブインターフェース:
- HttpServletRequest
 - すべての既知の実装クラス:
- HttpServletRequestWrapper,- ServletRequestWrapper
 - public interface ServletRequestクライアントリクエスト情報をサーブレットに提供するオブジェクトを定義します。サーブレットコンテナーは- ServletRequestオブジェクトを作成し、それを引数としてサーブレットの- serviceメソッドに渡します。- ServletRequestオブジェクトは、パラメーター名と値、属性、入力ストリームなどのデータを提供します。- ServletRequestを継承するインターフェースは、追加のプロトコル固有のデータを提供できます(たとえば、HTTP データは- HttpServletRequestによって提供されます)。- 作成者:
- Various
- 関連事項:
- HttpServletRequest
 
- メソッドのサマリー- すべてのメソッド インスタンスメソッド 抽象メソッド - 修飾子と型 - メソッド - 説明 - AsyncContext- getAsyncContext()このリクエストで- startAsync()または- startAsync(ServletRequest,ServletResponse)の最新の呼び出しによって作成または再初期化された AsyncContext を取得します。- ObjectSE- getAttribute(StringSE name)指定された名前の属性が存在しない場合、名前付き属性の値を- Object、- nullとして返します。- EnumerationSE<StringSE>- getAttributeNames()このリクエストで使用可能な属性の名前を含む- Enumerationを返します。- StringSE- getCharacterEncoding()このリクエストの本文で使用される文字エンコーディングの名前を返します。- int- getContentLength()リクエスト本文の長さをバイト単位で返し、入力ストリームで使用可能にします。長さが不明または Integer.MAX_VALUE より大きい場合は -1 を返します。- long- getContentLengthLong()リクエスト本体の長さをバイト単位で返し、入力ストリームで使用可能にします。長さが不明の場合は -1- StringSE- getContentType()リクエストの本文の MIME 型を返します。型が不明な場合は- nullを返します。- DispatcherType- getDispatcherType()このリクエストのディスパッチャー型を取得します。- ServletInputStream- getInputStream()- ServletInputStreamを使用して、リクエストの本文をバイナリデータとして取得します。- StringSE- getLocalAddr()リクエストを受信したインターフェースを表すインターネットプロトコル (IP) アドレスを返します。- LocaleSE- getLocale()Accept-Language ヘッダーに基づいて、クライアントがコンテンツを受け入れる優先- Localeを返します。- EnumerationSE<LocaleSE>- getLocales()- Localeオブジェクトの- Enumerationを返します。優先ロケールで始まる降順で、Accept-Language ヘッダーに基づいてクライアントが受け入れ可能なロケールを示します。- StringSE- getLocalName()- getLocalAddr()によって返されるアドレスの完全修飾名を返します。- int- getLocalPort()リクエストを受信したインターフェースを表すインターネットプロトコル (IP) ポート番号を返します。- StringSE- getParameter(StringSE name)リクエストパラメーターの値を- Stringとして返します。パラメーターが存在しない場合は- nullを返します。- MapSE<StringSE,StringSE[]>- getParameterMap()このリクエストのパラメーターの java.util.Map を返します。- EnumerationSE<StringSE>- getParameterNames()このリクエストに含まれるパラメーターの名前を含む- Stringオブジェクトの- Enumerationを返します。- StringSE[]- getParameterValues(StringSE name)指定されたリクエストパラメーターが持つすべての値を含む- Stringオブジェクトの配列、またはパラメーターが存在しない場合は- nullを返します。- StringSE- getProtocol()リクエストが使用するプロトコルの名前とバージョンを、protocol/majorVersion.minorVersion の形式で返します (例: HTTP/1.1)。- StringSE- getProtocolRequestId()使用中のプロトコルで定義されているように、このリクエストのリクエスト識別子を取得します。- BufferedReaderSE- getReader()- BufferedReaderを使用して、リクエストの本文を文字データとして取得します。- StringSE- getRemoteAddr()リクエストを受信した接続の リモート側のインターネットプロトコル (IP) を返します。- StringSE- getRemoteHost()- getRemoteAddr()によって返されるアドレスの完全修飾名を返します。- int- getRemotePort()リクエストを受信した接続の リモート側のインターネットプロトコル (IP) ソースポートを返します。- RequestDispatcher- getRequestDispatcher(StringSE path)指定されたパスにあるリソースのラッパーとして機能する- RequestDispatcherオブジェクトを返します。- StringSE- getRequestId()このリクエストの一意の (サーブレットコンテナーの有効期間内の) 識別子文字列を取得します。- StringSE- getScheme()このリクエストを行うために使用されたスキームの名前を返します(例:- http、- https、- ftp)。- StringSE- getServerName()リクエストが送信されたサーバーのホスト名を返します。- int- getServerPort()リクエストが送信されたポート番号を返します。- ServletConnection- getServletConnection()このリクエストで使用されているサーブレットコンテナーへのネットワーク接続の詳細を取得します。- ServletContext- getServletContext()この ServletRequest が最後にディスパッチされたサーブレットコンテキストを取得します。- boolean- isAsyncStarted()このリクエストが非同期モードになっているかどうかを確認します。- boolean- isAsyncSupported()このリクエストが非同期操作をサポートしているかどうかを確認します。- boolean- isSecure()このリクエストが HTTPS などの安全なチャネルを使用して行われたかどうかを示すブール値を返します。- void- removeAttribute(StringSE name)このリクエストから属性を削除します。- void- setAttribute(StringSE name, ObjectSE o)このリクエストに属性を保存します。- void- setCharacterEncoding(StringSE env)このリクエストの本文で使用される文字エンコーディングの名前をオーバーライドします。- AsyncContext- startAsync()このリクエストを非同期モードにし、その- AsyncContextを元の(ラップされていない)ServletRequest および ServletResponse オブジェクトで初期化します。- AsyncContext- startAsync(ServletRequest servletRequest, ServletResponse servletResponse)このリクエストを非同期モードにし、指定されたリクエストオブジェクトとレスポンスオブジェクトで- AsyncContextを初期化します。
 
- メソッドの詳細- getAttribute- ObjectSE getAttribute(StringSE name) 指定された名前の属性が存在しない場合、名前付き属性の値を- Object、- nullとして返します。- 属性は 2 つの方法で設定できます。サーブレットコンテナーは、リクエストに関するカスタム情報を利用できるように属性を設定できます。例: HTTPS を使用して行われたリクエストの場合、属性 - jakarta.servlet.request.X509Certificateを使用して、クライアントの証明書に関する情報を取得できます。属性は、- setAttribute(java.lang.String, java.lang.Object)を使用してプログラムで設定することもできます。これにより、- RequestDispatcher呼び出しの前に情報をリクエストに埋め込むことができます。- 属性名は、パッケージ名と同じ規則に従う必要があります。この仕様は、 - java.*、- javax.*、- sun.*に一致する名前を予約します。- パラメーター:
- name- 属性の名前を指定する- String
- 戻り値:
-  属性の値を含む Object、または属性が存在しない場合はnull
 
 - getAttributeNames- EnumerationSE<StringSE> getAttributeNames() このリクエストで使用可能な属性の名前を含む- Enumerationを返します。リクエストに使用可能な属性がない場合、このメソッドは空の- Enumerationを返します。- 戻り値:
-  リクエストの属性の名前を含む文字列の Enumeration
 
 - getCharacterEncoding- StringSE getCharacterEncoding() このリクエストの本文で使用される文字エンコーディングの名前を返します。このメソッドは、文字エンコーディングをエンコードするリクエストが指定されていない場合、- nullを返します。リクエストの文字エンコーディングを指定するために、優先度の降順で、リクエストごと、Web アプリごと(- ServletContext.setRequestCharacterEncoding(java.lang.String)、デプロイ記述子を使用)、コンテナーごと(ベンダー固有の構成を使用して、そのコンテナーにデプロイされたすべての Web アプリケーション)が指定されます。- 戻り値:
-  文字エンコードの名前を含む String、またはリクエストで文字エンコードが指定されていない場合はnull
 
 - setCharacterEncoding- void setCharacterEncoding(StringSE env) throws UnsupportedEncodingExceptionSE このリクエストの本文で使用される文字エンコーディングの名前をオーバーライドします。このメソッドは、リクエストパラメーターの読み取りまたは getReader() を使用した入力の読み取りの前に呼び出す必要があります。それ以外の場合、効果はありません。- パラメーター:
- env- 文字エンコードの名前を含む- String。
- 例外:
- UnsupportedEncodingExceptionSE- この ServletRequest がまだ文字エンコーディングを設定できる状態にあるが、指定されたエンコーディングが無効な場合
 
 - getContentLength- int getContentLength() リクエスト本文の長さをバイト単位で返し、入力ストリームで使用可能にします。長さが不明または Integer.MAX_VALUE より大きい場合は -1 を返します。- 戻り値:
- リクエストボディの長さを含む整数。長さが不明の場合、または Integer.MAX_VALUE より大きい場合は -1。
 
 - getContentLengthLong- long getContentLengthLong() リクエスト本体の長さをバイト単位で返し、入力ストリームで使用可能にします。長さが不明の場合は -1- 戻り値:
- リクエスト本体の長さを含む long、または長さが不明な場合は -1L
- 導入:
- Servlet 3.1
 
 - getContentType- StringSE getContentType() リクエストの本文の MIME 型を返します。型が不明な場合は- nullを返します。- 戻り値:
-  リクエストの MIME 型の名前を含む String、または型が不明の場合は null
 
 - getInputStream- ServletInputStream getInputStream() throws IOExceptionSE - ServletInputStreamを使用して、リクエストの本文をバイナリデータとして取得します。このメソッドまたは- getReader()のいずれかを呼び出して、本体を読み取ることができますが、両方はできません。- 戻り値:
-  リクエストの本文を含む ServletInputStreamオブジェクト
- 例外:
- IllegalStateExceptionSE-- getReader()メソッドがこのリクエストに対してすでに呼び出されている場合
- IOExceptionSE- 入力または出力の例外が発生した場合
 
 - getParameter- StringSE getParameter(StringSE name) リクエストパラメーターの値を- Stringとして返します。パラメーターが存在しない場合は- nullを返します。リクエストパラメーターは、リクエストとともに送信される追加情報です。HTTP サーブレットの場合、パラメーターはクエリ文字列または投稿されたフォームデータに含まれます。- パラメーターに値が 1 つしかないことが確実な場合にのみ、このメソッドを使用してください。パラメーターに複数の値がある場合は、 - getParameterValues(java.lang.String)を使用します。- このメソッドを複数値パラメーターで使用する場合、返される値は - getParameterValuesによって返される配列の最初の値と等しくなります。- HTTP POST リクエストで発生するなど、パラメーターデータがリクエスト本文で送信された場合、 - getInputStream()または- getReader()を介して直接本文を読み取ると、このメソッドの実行が妨げられる可能性があります。- パラメーター:
- name- パラメーターの名前を指定する- String
- 戻り値:
-  パラメーターの単一の値を表す String
- 関連事項:
- getParameterValues(java.lang.String)
 
 - getParameterNames- EnumerationSE<StringSE> getParameterNames() このリクエストに含まれるパラメーターの名前を含む- Stringオブジェクトの- Enumerationを返します。リクエストにパラメーターがない場合、メソッドは空の- Enumerationを返します。- 戻り値:
- Stringオブジェクトの- Enumeration。各- Stringにはリクエストパラメーターの名前が含まれます。またはリクエストにパラメーターがない場合は空の- Enumeration
 
 - getParameterValues- StringSE[] getParameterValues(StringSE name) 指定されたリクエストパラメーターが持つすべての値を含む- Stringオブジェクトの配列、またはパラメーターが存在しない場合は- nullを返します。- パラメーターの値が 1 つの場合、配列の長さは 1 です。 - パラメーター:
- name- 値がリクエストされるパラメーターの名前を含む- String
- 戻り値:
-  パラメーターの値を含む Stringオブジェクトの配列
- 関連事項:
- getParameter(java.lang.String)
 
 - getParameterMap- MapSE<StringSE,StringSE[]> getParameterMap() このリクエストのパラメーターの java.util.Map を返します。- リクエストパラメーターは、リクエストとともに送信される追加情報です。HTTP サーブレットの場合、パラメーターはクエリ文字列または投稿されたフォームデータに含まれます。 - 戻り値:
- パラメーター名をキーとして、パラメーター値をマップ値として含む不変の java.util.Map。パラメーターマップのキーは String 型です。パラメーターマップの値は String 型です。
 
 - getProtocol- StringSE getProtocol() リクエストが使用するプロトコルの名前とバージョンを、protocol/majorVersion.minorVersion の形式で返します (例: HTTP/1.1)。- 戻り値:
-  プロトコル名とバージョン番号を含む String
 
 - getScheme- StringSE getScheme() このリクエストを行うために使用されたスキームの名前を返します(例:- http、- https、- ftp)。RFC 1738 に記載されているように、スキームが異なれば、URL を構築するためのルールも異なります。- 戻り値:
-  このリクエストを行うために使用されるスキームの名前を含む String
 
 - getServerName- StringSE getServerName() リクエストが送信されたサーバーのホスト名を返します。これは、- Hostヘッダー、HTTP/2 オーソリティ、または RFC 7239 などのプロトコル固有のメカニズムから導出される場合があります。それ以外の場合は、解決されたサーバー名またはサーバー IP アドレスです。- 戻り値:
-  サーバーの名前を含む String
 
 - getServerPort- int getServerPort() リクエストが送信されたポート番号を返します。これは、- Hostヘッダー、HTTP オーソリティ、または RFC 7239 などのプロトコル固有のメカニズムから派生する場合があります。それ以外の場合は、クライアント接続が受け入れられたサーバーポートです。- 戻り値:
- ポート番号を指定する整数
 
 - getReader- BufferedReaderSE getReader() throws IOExceptionSE - BufferedReaderを使用して、リクエストの本文を文字データとして取得します。リーダーは、本文で使用される文字エンコーディングに従って文字データを変換します。このメソッドまたは- getInputStream()のいずれかを呼び出して、本体を読み取ることができますが、両方はできません。- 戻り値:
-  リクエストの本文を含む BufferedReader
- 例外:
- UnsupportedEncodingExceptionSE- 使用されている文字セットエンコーディングがサポートされておらず、テキストをデコードできない場合
- IllegalStateExceptionSE- このリクエストで- getInputStream()メソッドが呼び出された場合
- IOExceptionSE- 入力または出力の例外が発生した場合
- 関連事項:
- getInputStream()
 
 - getRemoteAddr- StringSE getRemoteAddr() リクエストを受信した接続の リモート側のインターネットプロトコル (IP) を返します。デフォルトでは、これはリクエストを送信したクライアントまたは最後のプロキシのアドレスです。場合によっては、RFC 7239 などのプロトコル固有のメカニズムを使用して、実際の TCP/IP 接続のアドレスとは異なるアドレスを取得することがあります。- 戻り値:
- IP アドレスを含む String
 
 - getRemoteHost- StringSE getRemoteHost() - getRemoteAddr()によって返されるアドレスの完全修飾名を返します。エンジンが (パフォーマンスを向上させるために) ホスト名を解決できない場合、または解決しないことを選択した場合、このメソッドは IP アドレスを返します。- 戻り値:
-  完全修飾名または IP アドレスを含む String。
 
 - setAttribute- void setAttribute(StringSE name, ObjectSE o) このリクエストに属性を保存します。属性はリクエスト間でリセットされます。この方法は、ほとんどの場合- RequestDispatcherと組み合わせて使用されます。- 属性名は、パッケージ名と同じ規則に従う必要があります。 
 渡されたオブジェクトが null の場合、効果は- removeAttribute(java.lang.String)を呼び出した場合と同じです。
 サーブレットからリクエストが- RequestDispatcherによって別の Web アプリケーションにある場合、このメソッドで設定されたオブジェクトは呼び出し元サーブレットで正しく取得されない可能性があることに注意してください。- パラメーター:
- name- 属性の名前を指定する- String
- o- 格納される- Object
 
 - removeAttribute- void removeAttribute(StringSE name) このリクエストから属性を削除します。属性はリクエストが処理されている間のみ持続するため、このメソッドは通常必要ありません。- 属性名は、パッケージ名と同じ規則に従う必要があります。 - java.*、- javax.*、- com.sun.*で始まる名前は、SunMicrosystems が使用するために予約されています。- パラメーター:
- name- 削除する属性の名前を指定する- String
 
 - getLocale- LocaleSE getLocale() Accept-Language ヘッダーに基づいて、クライアントがコンテンツを受け入れる優先- Localeを返します。クライアントリクエストが Accept-Language ヘッダーを提供しない場合、このメソッドはサーバーのデフォルトロケールを返します。- 戻り値:
-  クライアントの優先 Locale
 
 - getLocales- EnumerationSE<LocaleSE> getLocales() - Localeオブジェクトの- Enumerationを返します。優先ロケールで始まる降順で、Accept-Language ヘッダーに基づいてクライアントが受け入れ可能なロケールを示します。クライアントリクエストが Accept-Language ヘッダーを提供しない場合、このメソッドは、サーバーのデフォルトロケールである- Localeを 1 つ含む- Enumerationを返します。- 戻り値:
-  クライアントの優先 LocaleオブジェクトのEnumeration
 
 - isSecure- boolean isSecure() このリクエストが HTTPS などの安全なチャネルを使用して行われたかどうかを示すブール値を返します。- 戻り値:
- 安全なチャネルを使用してリクエストが行われたかどうかを示すブール値
 
 - getRequestDispatcher- RequestDispatcher getRequestDispatcher(StringSE path) 指定されたパスにあるリソースのラッパーとして機能する- RequestDispatcherオブジェクトを返します。- RequestDispatcherオブジェクトを使用して、リクエストをリソースに転送したり、レスポンスにリソースを含めることができます。リソースは動的でも静的でもかまいません。- 指定されたパス名は相対パスである場合がありますが、現在のサーブレットコンテキストの外側には拡張できません。パスが "/" で始まる場合、現在のコンテキストルートを基準として解釈されます。サーブレットコンテナーが - RequestDispatcherを返すことができない場合、このメソッドは- nullを返します。- RequestDispatcher を使用すると、暗黙的(WEB-INF または META-INF への直接アクセスなし)および明示的(Web アプリケーションで定義された)セキュリティ制約の両方をバイパスして、Web アプリケーションの任意の部分にリクエストをディスパッチできます。サニタイズされていないユーザー提供データは、RequestDispatcher に渡されるパスを構築するために使用しないでください。アプリケーションにセキュリティの脆弱性が生じる可能性が非常に高いためです。 - このメソッドと - ServletContext.getRequestDispatcher(java.lang.String)の違いは、このメソッドが相対パスを使用できることです。- パラメーター:
- path- リソースへのパス名を指定する- String。相対的な場合は、現在のサーブレットに対して相対的でなければなりません。
- 戻り値:
-  指定されたパスのリソースのラッパーとして機能する RequestDispatcherオブジェクト、またはサーブレットコンテナーがRequestDispatcherを返せない場合はnull
- 関連事項:
- RequestDispatcher,- ServletContext.getRequestDispatcher(java.lang.String)
 
 - getRemotePort- int getRemotePort() リクエストを受信した接続の リモート側のインターネットプロトコル (IP) ソースポートを返します。デフォルトでは、これはリクエストを送信したクライアントまたは最後のプロキシのポートです。場合によっては、RFC 7239 などのプロトコル固有のメカニズムを使用して、実際の TCP/IP 接続のポートとは異なるポートを取得することがあります。- 戻り値:
- ポート番号を指定する整数
- 導入:
- Servlet 2.4
 
 - getLocalName- StringSE getLocalName() - getLocalAddr()によって返されるアドレスの完全修飾名を返します。エンジンが (パフォーマンスを向上させるために) ホスト名を解決できない場合、または解決しないことを選択した場合、このメソッドは IP アドレスを返します。- 戻り値:
-  リクエストが受信された IP のホスト名を含む String。
- 導入:
- Servlet 2.4
 
 - getLocalAddr- StringSE getLocalAddr() リクエストを受信したインターフェースを表すインターネットプロトコル (IP) アドレスを返します。場合によっては、RFC 7239 などのプロトコル固有のメカニズムを使用して、実際の TCP/IP 接続のアドレスとは異なるアドレスを取得することがあります。- 戻り値:
- IP アドレスを含む String。
- 導入:
- Servlet 2.4
 
 - getLocalPort- int getLocalPort() リクエストを受信したインターフェースを表すインターネットプロトコル (IP) ポート番号を返します。場合によっては、RFC 7239 などのプロトコル固有のメカニズムを使用して、実際の TCP/IP 接続のアドレスとは異なるアドレスを取得することがあります。- 戻り値:
- ポート番号を指定する整数
- 導入:
- Servlet 2.4
 
 - getServletContext- ServletContext getServletContext() この ServletRequest が最後にディスパッチされたサーブレットコンテキストを取得します。- 戻り値:
- この ServletRequest が最後にディスパッチされたサーブレットコンテキスト
- 導入:
- Servlet 3.0
 
 - startAsync- AsyncContext startAsync() throws IllegalStateExceptionSE このリクエストを非同期モードにし、その- AsyncContextを元の(ラップされていない)ServletRequest および ServletResponse オブジェクトで初期化します。- このメソッドを呼び出すと、返された - AsyncContextで- AsyncContext.complete()が呼び出されるか、非同期操作がタイムアウトするまで、関連するレスポンスのコミットが遅延します。- 返された AsyncContext で - AsyncContext.hasOriginalRequestAndResponse()を呼び出すと、- trueが返されます。このリクエストが非同期モードになった後、 送信方向で呼び出されるフィルターは、 受信呼び出し中に追加したリクエストおよび / またはレスポンスラッパーが非同期操作の期間中に留まる必要がないことを示すものとしてこれを使用できます。関連するリソースのいずれかが解放される場合があります。- このメソッドは、各 AsyncListener をその - onStartAsyncメソッドで呼び出した後、startAsync メソッドの 1 つへの前回の呼び出しによって返された AsyncContext に登録された- AsyncListenerインスタンス (存在する場合) のリストをクリアします。- このメソッドの後続の呼び出し、またはそのオーバーロードされたバリアントは、同じ AsyncContext インスタンスを返し、必要に応じて再初期化されます。 - 戻り値:
- (再)初期化された AsyncContext
- 例外:
- IllegalStateExceptionSE- このリクエストが、非同期操作をサポートしないフィルターまたはサーブレットの範囲内にある場合(つまり、- isAsyncSupported()が false を返す場合)、非同期ディスパッチなしでこのメソッドが再度呼び出される場合(- AsyncContext.dispatch()メソッドのいずれかにより)が呼び出されるそのようなディスパッチのスコープ外、または同じディスパッチのスコープ内で再度呼び出されるか、レスポンスがすでに閉じられている場合
- 導入:
- Servlet 3.0
- 関連事項:
- AsyncContext.dispatch()
 
 - startAsync- AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws IllegalStateExceptionSE このリクエストを非同期モードにし、指定されたリクエストオブジェクトとレスポンスオブジェクトで- AsyncContextを初期化します。- ServletRequest および ServletResponse 引数は、サーブレットの - serviceメソッドまたはフィルターの- doFilterメソッドに渡された同じインスタンス、またはそれらをラップする- ServletRequestWrapperおよび- ServletResponseWrapperのインスタンスである必要があり、それぞれこのメソッドが呼び出されます。- このメソッドを呼び出すと、返された - AsyncContextで- AsyncContext.complete()が呼び出されるか、非同期操作がタイムアウトするまで、関連するレスポンスのコミットが遅延します。- 返された AsyncContext で - AsyncContext.hasOriginalRequestAndResponse()を呼び出すと、渡された ServletRequest および ServletResponse 引数が元の引数であるか、アプリケーション提供のラッパーを持たない限り、- falseを返します。このリクエストが非同期モードになった後、 送信方向で呼び出されるフィルターは、 受信呼び出し中に追加したリクエストおよび / またはレスポンスラッパーの一部が非同期の期間中、その場所に留まる必要があることを示すものとしてこれを使用する場合があります。操作、および関連するリソースは解放されない可能性があります。フィルターの受信呼び出し中に適用された ServletRequestWrapper は、AsyncContext を初期化するために使用され、- AsyncContext.getRequest()の呼び出しによって返される特定の- servletRequestが上記の ServletRequestWrapper を含まない場合にのみ、フィルターの送信呼び出しによって解放されます。同じことが ServletResponseWrapper インスタンスにも当てはまります。- このメソッドは、各 AsyncListener をその - onStartAsyncメソッドで呼び出した後、startAsync メソッドの 1 つへの前回の呼び出しによって返された AsyncContext に登録された- AsyncListenerインスタンス (存在する場合) のリストをクリアします。- このメソッドまたはその引数ゼロのバリアントの後続の呼び出しは、同じ AsyncContext インスタンスを返し、必要に応じて再初期化されます。このメソッドの呼び出しの後に引数なしのバリアントへの呼び出しが続く場合、指定された(ラップされている可能性がある)リクエストおよびレスポンスオブジェクトは、返された AsyncContext でロックされたままになります。 - パラメーター:
- servletRequest- AsyncContext の初期化に使用される ServletRequest
- servletResponse- AsyncContext の初期化に使用される ServletResponse
- 戻り値:
- (再)初期化された AsyncContext
- 例外:
- IllegalStateExceptionSE- このリクエストが、非同期操作をサポートしないフィルターまたはサーブレットの範囲内にある場合(つまり、- isAsyncSupported()が false を返す場合)、非同期ディスパッチなしでこのメソッドが再度呼び出される場合(- AsyncContext.dispatch()メソッドのいずれかにより)が呼び出されるそのようなディスパッチのスコープ外、または同じディスパッチのスコープ内で再度呼び出されるか、レスポンスがすでに閉じられている場合
- 導入:
- Servlet 3.0
 
 - isAsyncStarted- boolean isAsyncStarted() このリクエストが非同期モードになっているかどうかを確認します。- ServletRequest は、 - startAsync()または- startAsync(ServletRequest,ServletResponse)を呼び出すことで非同期モードになります。- このリクエストが非同期モードに設定された後、 - AsyncContext.dispatch()メソッドの 1 つを使用してディスパッチされたか、- AsyncContext.complete()の呼び出しによって非同期モードから解放された場合、このメソッドは false を返します。- startAsync()を呼び出したコンテナー開始ディスパッチがコンテナーに戻る前に- AsyncContext.dispatch()または- AsyncContext.complete()が呼び出された場合、- startAsync()を呼び出したコンテナー開始ディスパッチがコンテナーに戻るまで、このメソッドは- trueを返さなければなりません。- 戻り値:
- このリクエストが非同期モードになっている場合は true、そうでない場合は false
- 導入:
- Servlet 3.0
 
 - isAsyncSupported- boolean isAsyncSupported() このリクエストが非同期操作をサポートしているかどうかを確認します。- このリクエストが、デプロイ記述子で非同期処理をサポートできるとしてアノテーションまたはフラグが付けられていないフィルターまたはサーブレットのスコープ内にある場合、このリクエストの非同期操作は無効になります。 - 戻り値:
- このリクエストが非同期操作をサポートする場合は true、そうでない場合は false
- 導入:
- Servlet 3.0
 
 - getAsyncContext- AsyncContext getAsyncContext() このリクエストで- startAsync()または- startAsync(ServletRequest,ServletResponse)の最新の呼び出しによって作成または再初期化された AsyncContext を取得します。- 戻り値:
-  このリクエストでの startAsync()またはstartAsync(ServletRequest,ServletResponse)の最新の呼び出しによって作成または再初期化された AsyncContext
- 例外:
- IllegalStateExceptionSE- このリクエストが非同期モードになっていない場合、つまり- startAsync()も- startAsync(ServletRequest,ServletResponse)も呼び出されていない場合
- 導入:
- Servlet 3.0
 
 - getDispatcherType- DispatcherType getDispatcherType() このリクエストのディスパッチャー型を取得します。- コンテナーは、リクエストのディスパッチャー型を使用して、リクエストに適用する必要があるフィルターを選択します。一致するディスパッチャー型と URL パターンを持つフィルターのみが適用されます。 - 複数のディスパッチャー型用に設定されたフィルターを使用して、そのディスパッチャー型のリクエストを照会できるようにすることで、フィルターはディスパッチャー型に応じて異なる方法でリクエストを処理できます。 - リクエストの初期ディスパッチャー型は - DispatcherType.REQUESTとして定義されます。- RequestDispatcher.forward(ServletRequest, ServletResponse)または- RequestDispatcher.include(ServletRequest, ServletResponse)を介してディスパッチされたリクエストのディスパッチャー型は、それぞれ- DispatcherType.FORWARDまたは- DispatcherType.INCLUDEとして提供され、- AsyncContext.dispatch()メソッドの 1 つを介してディスパッチされた非同期リクエストのディスパッチャー型は- DispatcherType.ASYNCとして提供されます。最後に、コンテナーのエラー処理メカニズムによってエラーページにディスパッチされたリクエストのディスパッチャー型は、- DispatcherType.ERRORとして指定されます。- 戻り値:
- このリクエストのディスパッチャー型
- 導入:
- Servlet 3.0
- 関連事項:
- DispatcherType
 
 - getRequestId- StringSE getRequestId() このリクエストの一意の (サーブレットコンテナーの有効期間内の) 識別子文字列を取得します。- この文字列には定義された形式はありません。形式は実装に依存します。 - 戻り値:
- リクエストの一意の識別子
- 導入:
- Servlet 6.0
 
 - getProtocolRequestId- StringSE getProtocolRequestId() 使用中のプロトコルで定義されているように、このリクエストのリクエスト識別子を取得します。一部のプロトコルでは、そのような識別子が定義されていないことに注意してください。- プロトコル提供のリクエスト識別子の例には、次のものがあります。 - HTTP 1.x
- なし。空の文字列を返す必要があります
- HTTP 2
- ストリーム識別子
- HTTP 3
- ストリーム識別子
- AJP
- なし。空の文字列を返す必要があります
 - 戻り値:
- 定義されている場合はリクエスト識別子、そうでない場合は空の文字列
- 導入:
- Servlet 6.0
 
 - getServletConnection- ServletConnection getServletConnection() このリクエストで使用されているサーブレットコンテナーへのネットワーク接続の詳細を取得します。生の情報は、サーブレット API の他の場所で適用されるリバースプロキシの使用などの調整なしで提供されるため、提示される情報は、サーブレット API の他の場所で提示される情報とは異なる場合があります。- 戻り値:
- ネットワーク接続の詳細。
- 導入:
- Servlet 6.0