パッケージ jakarta.servlet

クラス ServletRequestWrapper

  • 実装されたすべてのインターフェース:
    ServletRequest
    既知の直属サブクラス
    HttpServletRequestWrapper

    public class ServletRequestWrapper
    extends ObjectSE
    implements ServletRequest
    リクエストをサーブレットに適合させたい開発者がサブクラス化できる ServletRequest インターフェースの便利な実装を提供します。このクラスは、Wrapper または Decorator パターンを実装します。メソッドは、デフォルトでラップされたリクエストオブジェクトへの呼び出しを実行します。
    導入:
    Servlet 2.3
    関連事項:
    ServletRequest
    • コンストラクターのサマリー

      コンストラクター  
      コンストラクター 説明
      ServletRequestWrapper​(ServletRequest request)
      指定されたリクエストオブジェクトをラップする ServletRequest アダプターを作成します。
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   具象メソッド  
      修飾子と型 メソッド 説明
      AsyncContextgetAsyncContext()
      ラップされたリクエストに対する startAsync() または startAsync(ServletRequest,ServletResponse) の最新の呼び出しによって作成または再初期化された AsyncContext を取得します。
      ObjectSEgetAttribute​(StringSE name)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getAttribute(String name) を呼び出すことです。
      EnumerationSE<StringSE>getAttributeNames()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getAttributeNames() が返されます。
      StringSEgetCharacterEncoding()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getCharacterEncoding() が返されます。
      intgetContentLength()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContentLength() が返されます。
      longgetContentLengthLong()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContentLengthLong() が返されます。
      StringSEgetContentType()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContentType() が返されます。
      DispatcherTypegetDispatcherType()
      ラップされたリクエストのディスパッチャー型を取得します。
      ServletInputStreamgetInputStream()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getInputStream() が返されます。
      StringSEgetLocalAddr()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocalAddr() が返されます。
      LocaleSEgetLocale()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocale() が返されます。
      EnumerationSE<LocaleSE>getLocales()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocales() が返されます。
      StringSEgetLocalName()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocalName() が返されます。
      intgetLocalPort()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocalPort() が返されます。
      StringSEgetParameter​(StringSE name)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getParameter(String name) を返すことです。
      MapSE<StringSE,​StringSE[]>getParameterMap()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getParameterMap() が返されます。
      EnumerationSE<StringSE>getParameterNames()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getParameterNames() が返されます。
      StringSE[]getParameterValues​(StringSE name)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getParameterValues(String name) を返すことです。
      StringSEgetProtocol()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getProtocol() が返されます。
      StringSEgetProtocolRequestId()
      ラップされたリクエストのプロトコル定義のリクエスト ID があれば取得します。
      BufferedReaderSEgetReader()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getReader() が返されます。
      StringSEgetRemoteAddr()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemoteAddr() が返されます。
      StringSEgetRemoteHost()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemoteHost() が返されます。
      intgetRemotePort()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemotePort() が返されます。
      ServletRequestgetRequest()
      ラップされたリクエストオブジェクトを返します。
      RequestDispatchergetRequestDispatcher​(StringSE path)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getRequestDispatcher(String path) を返すことです。
      StringSEgetRequestId()
      ラップされたリクエストのリクエスト ID を取得します。
      StringSEgetScheme()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getScheme() が返されます。
      StringSEgetServerName()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServerName() が返されます。
      intgetServerPort()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServerPort() が返されます。
      ServletConnectiongetServletConnection()
      ラップされたリクエストの接続情報を取得します。
      ServletContextgetServletContext()
      ラップされたサーブレットリクエストが最後にディスパッチされたサーブレットコンテキストを取得します。
      booleanisAsyncStarted()
      ラップされたリクエストが非同期モードになっているかどうかを確認します。
      booleanisAsyncSupported()
      ラップされたリクエストが非同期操作をサポートしているかどうかを確認します。
      booleanisSecure()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isSecure() が返されます。
      booleanisWrapperFor​(ServletRequest wrapped)
      この ServletRequestWrapper が指定された ServletRequest インスタンスをラップするかどうかを(再帰的に)チェックします。
      booleanisWrapperFor​(ClassSE<?> wrappedType)
      この ServletRequestWrapper が指定されたクラス型の ServletRequest をラップするかどうかを(再帰的に)チェックします。
      voidremoveAttribute​(StringSE name)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで removeAttribute(String name) を呼び出すことです。
      voidsetAttribute​(StringSE name, ObjectSE o)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに対して setAttribute(String name, Object o) を返すことです。
      voidsetCharacterEncoding​(StringSE enc)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに文字エンコードを設定することです。
      voidsetRequest​(ServletRequest request)
      ラップされるリクエストオブジェクトを設定します。
      AsyncContextstartAsync()
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで ServletRequest.startAsync() を呼び出すことです。
      AsyncContextstartAsync​(ServletRequest servletRequest, ServletResponse servletResponse)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで ServletRequest.startAsync(ServletRequest, ServletResponse) を呼び出すことです。
    • コンストラクターの詳細

      • ServletRequestWrapper

        public ServletRequestWrapper​(ServletRequest request)
        指定されたリクエストオブジェクトをラップする ServletRequest アダプターを作成します。
        パラメーター:
        request - ラップされる ServletRequest
        例外:
        IllegalArgumentExceptionSE - リクエストが null の場合
    • メソッドの詳細

      • getRequest

        public ServletRequest getRequest()
        ラップされたリクエストオブジェクトを返します。
        戻り値:
        ラップされた ServletRequest
      • setRequest

        public void setRequest​(ServletRequest request)
        ラップされるリクエストオブジェクトを設定します。
        パラメーター:
        request - インストールする ServletRequest
        例外:
        IllegalArgumentExceptionSE - リクエストが null の場合。
      • getAttribute

        public ObjectSE getAttribute​(StringSE name)
        このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getAttribute(String name) を呼び出すことです。
        次で指定:
        インターフェース ServletRequestgetAttribute 
        パラメーター:
        name - 属性の名前を指定する String 
        戻り値:
        属性の値を含む Object、または属性が存在しない場合は null 
      • getAttributeNames

        public EnumerationSE<StringSE> getAttributeNames()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getAttributeNames() が返されます。
        次で指定:
        インターフェース ServletRequestgetAttributeNames 
        戻り値:
        リクエストの属性の名前を含む文字列の Enumeration 
      • getCharacterEncoding

        public StringSE getCharacterEncoding()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getCharacterEncoding() が返されます。
        次で指定:
        インターフェース ServletRequestgetCharacterEncoding 
        戻り値:
        文字エンコードの名前を含む String、またはリクエストで文字エンコードが指定されていない場合は null 
      • setCharacterEncoding

        public void setCharacterEncoding​(StringSE enc)
                                  throws UnsupportedEncodingExceptionSE
        このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに文字エンコードを設定することです。
        次で指定:
        インターフェース ServletRequestsetCharacterEncoding 
        パラメーター:
        enc - 文字エンコードの名前を含む String
        例外:
        UnsupportedEncodingExceptionSE - この ServletRequest がまだ文字エンコーディングを設定できる状態にあるが、指定されたエンコーディングが無効な場合
      • getContentLength

        public int getContentLength()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContentLength() が返されます。
        次で指定:
        インターフェース ServletRequestgetContentLength 
        戻り値:
        リクエストボディの長さを含む整数。長さが不明の場合、または Integer.MAX_VALUE より大きい場合は -1。
      • getContentLengthLong

        public long getContentLengthLong()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContentLengthLong() が返されます。
        次で指定:
        インターフェース ServletRequestgetContentLengthLong 
        戻り値:
        リクエスト本体の長さを含む long、または長さが不明な場合は -1L
        導入:
        Servlet 3.1
      • getContentType

        public StringSE getContentType()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContentType() が返されます。
        次で指定:
        インターフェース ServletRequestgetContentType 
        戻り値:
        リクエストの MIME 型の名前を含む String、または型が不明の場合は null
      • getInputStream

        public ServletInputStream getInputStream()
                                          throws IOExceptionSE
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getInputStream() が返されます。
        次で指定:
        インターフェース ServletRequestgetInputStream 
        戻り値:
        リクエストの本文を含む ServletInputStream オブジェクト
        例外:
        IOExceptionSE - 入力または出力の例外が発生した場合
      • getParameter

        public StringSE getParameter​(StringSE name)
        このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getParameter(String name) を返すことです。
        次で指定:
        インターフェース ServletRequestgetParameter 
        パラメーター:
        name - パラメーターの名前を指定する String 
        戻り値:
        パラメーターの単一の値を表す String 
        関連事項:
        ServletRequest.getParameterValues(java.lang.String)
      • getParameterMap

        public MapSE<StringSE,​StringSE[]> getParameterMap()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getParameterMap() が返されます。
        次で指定:
        インターフェース ServletRequestgetParameterMap 
        戻り値:
        パラメーター名をキーとして、パラメーター値をマップ値として含む不変の java.util.Map。パラメーターマップのキーは String 型です。パラメーターマップの値は String 型です。
      • getParameterNames

        public EnumerationSE<StringSE> getParameterNames()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getParameterNames() が返されます。
        次で指定:
        インターフェース ServletRequestgetParameterNames 
        戻り値:
        String オブジェクトの Enumeration。各 String にはリクエストパラメーターの名前が含まれます。またはリクエストにパラメーターがない場合は空の Enumeration 
      • getParameterValues

        public StringSE[] getParameterValues​(StringSE name)
        このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getParameterValues(String name) を返すことです。
        次で指定:
        インターフェース ServletRequestgetParameterValues 
        パラメーター:
        name - 値がリクエストされるパラメーターの名前を含む String 
        戻り値:
        パラメーターの値を含む String オブジェクトの配列
        関連事項:
        ServletRequest.getParameter(java.lang.String)
      • getProtocol

        public StringSE getProtocol()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getProtocol() が返されます。
        次で指定:
        インターフェース ServletRequestgetProtocol 
        戻り値:
        プロトコル名とバージョン番号を含む String 
      • getScheme

        public StringSE getScheme()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getScheme() が返されます。
        次で指定:
        インターフェース ServletRequestgetScheme 
        戻り値:
        このリクエストを行うために使用されるスキームの名前を含む String 
      • getServerName

        public StringSE getServerName()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServerName() が返されます。
        次で指定:
        インターフェース ServletRequestgetServerName 
        戻り値:
        サーバーの名前を含む String 
      • getServerPort

        public int getServerPort()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServerPort() が返されます。
        次で指定:
        インターフェース ServletRequestgetServerPort 
        戻り値:
        ポート番号を指定する整数
      • getReader

        public BufferedReaderSE getReader()
                                 throws IOExceptionSE
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getReader() が返されます。
        次で指定:
        インターフェース ServletRequestgetReader 
        戻り値:
        リクエストの本文を含む BufferedReader 
        例外:
        UnsupportedEncodingExceptionSE - 使用されている文字セットエンコーディングがサポートされておらず、テキストをデコードできない場合
        IOExceptionSE - 入力または出力の例外が発生した場合
        関連事項:
        ServletRequest.getInputStream()
      • getRemoteAddr

        public StringSE getRemoteAddr()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemoteAddr() が返されます。
        次で指定:
        インターフェース ServletRequestgetRemoteAddr 
        戻り値:
        IP アドレスを含む String 
      • getRemoteHost

        public StringSE getRemoteHost()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemoteHost() が返されます。
        次で指定:
        インターフェース ServletRequestgetRemoteHost 
        戻り値:
        完全修飾名または IP アドレスを含む String
      • setAttribute

        public void setAttribute​(StringSE name,
                                 ObjectSE o)
        このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに対して setAttribute(String name, Object o) を返すことです。
        次で指定:
        インターフェース ServletRequestsetAttribute 
        パラメーター:
        name - 属性の名前を指定する String 
        o - 格納される Object 
      • removeAttribute

        public void removeAttribute​(StringSE name)
        このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで removeAttribute(String name) を呼び出すことです。
        次で指定:
        インターフェース ServletRequestremoveAttribute 
        パラメーター:
        name - 削除する属性の名前を指定する String 
      • getLocale

        public LocaleSE getLocale()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocale() が返されます。
        次で指定:
        インターフェース ServletRequestgetLocale 
        戻り値:
        クライアントの優先 Locale 
      • getLocales

        public EnumerationSE<LocaleSE> getLocales()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocales() が返されます。
        次で指定:
        インターフェース ServletRequestgetLocales 
        戻り値:
        クライアントの優先 Locale オブジェクトの Enumeration 
      • isSecure

        public boolean isSecure()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isSecure() が返されます。
        次で指定:
        インターフェース ServletRequestisSecure 
        戻り値:
        安全なチャネルを使用してリクエストが行われたかどうかを示すブール値
      • getRequestDispatcher

        public RequestDispatcher getRequestDispatcher​(StringSE path)
        このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getRequestDispatcher(String path) を返すことです。
        次で指定:
        インターフェース ServletRequestgetRequestDispatcher 
        パラメーター:
        path - リソースへのパス名を指定する String。相対的な場合は、現在のサーブレットに対して相対的でなければなりません。
        戻り値:
        指定されたパスのリソースのラッパーとして機能する RequestDispatcher オブジェクト、またはサーブレットコンテナーが RequestDispatcher を返せない場合は null 
        関連事項:
        RequestDispatcher, ServletContext.getRequestDispatcher(java.lang.String)
      • getRemotePort

        public int getRemotePort()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemotePort() が返されます。
        次で指定:
        インターフェース ServletRequestgetRemotePort 
        戻り値:
        ポート番号を指定する整数
        導入:
        Servlet 2.4
      • getLocalName

        public StringSE getLocalName()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocalName() が返されます。
        次で指定:
        インターフェース ServletRequestgetLocalName 
        戻り値:
        リクエストが受信された IP のホスト名を含む String
        導入:
        Servlet 2.4
      • getLocalAddr

        public StringSE getLocalAddr()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocalAddr() が返されます。
        次で指定:
        インターフェース ServletRequestgetLocalAddr 
        戻り値:
        IP アドレスを含む String
        導入:
        Servlet 2.4
      • getLocalPort

        public int getLocalPort()
        このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocalPort() が返されます。
        次で指定:
        インターフェース ServletRequestgetLocalPort 
        戻り値:
        ポート番号を指定する整数
        導入:
        Servlet 2.4
      • getServletContext

        public ServletContext getServletContext()
        ラップされたサーブレットリクエストが最後にディスパッチされたサーブレットコンテキストを取得します。
        次で指定:
        インターフェース ServletRequestgetServletContext 
        戻り値:
        ラップされたサーブレットリクエストが最後にディスパッチされたサーブレットコンテキスト
        導入:
        Servlet 3.0
      • startAsync

        public AsyncContext startAsync()
                                throws IllegalStateExceptionSE
        このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで ServletRequest.startAsync() を呼び出すことです。
        次で指定:
        インターフェース ServletRequeststartAsync 
        戻り値:
        (再)初期化された AsyncContext
        例外:
        IllegalStateExceptionSE - リクエストが非同期操作をサポートしないフィルターまたはサーブレットのスコープ内にある場合(つまり、isAsyncSupported() が false を返す場合)、非同期ディスパッチなしでこのメソッドが再度呼び出される場合(AsyncContext.dispatch() メソッドのいずれかによる)そのようなディスパッチのスコープ外、または同じディスパッチのスコープ内で再度呼び出されるか、レスポンスがすでに閉じられている場合
        導入:
        Servlet 3.0
        関連事項:
        ServletRequest.startAsync()
      • isAsyncStarted

        public boolean isAsyncStarted()
        ラップされたリクエストが非同期モードになっているかどうかを確認します。
        次で指定:
        インターフェース ServletRequestisAsyncStarted 
        戻り値:
        このリクエストが非同期モードになっている場合は true、そうでない場合は false
        導入:
        Servlet 3.0
        関連事項:
        ServletRequest.isAsyncStarted()
      • isAsyncSupported

        public boolean isAsyncSupported()
        ラップされたリクエストが非同期操作をサポートしているかどうかを確認します。
        次で指定:
        インターフェース ServletRequestisAsyncSupported 
        戻り値:
        このリクエストが非同期操作をサポートする場合は true、そうでない場合は false
        導入:
        Servlet 3.0
        関連事項:
        ServletRequest.isAsyncSupported()
      • isWrapperFor

        public boolean isWrapperFor​(ServletRequest wrapped)
        この ServletRequestWrapper が指定された ServletRequest インスタンスをラップするかどうかを(再帰的に)チェックします。
        パラメーター:
        wrapped - 検索する ServletRequest インスタンス
        戻り値:
        この ServletRequestWrapper が指定された ServletRequest インスタンスをラップする場合は true、そうでない場合は false
        導入:
        Servlet 3.0
      • isWrapperFor

        public boolean isWrapperFor​(ClassSE<?> wrappedType)
        この ServletRequestWrapper が指定されたクラス型の ServletRequest をラップするかどうかを(再帰的に)チェックします。
        パラメーター:
        wrappedType - 検索する ServletRequest クラス型
        戻り値:
        この ServletRequestWrapper が指定されたクラス型の ServletRequest をラップする場合は true、そうでない場合は false
        例外:
        IllegalArgumentExceptionSE - 指定されたクラスが ServletRequest を実装していない場合
        導入:
        Servlet 3.0
      • getRequestId

        public StringSE getRequestId()
        ラップされたリクエストのリクエスト ID を取得します。
        次で指定:
        インターフェース ServletRequestgetRequestId 
        戻り値:
        ラップされたリクエストのリクエスト ID
        導入:
        Servlet 6.0
      • getProtocolRequestId

        public StringSE getProtocolRequestId()
        ラップされたリクエストのプロトコル定義のリクエスト ID があれば取得します。
        次で指定:
        インターフェース ServletRequestgetProtocolRequestId 
        戻り値:
        ラップされたリクエストのプロトコル定義リクエスト ID (存在する場合)
        導入:
        Servlet 6.0
      • getServletConnection

        public ServletConnection getServletConnection()
        ラップされたリクエストの接続情報を取得します。
        次で指定:
        インターフェース ServletRequestgetServletConnection 
        戻り値:
        ラップされたリクエストの接続情報
        導入:
        Servlet 6.0