クラス ServletWebRequest

実装されたすべてのインターフェース:
NativeWebRequestRequestAttributesWebRequest
既知の直属サブクラス
DispatcherServletWebRequestStandardServletAsyncWebRequest

public class ServletWebRequest extends ServletRequestAttributes implements NativeWebRequest
HttpServletRequestEE 用の WebRequest アダプター。
導入:
2.0
作成者:
Juergen Hoeller, Brian Clozel, Markus Malkusch
  • コンストラクターの詳細

    • ServletWebRequest

      public ServletWebRequest(HttpServletRequestEE request)
      指定されたリクエストの新しい ServletWebRequest インスタンスを作成します。
      パラメーター:
      request - 現在の HTTP リクエスト
    • ServletWebRequest

      public ServletWebRequest(HttpServletRequestEE request, @Nullable HttpServletResponseEE response)
      指定されたリクエスト / レスポンスペアの新しい ServletWebRequest インスタンスを作成します。
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス (自動最終変更処理用)
  • メソッドの詳細

    • getNativeRequest

      public ObjectSE getNativeRequest()
      インターフェースからコピーされた説明: NativeWebRequest
      基礎となるネイティブリクエストオブジェクトを返します。
      次で指定:
      インターフェース NativeWebRequestgetNativeRequest 
      関連事項:
    • getNativeResponse

      public ObjectSE getNativeResponse()
      インターフェースからコピーされた説明: NativeWebRequest
      基になるネイティブレスポンスオブジェクトがあれば、それを返します。
      次で指定:
      インターフェース NativeWebRequestgetNativeResponse 
      関連事項:
    • getNativeRequest

      public <T> T getNativeRequest(@Nullable ClassSE<T> requiredType)
      インターフェースからコピーされた説明: NativeWebRequest
      可能であれば、基礎となるネイティブリクエストオブジェクトを返します。
      次で指定:
      インターフェース NativeWebRequestgetNativeRequest 
      パラメーター:
      requiredType - 目的の型のリクエストオブジェクト
      戻り値:
      一致するリクエストオブジェクト、またはその型が利用できない場合は null 
      関連事項:
    • getNativeResponse

      public <T> T getNativeResponse(@Nullable ClassSE<T> requiredType)
      インターフェースからコピーされた説明: NativeWebRequest
      可能であれば、基礎となるネイティブレスポンスオブジェクトを返します。
      次で指定:
      インターフェース NativeWebRequestgetNativeResponse 
      パラメーター:
      requiredType - 希望する型のレスポンスオブジェクト
      戻り値:
      一致するレスポンスオブジェクト、またはその型が利用できない場合は null 
      関連事項:
    • getHttpMethod

      public HttpMethod getHttpMethod()
      リクエストの HTTP メソッドを返します。
      導入:
      4.0.2
    • getHeader

      @Nullable public StringSE getHeader(StringSE headerName)
      インターフェースからコピーされた説明: WebRequest
      指定された名前のリクエストヘッダーを返します。ない場合は null を返します。

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

      次で指定:
      インターフェース WebRequestgetHeader 
      関連事項:
    • getHeaderValues

      @Nullable public StringSE[] getHeaderValues(StringSE headerName)
      インターフェースからコピーされた説明: WebRequest
      指定されたヘッダー名のリクエストヘッダー値を返します。ない場合は null を返します。

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

      次で指定:
      インターフェース WebRequestgetHeaderValues 
      関連事項:
    • getHeaderNames

      public IteratorSE<StringSE> getHeaderNames()
      インターフェースからコピーされた説明: WebRequest
      リクエストヘッダー名に対してイテレータを返します。
      次で指定:
      インターフェース WebRequestgetHeaderNames 
      関連事項:
    • getParameter

      @Nullable public StringSE getParameter(StringSE paramName)
      インターフェースからコピーされた説明: WebRequest
      指定された名前のリクエストパラメーター、または存在しない場合は null を返します。

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

      次で指定:
      インターフェース WebRequestgetParameter 
      関連事項:
    • getParameterValues

      @Nullable public StringSE[] getParameterValues(StringSE paramName)
      インターフェースからコピーされた説明: WebRequest
      指定されたパラメーター名のリクエストパラメーター値を返します。ない場合は null を返します。

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

      次で指定:
      インターフェース WebRequestgetParameterValues 
      関連事項:
    • getParameterNames

      public IteratorSE<StringSE> getParameterNames()
      インターフェースからコピーされた説明: WebRequest
      リクエストパラメーター名に対してイテレータを返します。
      次で指定:
      インターフェース WebRequestgetParameterNames 
      関連事項:
    • getParameterMap

      public MapSE<StringSE,StringSE[]> getParameterMap()
      インターフェースからコピーされた説明: WebRequest
      パラメーター名をマップキー、パラメーター値をマップ値として、リクエストパラメーターの不変のマップを返します。マップ値は String 配列型になります。

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

      次で指定:
      インターフェース WebRequestgetParameterMap 
      関連事項:
    • getLocale

      public LocaleSE getLocale()
      インターフェースからコピーされた説明: WebRequest
      このリクエストのプライマリロケールを返します。
      次で指定:
      インターフェース WebRequestgetLocale 
      関連事項:
    • getContextPath

      public StringSE getContextPath()
      インターフェースからコピーされた説明: WebRequest
      このリクエストのコンテキストパスを返します(通常、現在の Web アプリケーションがマップされているベースパス)。
      次で指定:
      インターフェース WebRequestgetContextPath 
      関連事項:
    • getRemoteUser

      @Nullable public StringSE getRemoteUser()
      インターフェースからコピーされた説明: WebRequest
      存在する場合、このリクエストのリモートユーザーを返します。
      次で指定:
      インターフェース WebRequestgetRemoteUser 
      関連事項:
    • getUserPrincipal

      @Nullable public PrincipalSE getUserPrincipal()
      インターフェースからコピーされた説明: WebRequest
      このリクエストのユーザープリンシパルがあれば、それを返します。
      次で指定:
      インターフェース WebRequestgetUserPrincipal 
      関連事項:
    • isUserInRole

      public boolean isUserInRole(StringSE role)
      インターフェースからコピーされた説明: WebRequest
      ユーザーがこのリクエストに対して指定されたロールを持っているかどうかを判断します。
      次で指定:
      インターフェース WebRequestisUserInRole 
      関連事項:
    • isSecure

      public boolean isSecure()
      インターフェースからコピーされた説明: WebRequest
      このリクエストが安全な転送メカニズム(SSL など)を介して送信されたかどうかを返します。
      次で指定:
      インターフェース WebRequestisSecure 
      関連事項:
    • checkNotModified

      public boolean checkNotModified(long lastModifiedTimestamp)
      インターフェースからコピーされた説明: WebRequest
      提供された最終変更タイムスタンプ(アプリケーションによって決定)を使用して、リクエストされたリソースが変更されたかどうかを確認します。

      これにより、"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) メソッドのいずれかを使用できます。または WebRequest.checkNotModified(String)。HTTP 仕様で推奨されているように、強力なエンティティタグと Last-Modified 値の両方を適用する場合は、WebRequest.checkNotModified(String, long) を使用する必要があります。

      "If-Modified-Since" ヘッダーが設定されているが日付値に解析できない場合、このメソッドはヘッダーを無視し、レスポンスの最終変更タイムスタンプの設定に進みます。

      次で指定:
      インターフェース WebRequestcheckNotModified 
      パラメーター:
      lastModifiedTimestamp - アプリケーションが基礎となるリソースに対して決定したミリ秒単位の最終変更タイムスタンプ
      戻り値:
      リクエストが変更されていないものとして適格であるかどうか、リクエスト処理を中止し、コンテンツが変更されていないことをクライアントに伝えるレスポンスに依存するかどうか
    • checkNotModified

      public boolean checkNotModified(StringSE etag)
      インターフェースからコピーされた説明: WebRequest
      提供された 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) メソッドのいずれかを使用できます。または WebRequest.checkNotModified(long)。HTTP 仕様で推奨されているように、強力なエンティティタグと Last-Modified 値の両方を適用する場合は、WebRequest.checkNotModified(String, long) を使用する必要があります。

      次で指定:
      インターフェース WebRequestcheckNotModified 
      パラメーター:
      etag - アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。
      戻り値:
      リクエストがそれ以上の処理を必要としない場合は true。
    • checkNotModified

      public boolean checkNotModified(@Nullable StringSE etag, long lastModifiedTimestamp)
      インターフェースからコピーされた説明: WebRequest
      提供された 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) または WebRequest.checkNotModified(long) を使用することもできます。

      次で指定:
      インターフェース WebRequestcheckNotModified 
      パラメーター:
      etag - アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。
      lastModifiedTimestamp - アプリケーションが基礎となるリソースに対して決定したミリ秒単位の最終変更タイムスタンプ
      戻り値:
      リクエストがそれ以上の処理を必要としない場合は true。
    • isNotModified

      public boolean isNotModified()
    • getDescription

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

      public StringSE toString()
      オーバーライド:
      クラス ServletRequestAttributestoString