パッケージ jakarta.servlet

インターフェース ServletRequest

  • すべての既知のサブインターフェース:
    HttpServletRequest
    すべての既知の実装クラス:
    HttpServletRequestWrapperServletRequestWrapper

    public interface ServletRequest
    クライアントリクエスト情報をサーブレットに提供するオブジェクトを定義します。サーブレットコンテナーは ServletRequest オブジェクトを作成し、それを引数としてサーブレットの service メソッドに渡します。

    ServletRequest オブジェクトは、パラメーター名と値、属性、入力ストリームなどのデータを提供します。ServletRequest を継承するインターフェースは、追加のプロトコル固有のデータを提供できます(たとえば、HTTP データは HttpServletRequest によって提供されます)。

    作成者:
    Various
    関連事項:
    HttpServletRequest
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド  
      修飾子と型 メソッド 説明
      AsyncContextgetAsyncContext()
      このリクエストで startAsync() または startAsync(ServletRequest,ServletResponse) の最新の呼び出しによって作成または再初期化された AsyncContext を取得します。
      ObjectSEgetAttribute​(StringSE name)
      指定された名前の属性が存在しない場合、名前付き属性の値を Objectnull として返します。
      EnumerationSE<StringSE>getAttributeNames()
      このリクエストで使用可能な属性の名前を含む Enumeration を返します。
      StringSEgetCharacterEncoding()
      このリクエストの本文で使用される文字エンコーディングの名前を返します。
      intgetContentLength()
      リクエスト本文の長さをバイト単位で返し、入力ストリームで使用可能にします。長さが不明または Integer.MAX_VALUE より大きい場合は -1 を返します。
      longgetContentLengthLong()
      リクエスト本体の長さをバイト単位で返し、入力ストリームで使用可能にします。長さが不明の場合は -1
      StringSEgetContentType()
      リクエストの本文の MIME 型を返します。型が不明な場合は null を返します。
      DispatcherTypegetDispatcherType()
      このリクエストのディスパッチャー型を取得します。
      ServletInputStreamgetInputStream()
      ServletInputStream を使用して、リクエストの本文をバイナリデータとして取得します。
      StringSEgetLocalAddr()
      リクエストを受信したインターフェースを表すインターネットプロトコル (IP) アドレスを返します。
      LocaleSEgetLocale()
      Accept-Language ヘッダーに基づいて、クライアントがコンテンツを受け入れる優先 Locale を返します。
      EnumerationSE<LocaleSE>getLocales()
      Locale オブジェクトの Enumeration を返します。優先ロケールで始まる降順で、Accept-Language ヘッダーに基づいてクライアントが受け入れ可能なロケールを示します。
      StringSEgetLocalName()
      getLocalAddr() によって返されるアドレスの完全修飾名を返します。
      intgetLocalPort()
      リクエストを受信したインターフェースを表すインターネットプロトコル (IP) ポート番号を返します。
      StringSEgetParameter​(StringSE name)
      リクエストパラメーターの値を String として返します。パラメーターが存在しない場合は null を返します。
      MapSE<StringSE,​StringSE[]>getParameterMap()
      このリクエストのパラメーターの java.util.Map を返します。
      EnumerationSE<StringSE>getParameterNames()
      このリクエストに含まれるパラメーターの名前を含む String オブジェクトの Enumeration を返します。
      StringSE[]getParameterValues​(StringSE name)
      指定されたリクエストパラメーターが持つすべての値を含む String オブジェクトの配列、またはパラメーターが存在しない場合は null を返します。
      StringSEgetProtocol()
      リクエストが使用するプロトコルの名前とバージョンを、protocol/majorVersion.minorVersion の形式で返します (例: HTTP/1.1)。
      StringSEgetProtocolRequestId()
      使用中のプロトコルで定義されているように、このリクエストのリクエスト識別子を取得します。
      BufferedReaderSEgetReader()
      BufferedReader を使用して、リクエストの本文を文字データとして取得します。
      StringSEgetRemoteAddr()
      リクエストを受信した接続の リモート側のインターネットプロトコル (IP) を返します。
      StringSEgetRemoteHost()
      getRemoteAddr() によって返されるアドレスの完全修飾名を返します。
      intgetRemotePort()
      リクエストを受信した接続の リモート側のインターネットプロトコル (IP) ソースポートを返します。
      RequestDispatchergetRequestDispatcher​(StringSE path)
      指定されたパスにあるリソースのラッパーとして機能する RequestDispatcher オブジェクトを返します。
      StringSEgetRequestId()
      このリクエストの一意の (サーブレットコンテナーの有効期間内の) 識別子文字列を取得します。
      StringSEgetScheme()
      このリクエストを行うために使用されたスキームの名前を返します(例: httphttpsftp)。
      StringSEgetServerName()
      リクエストが送信されたサーバーのホスト名を返します。
      intgetServerPort()
      リクエストが送信されたポート番号を返します。
      ServletConnectiongetServletConnection()
      このリクエストで使用されているサーブレットコンテナーへのネットワーク接続の詳細を取得します。
      ServletContextgetServletContext()
      この ServletRequest が最後にディスパッチされたサーブレットコンテキストを取得します。
      booleanisAsyncStarted()
      このリクエストが非同期モードになっているかどうかを確認します。
      booleanisAsyncSupported()
      このリクエストが非同期操作をサポートしているかどうかを確認します。
      booleanisSecure()
      このリクエストが HTTPS などの安全なチャネルを使用して行われたかどうかを示すブール値を返します。
      voidremoveAttribute​(StringSE name)
      このリクエストから属性を削除します。
      voidsetAttribute​(StringSE name, ObjectSE o)
      このリクエストに属性を保存します。
      voidsetCharacterEncoding​(StringSE env)
      このリクエストの本文で使用される文字エンコーディングの名前をオーバーライドします。
      AsyncContextstartAsync()
      このリクエストを非同期モードにし、その AsyncContext を元の(ラップされていない)ServletRequest および ServletResponse オブジェクトで初期化します。
      AsyncContextstartAsync​(ServletRequest servletRequest, ServletResponse servletResponse)
      このリクエストを非同期モードにし、指定されたリクエストオブジェクトとレスポンスオブジェクトで AsyncContext を初期化します。
    • メソッドの詳細

      • getAttribute

        ObjectSE getAttribute​(StringSE name)
        指定された名前の属性が存在しない場合、名前付き属性の値を Objectnull として返します。

        属性は 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
      • 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()
        このリクエストを行うために使用されたスキームの名前を返します(例: httphttpsftp)。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 オブジェクトで初期化します。

        このメソッドを呼び出すと、返された AsyncContextAsyncContext.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 のインスタンスである必要があり、それぞれこのメソッドが呼び出されます。

        このメソッドを呼び出すと、返された AsyncContextAsyncContext.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
      • 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