クラス ServletRequestAttributes
- 実装されたすべてのインターフェース:
RequestAttributes
- 既知の直属サブクラス
ServletWebRequest
RequestAttributes
インターフェースのサーブレットベースの実装。「セッション」と「グローバルセッション」を区別せずに、サーブレットリクエストと HTTP セッションスコープからオブジェクトにアクセスします。
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドサマリー
クラス org.springframework.web.context.request.AbstractRequestAttributes から継承されたフィールド
requestDestructionCallbacks
インターフェース org.springframework.web.context.request.RequestAttributes から継承されたフィールド
REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_REQUEST, SCOPE_SESSION
コンストラクターのサマリー
コンストラクター説明指定されたリクエストの新しい ServletRequestAttributes インスタンスを作成します。ServletRequestAttributes
(HttpServletRequestEE request, HttpServletResponseEE response) 指定されたリクエストの新しい ServletRequestAttributes インスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明getAttribute
(StringSE name, int scope) 指定された名前のスコープ付き属性の値を返します(ある場合)。StringSE[]
getAttributeNames
(int scope) スコープ内のすべての属性の名前を取得します。final HttpServletRequestEE
ラップしているネイティブHttpServletRequest
EE を公開します。final HttpServletResponseEE
ラップしているネイティブHttpServletResponse
EE(存在する場合)を公開します。protected final HttpSessionEE
getSession
(boolean allowCreate) ラップしているHttpSession
EE を公開します。現在の基本的なセッションの ID を返します。基盤となるセッションで利用可能な最良のミューテックス、つまり、基盤となるセッションで同期するオブジェクトを公開します。protected boolean
isImmutableSessionAttribute
(StringSE name, ObjectSE value) 指定された値が不変のセッション属性と見なされるかどうかを決定します。つまり、その値は内部で意味のある変更ができないため、session.setAttribute
を介して再設定する必要はありません。void
registerDestructionCallback
(StringSE name, RunnableSE callback, int scope) 指定されたスコープ内の指定された属性の破棄時に実行されるコールバックを登録します。protected void
registerSessionDestructionCallback
(StringSE name, RunnableSE callback) セッション終了後に実行されるように、指定されたコールバックを登録します。void
removeAttribute
(StringSE name, int scope) 指定された名前のスコープ属性が存在する場合は削除します。resolveReference
(StringSE key) 指定されたキーのコンテキスト参照を解決します(ある場合)。void
setAttribute
(StringSE name, ObjectSE value, int scope) 指定された名前のスコープ属性の値を設定し、既存の値(存在する場合)を置き換えます。toString()
protected void
アクセスされたすべてのセッション属性をsession.setAttribute
呼び出しで更新し、変更された可能性があることをコンテナーに明示的に示します。クラス org.springframework.web.context.request.AbstractRequestAttributes から継承されたメソッド
isRequestActive, registerRequestDestructionCallback, removeRequestDestructionCallback, requestCompleted
フィールドの詳細
DESTRUCTION_CALLBACK_NAME_PREFIX
HttpSession
EE に格納されるときに破棄コールバックの名前の前に付加されるString
SE を識別する定数。immutableValueTypes
コンストラクターの詳細
ServletRequestAttributes
指定されたリクエストの新しい ServletRequestAttributes インスタンスを作成します。- パラメーター:
request
- 現在の HTTP リクエスト
ServletRequestAttributes
public ServletRequestAttributes(HttpServletRequestEE request, @Nullable HttpServletResponseEE response) 指定されたリクエストの新しい ServletRequestAttributes インスタンスを作成します。- パラメーター:
request
- 現在の HTTP リクエストresponse
- 現在の HTTP レスポンス (オプションの露出用)
メソッドの詳細
getRequest
ラップしているネイティブHttpServletRequest
EE を公開します。getResponse
ラップしているネイティブHttpServletResponse
EE(存在する場合)を公開します。getSession
ラップしているHttpSession
EE を公開します。- パラメーター:
allowCreate
- まだセッションが存在しない場合、新しいセッションの作成を許可するかどうか
getAttribute
インターフェースからコピーされた説明:RequestAttributes
指定された名前のスコープ付き属性の値を返します(ある場合)。- パラメーター:
name
- 属性の名前scope
- スコープ識別子- 戻り値:
- 現在の属性値。見つからない場合は
null
setAttribute
インターフェースからコピーされた説明:RequestAttributes
指定された名前のスコープ属性の値を設定し、既存の値(存在する場合)を置き換えます。- パラメーター:
name
- 属性の名前value
- 属性の値scope
- スコープ識別子
removeAttribute
インターフェースからコピーされた説明:RequestAttributes
指定された名前のスコープ属性が存在する場合は削除します。実装では、指定された属性に登録されている破棄コールバックも削除する必要があることに注意してください。ただし、この場合、登録された破棄コールバックを実行する必要はありません。オブジェクトが呼び出し側によって破棄されるためです(該当する場合)。
- パラメーター:
name
- 属性の名前scope
- スコープ識別子
getAttributeNames
インターフェースからコピーされた説明:RequestAttributes
スコープ内のすべての属性の名前を取得します。- パラメーター:
scope
- スコープ識別子- 戻り値:
- 文字列配列としての属性名
registerDestructionCallback
インターフェースからコピーされた説明:RequestAttributes
指定されたスコープ内の指定された属性の破棄時に実行されるコールバックを登録します。実装は、適切なときに、つまり、それぞれリクエストの補完時またはセッションの終了時にコールバックを実行するために最善を尽くす必要があります。そのようなコールバックが基本的なランタイム環境でサポートされていない場合は、コールバックを無視して、対応する警告をログに記録する必要があります。
「破棄」は通常、スコープ全体の破棄に対応し、アプリケーションによって明示的に削除された個々の属性には対応しないことに注意してください。このファサードの
RequestAttributes.removeAttribute(String, int)
メソッドを介して属性が削除された場合、削除されたオブジェクトが再利用されるか手動で破棄されると想定して、登録されている破棄コールバックも無効にする必要があります。注意 : コールバックオブジェクトは、セッションスコープに登録されている場合、通常は直列化可能である必要があります。そうしないと、コールバック(またはセッション全体)が Web アプリの再起動に耐えられない可能性があります。
- パラメーター:
name
- コールバックを登録する属性の名前callback
- 実行される破棄コールバックscope
- スコープ識別子
resolveReference
インターフェースからコピーされた説明:RequestAttributes
指定されたキーのコンテキスト参照を解決します(ある場合)。最低でも: キー「リクエスト」の HttpServletRequest リファレンス、およびキー「セッション」の HttpSession リファレンス。
- パラメーター:
key
- コンテキストキー- 戻り値:
- 対応するオブジェクト。見つからない場合は
null
getSessionId
インターフェースからコピーされた説明:RequestAttributes
現在の基本的なセッションの ID を返します。- 戻り値:
- String としてのセッション ID (非
null
)
getSessionMutex
インターフェースからコピーされた説明:RequestAttributes
基盤となるセッションで利用可能な最良のミューテックス、つまり、基盤となるセッションで同期するオブジェクトを公開します。- 戻り値:
- 使用するセッションミューテックス (非
null
)
updateAccessedSessionAttributes
protected void updateAccessedSessionAttributes()アクセスされたすべてのセッション属性をsession.setAttribute
呼び出しで更新し、変更された可能性があることをコンテナーに明示的に示します。isImmutableSessionAttribute
指定された値が不変のセッション属性と見なされるかどうかを決定します。つまり、その値は内部で意味のある変更ができないため、session.setAttribute
を介して再設定する必要はありません。デフォルトの実装では、
String
、Character
、Boolean
のtrue
および標準のNumber
値を返します。- パラメーター:
name
- 属性の名前value
- チェックする対応する値- 戻り値:
- 値がセッション属性管理の目的で不変であると見なされる場合は、
true
。それ以外の場合はfalse
- 関連事項:
registerSessionDestructionCallback
セッション終了後に実行されるように、指定されたコールバックを登録します。メモ: コールバックオブジェクトは、Web アプリの再起動後も存続させるために直列化可能である必要があります。
- パラメーター:
name
- コールバックを登録する属性の名前callback
- 破棄のために実行されるコールバック
toString