パッケージ jakarta.servlet.http
クラス HttpServletRequestWrapper
java.lang.ObjectSE
jakarta.servlet.ServletRequestWrapper
jakarta.servlet.http.HttpServletRequestWrapper
- 実装されているすべてのインターフェース:
HttpServletRequest
,ServletRequest
リクエストをサーブレットに適応させたい開発者がサブクラス化できる HttpServletRequest インターフェースの便利な実装を提供します。
このクラスは、Wrapper または Decorator パターンを実装します。メソッドは、デフォルトでラップされたリクエストオブジェクトへの呼び出しを実行します。
- 導入:
- Servlet 2.3
- 関連事項:
フィールドのサマリー
インターフェース jakarta.servlet.http.HttpServletRequest から継承されたフィールド
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
コンストラクターの概要
コンストラクターコンストラクター説明指定されたリクエストをラップするリクエストオブジェクトを構築します。メソッドのサマリー
修飾子と型メソッド説明boolean
authenticate
(HttpServletResponse response) このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで認証を呼び出すことです。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの changeSessionId() が返されます。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getAuthType() が返されます。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContextPath() が返されます。Cookie[]
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getCookies() が返されます。long
getDateHeader
(StringSE name) このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getDateHeader(String name) を返すことです。このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getHeader(String name) を返すことです。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getHeaderNames() が返されます。getHeaders
(StringSE name) このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getHeaders(String name) を返すことです。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServletMapping() が返されます。int
getIntHeader
(StringSE name) このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getIntHeader(String name) を返すことです。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getMethod() が返されます。このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getPart を呼び出すことです。getParts()
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getParts を呼び出すことです。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getPathInfo() が返されます。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getPathTranslated() が返されます。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getQueryString() が返されます。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemoteUser() が返されます。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRequestedSessionId() が返されます。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRequestURI() が返されます。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRequestURL() が返されます。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServletPath() が返されます。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getSession() が返されます。getSession
(boolean create) このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに対して getSession(boolean create) を返すことです。このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getTrailerFields を呼び出すことです。このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getUserPrincipal() が返されます。boolean
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isRequestedSessionIdFromCookie() が返されます。boolean
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isRequestedSessionIdFromURL() が返されます。boolean
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isRequestedSessionIdValid() が返されます。boolean
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで isTrailerFieldsReady を呼び出すことです。boolean
isUserInRole
(StringSE role) このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで isUserInRole(String role)を返すことです。void
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトでログインを呼び出すことです。void
logout()
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトでログインを呼び出すことです。使用すべきではありません。103 early hints を推奨<T extends HttpUpgradeHandler>
T指定されたクラスのHttpUpgradeHandler
のインスタンスを作成し、http プロトコルのアップグレード処理に使用します。クラス jakarta.servlet.ServletRequestWrapper から継承されたメソッド
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getRequestId, getScheme, getServerName, getServerPort, getServletConnection, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, isWrapperFor, isWrapperFor, removeAttribute, setAttribute, setCharacterEncoding, setCharacterEncoding, setRequest, startAsync, startAsync
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース jakarta.servlet.ServletRequest から継承されたメソッド
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getRequestId, getScheme, getServerName, getServerPort, getServletConnection, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, setCharacterEncoding, startAsync, startAsync
コンストラクターの詳細
HttpServletRequestWrapper
指定されたリクエストをラップするリクエストオブジェクトを構築します。- パラメーター:
request
- ラップされるHttpServletRequest
。- 例外:
IllegalArgumentExceptionSE
- リクエストが null の場合
メソッドの詳細
getAuthType
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getAuthType() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetAuthType
- 戻り値:
- 静的メンバー BASIC_AUTH、FORM_AUTH、CLIENT_CERT_AUTH、DIGEST_AUTH(== 比較に適しています)のいずれか、認証スキームを示すコンテナー固有の文字列、リクエストが認証されなかった場合は
null
getCookies
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getCookies() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetCookies
- 戻り値:
- このリクエストに含まれるすべての
Cookies
の配列、またはリクエストに Cookie がない場合はnull
getDateHeader
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getDateHeader(String name) を返すことです。- 次で指定:
- インターフェース
HttpServletRequest
のgetDateHeader
- パラメーター:
name
- ヘッダーの名前を指定するString
- 戻り値:
- 1970 年 1 月 1 日 GMT 以降のミリ秒数として表されるヘッダーで指定された日付を表す
long
値、または名前付きヘッダーがリクエストに含まれていない場合は -1
getHeader
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getHeader(String name) を返すことです。- 次で指定:
- インターフェース
HttpServletRequest
のgetHeader
- パラメーター:
name
- ヘッダー名を指定するString
- 戻り値:
- リクエストされたヘッダーの値を含む
String
、またはリクエストにその名前のヘッダーがない場合はnull
getHeaders
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getHeaders(String name) を返すことです。- 次で指定:
- インターフェース
HttpServletRequest
のgetHeaders
- パラメーター:
name
- ヘッダー名を指定するString
- 戻り値:
- リクエストされたヘッダーの値を含む
Enumeration
リクエストにその名前のヘッダーがない場合、空の列挙を返します。コンテナーがヘッダー情報へのアクセスを許可しない場合、null を返します
getHeaderNames
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getHeaderNames() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetHeaderNames
- 戻り値:
- このリクエストで送信されたすべてのヘッダー名の列挙。リクエストにヘッダーがない場合、空の列挙。サーブレットコンテナーがサーブレットによるこのメソッドの使用を許可しない場合、
null
getIntHeader
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに getIntHeader(String name) を返すことです。- 次で指定:
- インターフェース
HttpServletRequest
のgetIntHeader
- パラメーター:
name
- リクエストヘッダーの名前を指定するString
- 戻り値:
- リクエストヘッダーの値を表す整数、またはリクエストにこの名前のヘッダーがない場合は -1
getHttpServletMapping
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServletMapping() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetHttpServletMapping
- 戻り値:
- 現在のリクエストが呼び出された方法を記述する
HttpServletMapping
のインスタンス。 - 導入:
- Servlet 4.0
getMethod
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getMethod() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetMethod
- 戻り値:
- このリクエストが行われたメソッドの名前を指定する
String
getPathInfo
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getPathInfo() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetPathInfo
- 戻り値:
String
は、リクエスト URL 内のサーブレットパスの後、クエリ文字列の前にある追加のパス情報を指定します。URL に追加のパス情報がない場合はnull
。パスは Servlet 6.0, 3.5 に従って正規化されます。このメソッドは、コンテナーがエンコードされた文字を許可するように特別に構成されていない限り、エンコードされた文字を返しません。
getPathTranslated
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getPathTranslated() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetPathTranslated
- 戻り値:
- 実際のパスを指定する
String
、または URL に追加のパス情報がない場合はnull
getContextPath
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getContextPath() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetContextPath
- 戻り値:
- リクエストのコンテキストを示すリクエスト URI の部分を指定する
String
。 - 関連事項:
getQueryString
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getQueryString() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetQueryString
- 戻り値:
- クエリ文字列を含む
String
または URL にクエリ文字列が含まれていない場合はnull
値はコンテナーによってデコードされません。
getRemoteUser
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRemoteUser() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetRemoteUser
- 戻り値:
- このリクエストを行うユーザーのログインを指定する
String
、またはユーザーのログインが不明な場合はnull
isUserInRole
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで isUserInRole(String role)を返すことです。- 次で指定:
- インターフェース
HttpServletRequest
のisUserInRole
- パラメーター:
role
- ロールの名前を指定するString
- 戻り値:
- このリクエストを行うユーザーが特定のロールに属しているかどうかを示す
boolean
。ユーザーが認証されていない場合、false
getUserPrincipal
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getUserPrincipal() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetUserPrincipal
- 戻り値:
- このリクエストを行うユーザーの名前を含む
java.security.Principal
。ユーザーが認証されていない場合、null
getRequestedSessionId
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRequestedSessionId() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetRequestedSessionId
- 戻り値:
- セッション ID を指定する
String
、またはリクエストがセッション ID を指定しなかった場合はnull
- 関連事項:
getRequestURI
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRequestURI() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetRequestURI
- 戻り値:
- プロトコル名からクエリ文字列までの URL の部分を含む
String
getRequestURL
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getRequestURL() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetRequestURL
- 戻り値:
- 再構成された URL を含む
StringBuffer
オブジェクト
getServletPath
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getServletPath() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetServletPath
- 戻り値:
- リクエスト URL で指定されている、呼び出されるサーブレットのパスを含む
String
、またはリクエストの処理に使用されるサーブレットが "/*" パターンを使用して一致する場合は空の文字列。パスは Servlet 6.0, 3.5 に従って正規化されます。このメソッドは、コンテナーがエンコードされた文字を許可するように特別に構成されていない限り、エンコードされた文字を返しません。
getSession
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトに対して getSession(boolean create) を返すことです。- 次で指定:
- インターフェース
HttpServletRequest
のgetSession
- パラメーター:
create
- 必要に応じて、このリクエストの新しいセッションを作成するtrue
。現在のセッションがない場合にnull
を返すfalse
- 戻り値:
- このリクエストに関連付けられた
HttpSession
またはcreate
がfalse
でリクエストに有効なセッションがない場合はnull
- 関連事項:
getSession
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの getSession() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のgetSession
- 戻り値:
- このリクエストに関連付けられた
HttpSession
- 関連事項:
changeSessionId
このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの changeSessionId() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のchangeSessionId
- 戻り値:
- 新しいセッション ID
- 導入:
- Servlet 3.1
isRequestedSessionIdValid
public boolean isRequestedSessionIdValid()このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isRequestedSessionIdValid() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のisRequestedSessionIdValid
- 戻り値:
- このリクエストに現在のセッションコンテキスト内の有効なセッションの ID がある場合、
true
。それ以外の場合はfalse
- 関連事項:
isRequestedSessionIdFromCookie
public boolean isRequestedSessionIdFromCookie()このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isRequestedSessionIdFromCookie() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のisRequestedSessionIdFromCookie
- 戻り値:
- セッション ID がサーバーに HTTP Cookie で伝達された場合は
true
。それ以外の場合、false
- 関連事項:
isRequestedSessionIdFromURL
public boolean isRequestedSessionIdFromURL()このメソッドのデフォルトの動作では、ラップされたリクエストオブジェクトの isRequestedSessionIdFromURL() が返されます。- 次で指定:
- インターフェース
HttpServletRequest
のisRequestedSessionIdFromURL
- 戻り値:
- セッション ID が URL の一部としてサーバーに伝達された場合は
true
。それ以外の場合、false
- 関連事項:
authenticate
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで認証を呼び出すことです。- 次で指定:
- インターフェース
HttpServletRequest
のauthenticate
- パラメーター:
response
- このHttpServletRequest
に関連付けられたHttpServletResponse
- 戻り値:
- null 以外の値が
getUserPrincipal
、getRemoteUser
、getAuthType
によって返される値として確立された、または確立された場合のtrue
。認証が不完全で、基盤となるログインメカニズムがレスポンスで、ユーザーに返されるメッセージ(チャレンジなど)と HTTP ステータスコードをコミットした場合は、false
を返します。 - 例外:
IOExceptionSE
- このリクエストからの読み取り中または指定されたレスポンスへの書き込み中に入力または出力エラーが発生した場合ServletException
- 認証が失敗し、呼び出し元がエラーを処理する責任がある場合 (すなわち、基礎となるログインメカニズムは、ユーザーに返されるメッセージと HTTP ステータスコードを確立しませんでした)- 導入:
- Servlet 3.0
login
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトでログインを呼び出すことです。- 次で指定:
- インターフェース
HttpServletRequest
のlogin
- パラメーター:
username
- ユーザーのログイン ID に対応するString
値。password
- 識別されたユーザーに対応するパスワードString
。- 例外:
ServletException
- 構成されたログインメカニズムがユーザー名パスワード認証をサポートしていない場合、または null 以外の呼び出し元 ID がすでに確立されている場合(ログイン呼び出しの前)、または提供されたユーザー名とパスワードの検証が失敗した場合- 導入:
- Servlet 3.0
logout
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトでログインを呼び出すことです。- 次で指定:
- インターフェース
HttpServletRequest
のlogout
- 例外:
ServletException
- ログアウトに失敗した場合- 導入:
- Servlet 3.0
getParts
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getParts を呼び出すことです。返された
Collection
に対する変更は、このHttpServletRequestWrapper
に影響してはなりません。- 次で指定:
- インターフェース
HttpServletRequest
のgetParts
- 戻り値:
- このリクエストの
Part
コンポーネントの(おそらく空の)Collection
- 例外:
IOExceptionSE
- このリクエストのPart
コンポーネントの取得中に I/O エラーが発生した場合ServletException
- このリクエストが型multipart/form-data
でない場合- 導入:
- Servlet 3.0
- 関連事項:
getPart
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getPart を呼び出すことです。- 次で指定:
- インターフェース
HttpServletRequest
のgetPart
- パラメーター:
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 プロトコルのアップグレード処理に使用します。- 次で指定:
- インターフェース
HttpServletRequest
のupgrade
- 型パラメーター:
T
-handlerClass
のHttpUpgradeHandler
を継承するClass
。- パラメーター:
handlerClass
- アップグレードに使用されるHttpUpgradeHandler
クラス。- 戻り値:
HttpUpgradeHandler
のインスタンス- 例外:
IOExceptionSE
- アップグレード中に I/O エラーが発生した場合ServletException
- 指定されたhandlerClass
のインスタンス化に失敗した場合- 導入:
- Servlet 3.1
- 関連事項:
newPushBuilder
使用すべきではありません。103 early hints を推奨このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで newPushBuilder を呼び出すことです。- 次で指定:
- インターフェース
HttpServletRequest
のnewPushBuilder
- 戻り値:
- 現在のリクエストからサーバープッシュレスポンスを発行する場合は
PushBuilder
、プッシュがサポートされていない場合はnull
。実装によってはサーバープッシュをサポートしないことを選択する場合があるため、常にnull
が返されることに注意してください。 - 導入:
- Servlet 4.0
getTrailerFields
このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで getTrailerFields を呼び出すことです。- 次で指定:
- インターフェース
HttpServletRequest
のgetTrailerFields
- 戻り値:
- プロトコルレベルでの大文字と小文字に関係なく、すべてのキーが小文字であるトレーラーフィールドのマップ。トレーラーフィールドが存在しないが、
HttpServletRequest.isTrailerFieldsReady()
が true を返している場合、空のマップが返されます。 - 導入:
- Servlet 4.0
isTrailerFieldsReady
public boolean isTrailerFieldsReady()このメソッドのデフォルトの動作は、ラップされたリクエストオブジェクトで isTrailerFieldsReady を呼び出すことです。- 次で指定:
- インターフェース
HttpServletRequest
のisTrailerFieldsReady
- 戻り値:
- トレーラフィールドの読み取り準備ができているかどうかのブール値
- 導入:
- Servlet 4.0