インターフェース WebRequest

すべてのスーパーインターフェース:
RequestAttributes
すべての既知のサブインターフェース:
AsyncWebRequestNativeWebRequest
すべての既知の実装クラス:
DispatcherServletWebRequestFacesWebRequestServletWebRequestStandardServletAsyncWebRequest

public interface WebRequest extends RequestAttributes
Web リクエストの汎用インターフェース。主に一般的な Web リクエストインターセプターを対象としており、実際のリクエストの処理ではなく、一般的なリクエストメタデータへのアクセスを提供します。
導入:
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
    提供された ETag (エンティティタグ)を使用して、アプリケーションによって決定された、リクエストされたリソースが変更されたかどうかを確認します。
    boolean
    checkNotModified(StringSE etag, long lastModifiedTimestamp)
    提供された ETag (エンティティタグ)およびアプリケーションによって決定された最終変更タイムスタンプを指定して、リクエストされたリソースが変更されたかどうかを確認します。
    このリクエストのコンテキストパスを返します(通常、現在の Web アプリケーションがマップされているベースパス)。
    getDescription(boolean includeClientInfo)
    通常、リクエスト URI とセッション ID を含む、このリクエストの簡単な説明を取得します。
    getHeader(StringSE headerName)
    指定された名前のリクエストヘッダーを返します。ない場合は null を返します。
    リクエストヘッダー名に対してイテレータを返します。
    指定されたヘッダー名のリクエストヘッダー値を返します。ない場合は null を返します。
    このリクエストのプライマリロケールを返します。
    指定された名前のリクエストパラメーター、または存在しない場合は null を返します。
    パラメーター名をマップキー、パラメーター値をマップ値として、リクエストパラメーターの不変のマップを返します。
    リクエストパラメーター名に対してイテレータを返します。
    指定されたパラメーター名のリクエストパラメーター値を返します。ない場合は null を返します。
    存在する場合、このリクエストのリモートユーザーを返します。
    このリクエストのユーザープリンシパルがあれば、それを返します。
    boolean
    このリクエストが安全な転送メカニズム(SSL など)を介して送信されたかどうかを返します。
    boolean
    ユーザーがこのリクエストに対して指定されたロールを持っているかどうかを判断します。

    インターフェース org.springframework.web.context.request.RequestAttributes から継承されたメソッド

    getAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttribute
  • メソッドの詳細

    • getHeader

      @Nullable StringSE getHeader(StringSE headerName)
      指定された名前のリクエストヘッダーを返します。ない場合は null を返します。

      複数値ヘッダーの場合、最初のヘッダー値を取得します。

      導入:
      3.0
      関連事項:
    • getHeaderValues

      @Nullable StringSE[] getHeaderValues(StringSE headerName)
      指定されたヘッダー名のリクエストヘッダー値を返します。ない場合は null を返します。

      単一値のヘッダーは、単一の要素を持つ配列として公開されます。

      導入:
      3.0
      関連事項:
    • getHeaderNames

      IteratorSE<StringSE> getHeaderNames()
      リクエストヘッダー名に対してイテレータを返します。
      導入:
      3.0
      関連事項:
    • getParameter

      @Nullable StringSE getParameter(StringSE paramName)
      指定された名前のリクエストパラメーター、または存在しない場合は null を返します。

      複数値パラメーターの場合、最初のパラメーター値を取得します。

      関連事項:
    • getParameterValues

      @Nullable StringSE[] getParameterValues(StringSE paramName)
      指定されたパラメーター名のリクエストパラメーター値を返します。ない場合は null を返します。

      単一値パラメーターは、単一の要素を持つ配列として公開されます。

      関連事項:
    • getParameterNames

      IteratorSE<StringSE> getParameterNames()
      リクエストパラメーター名に対してイテレータを返します。
      導入:
      3.0
      関連事項:
    • getParameterMap

      MapSE<StringSE,StringSE[]> getParameterMap()
      パラメーター名をマップキー、パラメーター値をマップ値として、リクエストパラメーターの不変のマップを返します。マップ値は String 配列型になります。

      単一値パラメーターは、単一の要素を持つ配列として公開されます。

      関連事項:
    • getLocale

      LocaleSE getLocale()
      このリクエストのプライマリロケールを返します。
      関連事項:
    • getContextPath

      StringSE getContextPath()
      このリクエストのコンテキストパスを返します(通常、現在の Web アプリケーションがマップされているベースパス)。
      関連事項:
    • getRemoteUser

      @Nullable StringSE getRemoteUser()
      存在する場合、このリクエストのリモートユーザーを返します。
      関連事項:
    • getUserPrincipal

      @Nullable PrincipalSE getUserPrincipal()
      このリクエストのユーザープリンシパルがあれば、それを返します。
      関連事項:
    • isUserInRole

      boolean isUserInRole(StringSE role)
      ユーザーがこのリクエストに対して指定されたロールを持っているかどうかを判断します。
      関連事項:
    • 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

      boolean checkNotModified(StringSE etag)
      提供された 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

      boolean checkNotModified(@Nullable StringSE etag, long lastModifiedTimestamp)
      提供された 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

      StringSE getDescription(boolean includeClientInfo)
      通常、リクエスト URI とセッション ID を含む、このリクエストの簡単な説明を取得します。
      パラメーター:
      includeClientInfo - セッション ID やユーザー名などのクライアント固有の情報を含めるかどうか
      戻り値:
      文字列としてのリクエストされた説明