パッケージ jakarta.servlet.http

クラス HttpServletRequestWrapper

java.lang.ObjectSE
jakarta.servlet.ServletRequestWrapper
jakarta.servlet.http.HttpServletRequestWrapper
実装されているすべてのインターフェース:
HttpServletRequestServletRequest

public class HttpServletRequestWrapper extends ServletRequestWrapper implements HttpServletRequest
リクエストをサーブレットに適応させたい開発者がサブクラス化できる HttpServletRequest インターフェースの便利な実装を提供します。

このクラスは、Wrapper または Decorator パターンを実装します。メソッドは、デフォルトでラップされたリクエストオブジェクトへの呼び出しを実行します。

導入:
Servlet 2.3
関連事項:
  • コンストラクターの詳細

    • HttpServletRequestWrapper

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

    • getAuthType

      public StringSE getAuthType()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getAuthType() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetAuthType 
      戻り値:
      静的メンバー BASIC_AUTH、FORM_AUTH、CLIENT_CERT_AUTH、DIGEST_AUTH(== 比較に適しています)のいずれか、認証スキームを示すコンテナー固有の文字列、リクエストが認証されなかった場合は null 
    • getCookies

      public Cookie[] getCookies()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getCookies() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetCookies 
      戻り値:
      このリクエストに含まれるすべての Cookies の配列、またはリクエストに Cookie がない場合は null 
    • getDateHeader

      public long getDateHeader(StringSE name)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getDateHeader(String name) を返すことです。
      次で指定:
      インターフェース HttpServletRequestgetDateHeader 
      パラメーター:
      name - ヘッダーの名前を指定する String 
      戻り値:
      1970 年 1 月 1 日 GMT 以降のミリ秒数として表されるヘッダーで指定された日付を表す long 値、または名前付きヘッダーがリクエストに含まれていない場合は -1
    • getHeader

      public StringSE getHeader(StringSE name)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getHeader(String name) を返すことです。
      次で指定:
      インターフェース HttpServletRequestgetHeader 
      パラメーター:
      name - ヘッダー名を指定する String 
      戻り値:
      リクエストされたヘッダーの値を含む String、またはリクエストにその名前のヘッダーがない場合は null 
    • getHeaders

      public EnumerationSE<StringSE> getHeaders(StringSE name)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getHeaders(String name) を返すことです。
      次で指定:
      インターフェース HttpServletRequestgetHeaders 
      パラメーター:
      name - ヘッダー名を指定する String 
      戻り値:
      リクエストされたヘッダーの値を含む Enumeration リクエストにその名前のヘッダーがない場合、空の列挙を返します。コンテナーがヘッダー情報へのアクセスを許可しない場合、null を返します
    • getHeaderNames

      public EnumerationSE<StringSE> getHeaderNames()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getHeaderNames() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetHeaderNames 
      戻り値:
      このリクエストで送信されたすべてのヘッダー名の列挙。リクエストにヘッダーがない場合、空の列挙。サーブレットコンテナーがサーブレットによるこのメソッドの使用を許可しない場合、null
    • getIntHeader

      public int getIntHeader(StringSE name)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getIntHeader(String name) を返すことです。
      次で指定:
      インターフェース HttpServletRequestgetIntHeader 
      パラメーター:
      name - リクエストヘッダーの名前を指定する String 
      戻り値:
      リクエストヘッダーの値を表す整数、またはリクエストにこの名前のヘッダーがない場合は -1
    • getHttpServletMapping

      public HttpServletMapping getHttpServletMapping()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServletMapping() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetHttpServletMapping 
      戻り値:
      現在のリクエストが呼び出された方法を記述する HttpServletMapping のインスタンス。
      導入:
      Servlet 4.0
    • getMethod

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

      public StringSE getPathInfo()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getPathInfo() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetPathInfo 
      戻り値:
      String は、リクエスト URL 内のサーブレットパスの後、クエリ文字列の前にある追加のパス情報を指定します。URL に追加のパス情報がない場合は null。パスは Servlet 6.0, 3.5 に従って正規化されます。このメソッドは、コンテナーがエンコードされた文字を許可するように特別に構成されていない限り、エンコードされた文字を返しません。
    • getPathTranslated

      public StringSE getPathTranslated()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getPathTranslated() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetPathTranslated 
      戻り値:
      実際のパスを指定する String、または URL に追加のパス情報がない場合は null 
    • getContextPath

      public StringSE getContextPath()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContextPath() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetContextPath 
      戻り値:
      リクエストのコンテキストを示すリクエスト URI の部分を指定する String
      関連事項:
    • getQueryString

      public StringSE getQueryString()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getQueryString() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetQueryString 
      戻り値:
      クエリ文字列を含む String または URL にクエリ文字列が含まれていない場合は null 値はコンテナーによってデコードされません。
    • getRemoteUser

      public StringSE getRemoteUser()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemoteUser() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetRemoteUser 
      戻り値:
      このリクエストを行うユーザーのログインを指定する String、またはユーザーのログインが不明な場合は null 
    • isUserInRole

      public boolean isUserInRole(StringSE role)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで isUserInRole(String role)を返すことです。
      次で指定:
      インターフェース HttpServletRequestisUserInRole 
      パラメーター:
      role - ロールの名前を指定する String 
      戻り値:
      このリクエストを行うユーザーが特定のロールに属しているかどうかを示す boolean。ユーザーが認証されていない場合、false 
    • getUserPrincipal

      public PrincipalSE getUserPrincipal()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getUserPrincipal() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetUserPrincipal 
      戻り値:
      このリクエストを行うユーザーの名前を含む java.security.Principal。ユーザーが認証されていない場合、null 
    • getRequestedSessionId

      public StringSE getRequestedSessionId()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRequestedSessionId() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetRequestedSessionId 
      戻り値:
      セッション ID を指定する String、またはリクエストがセッション ID を指定しなかった場合は null 
      関連事項:
    • getRequestURI

      public StringSE getRequestURI()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRequestURI() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetRequestURI 
      戻り値:
      プロトコル名からクエリ文字列までの URL の部分を含む String 
    • getRequestURL

      public StringBufferSE getRequestURL()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRequestURL() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetRequestURL 
      戻り値:
      再構成された URL を含む StringBuffer オブジェクト
    • getServletPath

      public StringSE getServletPath()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServletPath() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetServletPath 
      戻り値:
      リクエスト URL で指定されている、呼び出されるサーブレットのパスを含む String、またはリクエストの処理に使用されるサーブレットが "/*" パターンを使用して一致する場合は空の文字列。パスは Servlet 6.0, 3.5 に従って正規化されます。このメソッドは、コンテナーがエンコードされた文字を許可するように特別に構成されていない限り、エンコードされた文字を返しません。
    • getSession

      public HttpSession getSession(boolean create)
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに対して getSession(boolean create) を返すことです。
      次で指定:
      インターフェース HttpServletRequestgetSession 
      パラメーター:
      create - 必要に応じて、このリクエストの新しいセッションを作成する true。現在のセッションがない場合に null を返す false 
      戻り値:
      このリクエストに関連付けられた HttpSession または create が false でリクエストに有効なセッションがない場合は null 
      関連事項:
    • getSession

      public HttpSession getSession()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getSession() が返されます。
      次で指定:
      インターフェース HttpServletRequestgetSession 
      戻り値:
      このリクエストに関連付けられた HttpSession 
      関連事項:
    • changeSessionId

      public StringSE changeSessionId()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの changeSessionId() が返されます。
      次で指定:
      インターフェース HttpServletRequestchangeSessionId 
      戻り値:
      新しいセッション ID
      導入:
      Servlet 3.1
    • isRequestedSessionIdValid

      public boolean isRequestedSessionIdValid()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isRequestedSessionIdValid() が返されます。
      次で指定:
      インターフェース HttpServletRequestisRequestedSessionIdValid 
      戻り値:
      このリクエストに現在のセッションコンテキスト内の有効なセッションの ID がある場合、true。それ以外の場合は false 
      関連事項:
    • isRequestedSessionIdFromCookie

      public boolean isRequestedSessionIdFromCookie()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isRequestedSessionIdFromCookie() が返されます。
      次で指定:
      インターフェース HttpServletRequestisRequestedSessionIdFromCookie 
      戻り値:
      セッション ID がサーバーに HTTP Cookie で伝達された場合は true。それ以外の場合、false
      関連事項:
    • isRequestedSessionIdFromURL

      public boolean isRequestedSessionIdFromURL()
      このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isRequestedSessionIdFromURL() が返されます。
      次で指定:
      インターフェース HttpServletRequestisRequestedSessionIdFromURL 
      戻り値:
      セッション ID が URL の一部としてサーバーに伝達された場合は true。それ以外の場合、false
      関連事項:
    • authenticate

      public boolean authenticate(HttpServletResponse response) throws IOExceptionSE, ServletException
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで認証を呼び出すことです。
      次で指定:
      インターフェース HttpServletRequestauthenticate 
      パラメーター:
      response - この HttpServletRequest に関連付けられた HttpServletResponse 
      戻り値:
      null 以外の値が getUserPrincipalgetRemoteUsergetAuthType によって返される値として確立された、または確立された場合の true。認証が不完全で、基盤となるログインメカニズムがレスポンスで、ユーザーに返されるメッセージ(チャレンジなど)と HTTP ステータスコードをコミットした場合は、false を返します。
      例外:
      IOExceptionSE - このリクエストからの読み取り中または指定されたレスポンスへの書き込み中に入力または出力エラーが発生した場合
      ServletException - 認証が失敗し、呼び出し元がエラーを処理する責任がある場合 (すなわち、基礎となるログインメカニズムは、ユーザーに返されるメッセージと HTTP ステータスコードを確立しませんでした)
      導入:
      Servlet 3.0
    • login

      public void login(StringSE username, StringSE password) throws ServletException
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトでログインを呼び出すことです。
      次で指定:
      インターフェース HttpServletRequestlogin 
      パラメーター:
      username - ユーザーのログイン ID に対応する String 値。
      password - 識別されたユーザーに対応するパスワード String
      例外:
      ServletException - 構成されたログインメカニズムがユーザー名パスワード認証をサポートしていない場合、または null 以外の呼び出し元 ID がすでに確立されている場合(ログイン呼び出しの前)、または提供されたユーザー名とパスワードの検証が失敗した場合
      導入:
      Servlet 3.0
    • logout

      public void logout() throws ServletException
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトでログインを呼び出すことです。
      次で指定:
      インターフェース HttpServletRequestlogout 
      例外:
      ServletException - ログアウトに失敗した場合
      導入:
      Servlet 3.0
    • getParts

      public CollectionSE<Part> getParts() throws IOExceptionSE, ServletException
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getParts を呼び出すことです。

      返された Collection に対する変更は、この HttpServletRequestWrapper に影響してはなりません。

      次で指定:
      インターフェース HttpServletRequestgetParts 
      戻り値:
      このリクエストの Part コンポーネントの(おそらく空の) Collection 
      例外:
      IOExceptionSE - このリクエストの Part コンポーネントの取得中に I/O エラーが発生した場合
      ServletException - このリクエストが型 multipart/form-data でない場合
      導入:
      Servlet 3.0
      関連事項:
    • getPart

      public Part getPart(StringSE name) throws IOExceptionSE, ServletException
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getPart を呼び出すことです。
      次で指定:
      インターフェース HttpServletRequestgetPart 
      パラメーター:
      name - リクエストされた Part の名前
      戻り値:
      指定された名前の Part、またはリクエスト型が multipart/form-data でも Part が含まれていない場合は null 
      例外:
      IOExceptionSE - リクエストされた Part の取得中に I/O エラーが発生した場合
      ServletException - このリクエストが型 multipart/form-data でない場合
      導入:
      Servlet 3.0
      関連事項:
    • upgrade

      public <T extends HttpUpgradeHandler> T upgrade(ClassSE<T> handlerClass) throws IOExceptionSE, ServletException
      指定されたクラスの HttpUpgradeHandler のインスタンスを作成し、http プロトコルのアップグレード処理に使用します。
      次で指定:
      インターフェース HttpServletRequestupgrade 
      型パラメーター:
      T - handlerClassHttpUpgradeHandler を継承する Class
      パラメーター:
      handlerClass - アップグレードに使用される HttpUpgradeHandler クラス。
      戻り値:
      HttpUpgradeHandler のインスタンス
      例外:
      IOExceptionSE - アップグレード中に I/O エラーが発生した場合
      ServletException - 指定された handlerClass のインスタンス化に失敗した場合
      導入:
      Servlet 3.1
      関連事項:
    • newPushBuilder

      @DeprecatedSE public PushBuilder newPushBuilder()
      使用すべきではありません。
      103 early hints を推奨
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで newPushBuilder を呼び出すことです。
      次で指定:
      インターフェース HttpServletRequestnewPushBuilder 
      戻り値:
      現在のリクエストからサーバープッシュレスポンスを発行する場合は PushBuilder、プッシュがサポートされていない場合は null。実装によってはサーバープッシュをサポートしないことを選択する場合があるため、常に null が返されることに注意してください。
      導入:
      Servlet 4.0
    • getTrailerFields

      public MapSE<StringSE,StringSE> getTrailerFields()
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getTrailerFields を呼び出すことです。
      次で指定:
      インターフェース HttpServletRequestgetTrailerFields 
      戻り値:
      プロトコルレベルでの大文字と小文字に関係なく、すべてのキーが小文字であるトレーラーフィールドのマップ。トレーラーフィールドが存在しないが、HttpServletRequest.isTrailerFieldsReady() が true を返している場合、空のマップが返されます。
      導入:
      Servlet 4.0
    • isTrailerFieldsReady

      public boolean isTrailerFieldsReady()
      このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで isTrailerFieldsReady を呼び出すことです。
      次で指定:
      インターフェース HttpServletRequestisTrailerFieldsReady 
      戻り値:
      トレーラフィールドの読み取り準備ができているかどうかのブール値
      導入:
      Servlet 4.0