セッションが無効かどうかを確認する方法
-
10-07-2019 - |
質問
セッションが無効かどうかを確認する方法は? API にはメソッドがありません。 。
isNew()
と同じですか?そうでない場合の違いは何ですか?
解決
リクエストに基づいて有効かどうかを知りたい場合:
request.isRequestedSessionIdValid()
or
HttpSession sess = request.getSession(false);
if (sess != null) {
// it's valid
}
セッションへの参照を保存しており、検証する必要がある場合
try {
long sd = session.getCreationTime();
} catch (IllegalStateException ise) {
// it's invalid
}
他のヒント
isNew()
は、このセッションがクライアントによってまだ受け入れられていない場合(つまり、作成されたばかりでJSESSIONIDがまだ送信されていない場合、または送信された場合、クライアントがそれを送り返すので、サーバーはそれを知らず、別のセッションを作成します)
すべての意図と目的に対して、はい。ただし、同じリクエスト/レスポンスサイクルで無効化されたセッションで呼び出された場合、IllegalStateExceptionがスローされます。
所属していません StackOverflow