クラス ServletRequestAttributes

java.lang.ObjectSE
org.springframework.web.context.request.AbstractRequestAttributes
org.springframework.web.context.request.ServletRequestAttributes
実装されたすべてのインターフェース:
RequestAttributes
既知の直属サブクラス
ServletWebRequest

public class ServletRequestAttributes extends AbstractRequestAttributes
RequestAttributes インターフェースのサーブレットベースの実装。

「セッション」と「グローバルセッション」を区別せずに、サーブレットリクエストと HTTP セッションスコープからオブジェクトにアクセスします。

導入:
2.0
作成者:
Juergen Hoeller
関連事項:
  • フィールドの詳細

    • DESTRUCTION_CALLBACK_NAME_PREFIX

      public static final StringSE DESTRUCTION_CALLBACK_NAME_PREFIX
      HttpSessionEE に格納されるときに破棄コールバックの名前の前に付加される StringSE を識別する定数。
    • immutableValueTypes

      protected static final SetSE<ClassSE<?>> immutableValueTypes
  • コンストラクターの詳細

    • ServletRequestAttributes

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

      public ServletRequestAttributes(HttpServletRequestEE request, @Nullable HttpServletResponseEE response)
      指定されたリクエストの新しい ServletRequestAttributes インスタンスを作成します。
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス (オプションの露出用)
  • メソッドの詳細

    • getRequest

      public final HttpServletRequestEE getRequest()
      ラップしているネイティブ HttpServletRequestEE を公開します。
    • getResponse

      @Nullable public final HttpServletResponseEE getResponse()
      ラップしているネイティブ HttpServletResponseEE(存在する場合)を公開します。
    • getSession

      @Nullable protected final HttpSessionEE getSession(boolean allowCreate)
      ラップしている HttpSessionEE を公開します。
      パラメーター:
      allowCreate - まだセッションが存在しない場合、新しいセッションの作成を許可するかどうか
    • getAttribute

      public ObjectSE getAttribute(StringSE name, int scope)
      インターフェースからコピーされた説明: RequestAttributes
      指定された名前のスコープ付き属性の値を返します(ある場合)。
      パラメーター:
      name - 属性の名前
      scope - スコープ識別子
      戻り値:
      現在の属性値。見つからない場合は null 
    • setAttribute

      public void setAttribute(StringSE name, ObjectSE value, int scope)
      インターフェースからコピーされた説明: RequestAttributes
      指定された名前のスコープ属性の値を設定し、既存の値(存在する場合)を置き換えます。
      パラメーター:
      name - 属性の名前
      value - 属性の値
      scope - スコープ識別子
    • removeAttribute

      public void removeAttribute(StringSE name, int scope)
      インターフェースからコピーされた説明: RequestAttributes
      指定された名前のスコープ属性が存在する場合は削除します。

      実装では、指定された属性に登録されている破棄コールバックも削除する必要があることに注意してください。ただし、この場合、登録された破棄コールバックを実行する必要ありません。オブジェクトが呼び出し側によって破棄されるためです(該当する場合)。

      パラメーター:
      name - 属性の名前
      scope - スコープ識別子
    • getAttributeNames

      public StringSE[] getAttributeNames(int scope)
      インターフェースからコピーされた説明: RequestAttributes
      スコープ内のすべての属性の名前を取得します。
      パラメーター:
      scope - スコープ識別子
      戻り値:
      文字列配列としての属性名
    • registerDestructionCallback

      public void registerDestructionCallback(StringSE name, RunnableSE callback, int scope)
      インターフェースからコピーされた説明: RequestAttributes
      指定されたスコープ内の指定された属性の破棄時に実行されるコールバックを登録します。

      実装は、適切なときに、つまり、それぞれリクエストの補完時またはセッションの終了時にコールバックを実行するために最善を尽くす必要があります。そのようなコールバックが基本的なランタイム環境でサポートされていない場合は、コールバックを無視して、対応する警告をログに記録する必要があります。

      「破棄」は通常、スコープ全体の破棄に対応し、アプリケーションによって明示的に削除された個々の属性には対応しないことに注意してください。このファサードの RequestAttributes.removeAttribute(String, int) メソッドを介して属性が削除された場合、削除されたオブジェクトが再利用されるか手動で破棄されると想定して、登録されている破棄コールバックも無効にする必要があります。

      注意 : コールバックオブジェクトは、セッションスコープに登録されている場合、通常は直列化可能である必要があります。そうしないと、コールバック(またはセッション全体)が Web アプリの再起動に耐えられない可能性があります。

      パラメーター:
      name - コールバックを登録する属性の名前
      callback - 実行される破棄コールバック
      scope - スコープ識別子
    • resolveReference

      public ObjectSE resolveReference(StringSE key)
      インターフェースからコピーされた説明: RequestAttributes
      指定されたキーのコンテキスト参照を解決します(ある場合)。

      最低でも: キー「リクエスト」の HttpServletRequest リファレンス、およびキー「セッション」の HttpSession リファレンス。

      パラメーター:
      key - コンテキストキー
      戻り値:
      対応するオブジェクト。見つからない場合は null 
    • getSessionId

      public StringSE getSessionId()
      インターフェースからコピーされた説明: RequestAttributes
      現在の基本的なセッションの ID を返します。
      戻り値:
      String としてのセッション ID (非 null)
    • getSessionMutex

      public ObjectSE getSessionMutex()
      インターフェースからコピーされた説明: RequestAttributes
      基盤となるセッションで利用可能な最良のミューテックス、つまり、基盤となるセッションで同期するオブジェクトを公開します。
      戻り値:
      使用するセッションミューテックス (非 null)
    • updateAccessedSessionAttributes

      protected void updateAccessedSessionAttributes()
      アクセスされたすべてのセッション属性を session.setAttribute 呼び出しで更新し、変更された可能性があることをコンテナーに明示的に示します。
      次で指定:
      クラス AbstractRequestAttributesupdateAccessedSessionAttributes 
    • isImmutableSessionAttribute

      protected boolean isImmutableSessionAttribute(StringSE name, @Nullable ObjectSE value)
      指定された値が不変のセッション属性と見なされるかどうかを決定します。つまり、その値は内部で意味のある変更ができないため、session.setAttribute を介して再設定する必要はありません。

      デフォルトの実装では、StringCharacterBoolean の true および標準の Number 値を返します。

      パラメーター:
      name - 属性の名前
      value - チェックする対応する値
      戻り値:
      値がセッション属性管理の目的で不変であると見なされる場合は、true。それ以外の場合は false 
      関連事項:
    • registerSessionDestructionCallback

      protected void registerSessionDestructionCallback(StringSE name, RunnableSE callback)
      セッション終了後に実行されるように、指定されたコールバックを登録します。

      メモ: コールバックオブジェクトは、Web アプリの再起動後も存続させるために直列化可能である必要があります。

      パラメーター:
      name - コールバックを登録する属性の名前
      callback - 破棄のために実行されるコールバック
    • toString

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