1

セッションの有効性について混乱しています。セッションはタブではなくブラウザに属していることを読みました。つまり、ブラウザーを開いて hotmail アカウントを開き、ブラウザーを閉じてからもう一度開くと、再度ログインする必要があります。ただし、ブラウザを開いてホットメールを新しいタブで開き、タブを閉じてからホットメールを新しいタブで再度開くと、すでにログインしています。しかし、セッションを維持する際に、非常に紛らわしいことに遭遇しています。Javaには、次のような有効なセッションのチェックがあります

/**
 * Each time user closes the browser then this will become null, but then onwards it always
 * has value, which is called cliendId
 */
String sessionID = httpServletRequest.getRequestedSessionId();

/**
 * Each time user close the tab or browser or session expires automatically this will
 * become false
 */
boolean sessionValid = httpServletRequest.isRequestedSessionIdValid();

getRequestedSessionId()は問題ありません。Web サイトを初めて開いたときは null ですが、常に同じ値になります。ユーザーが同じブラウザを使用していることを示します。罰金。しかし、isRequestedSessionIdValid()は私にとって非常に紛らわしいです。タブを閉じるたびにnullになります。なぜnullになるのですか?タブを閉じるとセッションが有効にならないのはなぜですか? タブを閉じたときにセッションが期限切れにならないように Java に伝えるために、web.xml ファイルに何かを設定する必要がありますか?

ありがとうございました。

4

0 に答える 0