インターフェース WebRequest
- すべてのスーパーインターフェース:
RequestAttributes
- すべての既知のサブインターフェース:
AsyncWebRequest
,NativeWebRequest
- すべての既知の実装クラス:
DispatcherServletWebRequest
、FacesWebRequest
、ServletWebRequest
、StandardServletAsyncWebRequest
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller, Brian Clozel
- 関連事項:
フィールドサマリー
インターフェース org.springframework.web.context.request.RequestAttributes から継承されたフィールド
REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_REQUEST, SCOPE_SESSION
方法の概要
修飾子と型メソッド説明boolean
checkNotModified
(long lastModifiedTimestamp) 提供された最終変更タイムスタンプ(アプリケーションによって決定)を使用して、リクエストされたリソースが変更されたかどうかを確認します。boolean
checkNotModified
(StringSE etag) 提供されたETag
(エンティティタグ)を使用して、アプリケーションによって決定された、リクエストされたリソースが変更されたかどうかを確認します。boolean
checkNotModified
(StringSE etag, long lastModifiedTimestamp) 提供されたETag
(エンティティタグ)およびアプリケーションによって決定された最終変更タイムスタンプを指定して、リクエストされたリソースが変更されたかどうかを確認します。このリクエストのコンテキストパスを返します(通常、現在の Web アプリケーションがマップされているベースパス)。getDescription
(boolean includeClientInfo) 通常、リクエスト URI とセッション ID を含む、このリクエストの簡単な説明を取得します。指定された名前のリクエストヘッダーを返します。ない場合はnull
を返します。リクエストヘッダー名に対してイテレータを返します。StringSE[]
getHeaderValues
(StringSE headerName) 指定されたヘッダー名のリクエストヘッダー値を返します。ない場合はnull
を返します。このリクエストのプライマリロケールを返します。getParameter
(StringSE paramName) 指定された名前のリクエストパラメーター、または存在しない場合はnull
を返します。パラメーター名をマップキー、パラメーター値をマップ値として、リクエストパラメーターの不変のマップを返します。リクエストパラメーター名に対してイテレータを返します。StringSE[]
getParameterValues
(StringSE paramName) 指定されたパラメーター名のリクエストパラメーター値を返します。ない場合はnull
を返します。存在する場合、このリクエストのリモートユーザーを返します。このリクエストのユーザープリンシパルがあれば、それを返します。boolean
isSecure()
このリクエストが安全な転送メカニズム(SSL など)を介して送信されたかどうかを返します。boolean
isUserInRole
(StringSE role) ユーザーがこのリクエストに対して指定されたロールを持っているかどうかを判断します。インターフェース org.springframework.web.context.request.RequestAttributes から継承されたメソッド
getAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttribute
メソッドの詳細
getHeader
指定された名前のリクエストヘッダーを返します。ない場合はnull
を返します。複数値ヘッダーの場合、最初のヘッダー値を取得します。
- 導入:
- 3.0
- 関連事項:
getHeaderValues
指定されたヘッダー名のリクエストヘッダー値を返します。ない場合はnull
を返します。単一値のヘッダーは、単一の要素を持つ配列として公開されます。
- 導入:
- 3.0
- 関連事項:
getHeaderNames
IteratorSE<StringSE> getHeaderNames()リクエストヘッダー名に対してイテレータを返します。- 導入:
- 3.0
- 関連事項:
getParameter
指定された名前のリクエストパラメーター、または存在しない場合はnull
を返します。複数値パラメーターの場合、最初のパラメーター値を取得します。
getParameterValues
指定されたパラメーター名のリクエストパラメーター値を返します。ない場合はnull
を返します。単一値パラメーターは、単一の要素を持つ配列として公開されます。
getParameterNames
IteratorSE<StringSE> getParameterNames()リクエストパラメーター名に対してイテレータを返します。- 導入:
- 3.0
- 関連事項:
getParameterMap
パラメーター名をマップキー、パラメーター値をマップ値として、リクエストパラメーターの不変のマップを返します。マップ値は String 配列型になります。単一値パラメーターは、単一の要素を持つ配列として公開されます。
getLocale
LocaleSE getLocale()このリクエストのプライマリロケールを返します。getContextPath
StringSE getContextPath()このリクエストのコンテキストパスを返します(通常、現在の Web アプリケーションがマップされているベースパス)。getRemoteUser
存在する場合、このリクエストのリモートユーザーを返します。getUserPrincipal
このリクエストのユーザープリンシパルがあれば、それを返します。isUserInRole
ユーザーがこのリクエストに対して指定されたロールを持っているかどうかを判断します。isSecure
boolean isSecure()このリクエストが安全な転送メカニズム(SSL など)を介して送信されたかどうかを返します。checkNotModified
boolean checkNotModified(long lastModifiedTimestamp) 提供された最終変更タイムスタンプ(アプリケーションによって決定)を使用して、リクエストされたリソースが変更されたかどうかを確認します。これにより、"Last-Modified" レスポンスヘッダーと HTTP ステータスが透過的に設定されます(該当する場合)。
典型的な使用箇所:
public String myHandleMethod(WebRequest request, Model model) { long lastModified = // application-specific calculation if (request.checkNotModified(lastModified)) { // shortcut exit - no further processing necessary return null; } // further request processing, actually building content model.addAttribute(...); return "myViewName"; }
このメソッドは、条件付きの GET/HEAD リクエストで機能しますが、条件付きの POST/PUT/DELETE リクエストでも機能します。
注意 : この
#checkNotModified(long)
メソッドのいずれかを使用できます。またはcheckNotModified(String)
。HTTP 仕様で推奨されているように、強力なエンティティタグと Last-Modified 値の両方を適用する場合は、checkNotModified(String, long)
を使用する必要があります。"If-Modified-Since" ヘッダーが設定されているが日付値に解析できない場合、このメソッドはヘッダーを無視し、レスポンスの最終変更タイムスタンプの設定に進みます。
- パラメーター:
lastModifiedTimestamp
- アプリケーションが基礎となるリソースに対して決定したミリ秒単位の最終変更タイムスタンプ- 戻り値:
- リクエストが変更されていないものとして適格であるかどうか、リクエスト処理を中止し、コンテンツが変更されていないことをクライアントに伝えるレスポンスに依存するかどうか
checkNotModified
提供されたETag
(エンティティタグ)を使用して、アプリケーションによって決定された、リクエストされたリソースが変更されたかどうかを確認します。これにより、該当する場合は "ETag" レスポンスヘッダーと HTTP ステータスが透過的に設定されます。
典型的な使用箇所:
public String myHandleMethod(WebRequest request, Model model) { String eTag = // application-specific calculation if (request.checkNotModified(eTag)) { // shortcut exit - no further processing necessary return null; } // further request processing, actually building content model.addAttribute(...); return "myViewName"; }
注意 : この
#checkNotModified(String)
メソッドのいずれかを使用できます。またはcheckNotModified(long)
。HTTP 仕様で推奨されているように、強力なエンティティタグと Last-Modified 値の両方を適用する場合は、checkNotModified(String, long)
を使用する必要があります。- パラメーター:
etag
- アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。- 戻り値:
- リクエストがそれ以上の処理を必要としない場合は true。
checkNotModified
提供されたETag
(エンティティタグ)およびアプリケーションによって決定された最終変更タイムスタンプを指定して、リクエストされたリソースが変更されたかどうかを確認します。これにより、"ETag" と "Last-Modified" のレスポンスヘッダー、および該当する場合は HTTP ステータスが透過的に設定されます。
典型的な使用箇所:
public String myHandleMethod(WebRequest request, Model model) { String eTag = // application-specific calculation long lastModified = // application-specific calculation if (request.checkNotModified(eTag, lastModified)) { // shortcut exit - no further processing necessary return null; } // further request processing, actually building content model.addAttribute(...); return "myViewName"; }
このメソッドは、条件付きの GET/HEAD リクエストで機能しますが、条件付きの POST/PUT/DELETE リクエストでも機能します。
注意 : HTTP 仕様では、ETag と Last-Modified の両方の値を設定することが推奨されていますが、
checkNotModified(String)
またはcheckNotModified(long)
を使用することもできます。- パラメーター:
etag
- アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。lastModifiedTimestamp
- アプリケーションが基礎となるリソースに対して決定したミリ秒単位の最終変更タイムスタンプ- 戻り値:
- リクエストがそれ以上の処理を必要としない場合は true。
- 導入:
- 4.2
getDescription
通常、リクエスト URI とセッション ID を含む、このリクエストの簡単な説明を取得します。- パラメーター:
includeClientInfo
- セッション ID やユーザー名などのクライアント固有の情報を含めるかどうか- 戻り値:
- 文字列としてのリクエストされた説明