パッケージ jakarta.servlet

クラス ServletRequestWrapper

java.lang.ObjectSE
jakarta.servlet.ServletRequestWrapper
実装されているすべてのインターフェース:
ServletRequest
既知の直属サブクラス
HttpServletRequestWrapper

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

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

    修飾子と型
    メソッド
    説明
    ラップされたリクエストに対する startAsync() または startAsync(ServletRequest,ServletResponse) の最新の呼び出しによって作成または再初期化された AsyncContext を取得します。
    このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getAttribute(String name) を呼び出すことです。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getAttributeNames() が返されます。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getCharacterEncoding() が返されます。
    int
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContentLength() が返されます。
    long
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContentLengthLong() が返されます。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContentType() が返されます。
    ラップされたリクエストのディスパッチャー型を取得します。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getInputStream() が返されます。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocalAddr() が返されます。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocale() が返されます。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocales() が返されます。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocalName() が返されます。
    int
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getLocalPort() が返されます。
    このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getParameter(String name) を返すことです。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getParameterMap() が返されます。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getParameterNames() が返されます。
    このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getParameterValues(String name) を返すことです。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getProtocol() が返されます。
    ラップされたリクエストのプロトコル定義のリクエスト ID があれば取得します。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getReader() が返されます。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemoteAddr() が返されます。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemoteHost() が返されます。
    int
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemotePort() が返されます。
    ラップされたリクエストオブジェクトを返します。
    このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getRequestDispatcher(String path) を返すことです。
    ラップされたリクエストのリクエスト ID を取得します。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getScheme() が返されます。
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServerName() が返されます。
    int
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServerPort() が返されます。
    ラップされたリクエストの接続情報を取得します。
    ラップされたサーブレットリクエストが最後にディスパッチされたサーブレットコンテキストを取得します。
    boolean
    ラップされたリクエストが非同期モードになっているかどうかを確認します。
    boolean
    ラップされたリクエストが非同期操作をサポートしているかどうかを確認します。
    boolean
    このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isSecure() が返されます。
    boolean
    この ServletRequestWrapper が指定された ServletRequest インスタンスをラップするかどうかを(再帰的に)チェックします。
    boolean
    isWrapperFor(ClassSE<?> wrappedType)
    この ServletRequestWrapper が指定されたクラス型の ServletRequest をラップするかどうかを(再帰的に)チェックします。
    void
    このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで removeAttribute(String name) を呼び出すことです。
    void
    このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに対して setAttribute(String name, Object o) を返すことです。
    void
    このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに文字エンコードを設定することです。
    void
    このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに文字エンコードを設定することです。
    void
    ラップされるリクエストオブジェクトを設定します。
    このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで ServletRequest.startAsync() を呼び出すことです。
    startAsync(ServletRequest servletRequest, ServletResponse servletResponse)
    このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで ServletRequest.startAsync(ServletRequest, ServletResponse) を呼び出すことです。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

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

      public void setCharacterEncoding(CharsetSE encoding)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに文字エンコードを設定することです。
      次で指定:
      インターフェース ServletRequestsetCharacterEncoding 
      パラメーター:
      encoding - 文字エンコーディングを表す Charset
      導入:
      Servlet 6.1
    • 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 
      関連事項:
    • 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 オブジェクトの配列
      関連事項:
    • 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 - 入力または出力の例外が発生した場合
      関連事項:
    • 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 
      関連事項:
    • 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
      関連事項:
    • startAsync

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

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

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

      public AsyncContext getAsyncContext()
      ラップされたリクエストに対する startAsync() または startAsync(ServletRequest,ServletResponse) の最新の呼び出しによって作成または再初期化された AsyncContext を取得します。
      次で指定:
      インターフェース ServletRequestgetAsyncContext 
      戻り値:
      ラップされたリクエストに対する startAsync() または startAsync(ServletRequest,ServletResponse) の最新の呼び出しによって作成または再初期化された AsyncContext
      例外:
      IllegalStateExceptionSE - このリクエストが非同期モードになっていない場合、つまり startAsync()startAsync(ServletRequest,ServletResponse) も呼び出されていない場合
      導入:
      Servlet 3.0
      関連事項:
    • 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
    • getDispatcherType

      public DispatcherType getDispatcherType()
      ラップされたリクエストのディスパッチャー型を取得します。
      次で指定:
      インターフェース ServletRequestgetDispatcherType 
      戻り値:
      ラップされたリクエストのディスパッチャー型
      導入:
      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