public interface WebRequest extends RequestAttributes
WebRequestInterceptor
REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_REQUEST, SCOPE_SESSION
修飾子と型 | メソッドと説明 |
---|---|
boolean | checkNotModified(long lastModifiedTimestamp) 提供された最終変更タイムスタンプ(アプリケーションによって決定)を使用して、リクエストされたリソースが変更されたかどうかを確認します。 |
boolean | checkNotModified(java.lang.String etag) 提供された ETag (エンティティタグ)を使用して、アプリケーションによって決定された、リクエストされたリソースが変更されたかどうかを確認します。 |
boolean | checkNotModified(java.lang.String etag, long lastModifiedTimestamp) 提供された ETag (エンティティタグ)およびアプリケーションによって決定された最終変更タイムスタンプを指定して、リクエストされたリソースが変更されたかどうかを確認します。 |
java.lang.String | getContextPath() このリクエストのコンテキストパスを返します(通常、現在の Web アプリケーションがマップされているベースパス)。 |
java.lang.String | getDescription(boolean includeClientInfo) 通常、リクエスト URI とセッション ID を含む、このリクエストの簡単な説明を取得します。 |
java.lang.String | getHeader(java.lang.String headerName) 指定された名前のリクエストヘッダーを返します。ない場合は null を返します。 |
java.util.Iterator<java.lang.String> | getHeaderNames() リクエストヘッダー名のイテレーターを返します。 |
java.lang.String[] | getHeaderValues(java.lang.String headerName) 指定されたヘッダー名のリクエストヘッダー値を返します。ない場合は null を返します。 |
java.util.Locale | getLocale() このリクエストのプライマリロケールを返します。 |
java.lang.String | getParameter(java.lang.String paramName) 指定された名前のリクエストパラメーター、または存在しない場合は null を返します。 |
java.util.Map<java.lang.String,java.lang.String[]> | getParameterMap() パラメーター名をマップキー、パラメーター値をマップ値として、リクエストパラメーターの不変のマップを返します。 |
java.util.Iterator<java.lang.String> | getParameterNames() リクエストパラメーター名のイテレーターを返します。 |
java.lang.String[] | getParameterValues(java.lang.String paramName) 指定されたパラメーター名のリクエストパラメーター値を返します。ない場合は null を返します。 |
java.lang.String | getRemoteUser() 存在する場合、このリクエストのリモートユーザーを返します。 |
java.security.Principal | getUserPrincipal() このリクエストのユーザープリンシパルがあれば、それを返します。 |
boolean | isSecure() このリクエストが安全な転送メカニズム(SSL など)を介して送信されたかどうかを返します。 |
boolean | isUserInRole(java.lang.String role) ユーザーがこのリクエストに対して指定されたロールを持っているかどうかを判断します。 |
getAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttribute
@Nullable java.lang.String getHeader(java.lang.String headerName)
null
を返します。複数値ヘッダーの場合、最初のヘッダー値を取得します。
HttpServletRequest.getHeader(String)
EE@Nullable java.lang.String[] getHeaderValues(java.lang.String headerName)
null
を返します。単一値のヘッダーは、単一の要素を持つ配列として公開されます。
HttpServletRequest.getHeaders(String)
EEjava.util.Iterator<java.lang.String> getHeaderNames()
HttpServletRequest.getHeaderNames()
EE@Nullable java.lang.String getParameter(java.lang.String paramName)
null
を返します。複数値パラメーターの場合、最初のパラメーター値を取得します。
@Nullable java.lang.String[] getParameterValues(java.lang.String paramName)
null
を返します。単一値パラメーターは、単一の要素を持つ配列として公開されます。
java.util.Iterator<java.lang.String> getParameterNames()
ServletRequest.getParameterNames()
EEjava.util.Map<java.lang.String,java.lang.String[]> getParameterMap()
単一値パラメーターは、単一の要素を持つ配列として公開されます。
java.util.Locale getLocale()
java.lang.String getContextPath()
@Nullable java.lang.String getRemoteUser()
@Nullable java.security.Principal getUserPrincipal()
boolean isUserInRole(java.lang.String role)
boolean isSecure()
boolean checkNotModified(long lastModifiedTimestamp)
これにより、"Last-Modified" レスポンスヘッダーと HTTP ステータスが透過的に設定されます(該当する場合)。
典型的な使用箇所:
public String myHandleMethod(WebRequest webRequest, 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
- アプリケーションが基礎となるリソースに対して決定したミリ秒単位の最終変更タイムスタンプ boolean checkNotModified(java.lang.String etag)
ETag
(エンティティタグ)を使用して、アプリケーションによって決定された、リクエストされたリソースが変更されたかどうかを確認します。これにより、該当する場合は "ETag" レスポンスヘッダーと HTTP ステータスが透過的に設定されます。
典型的な使用箇所:
public String myHandleMethod(WebRequest webRequest, 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
- アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。boolean checkNotModified(@Nullable java.lang.String etag, long lastModifiedTimestamp)
ETag
(エンティティタグ)およびアプリケーションによって決定された最終変更タイムスタンプを指定して、リクエストされたリソースが変更されたかどうかを確認します。これにより、"ETag" と "Last-Modified" のレスポンスヘッダー、および該当する場合は HTTP ステータスが透過的に設定されます。
典型的な使用箇所:
public String myHandleMethod(WebRequest webRequest, 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
- アプリケーションが基礎となるリソースに対して決定したミリ秒単位の最終変更タイムスタンプ java.lang.String getDescription(boolean includeClientInfo)
includeClientInfo
- セッション ID やユーザー名などのクライアント固有の情報を含めるかどうか