1

我对会话有效感到困惑。我读到会话属于浏览器而不是标签。这意味着如果您打开浏览器并打开您的 hotmail 帐户,然后关闭浏览器,然后再次打开它,您必须重新登录。但是,如果您打开浏览器并在新选项卡中打开您的 hotmail,然后关闭选项卡,然后再次在新选项卡中打开 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()很好。当您第一次打开您的网站时,它为空,但它始终具有相同的值。表示该用户正在使用相同的浏览器。美好的。但是isRequestedSessionIdValid()让我很困惑。每当我关闭选项卡时,它就会变为空。为什么它变得空了?如果我关闭选项卡,为什么我的会话无效?我是否需要在我的 web.xml 文件中设置一些东西来告诉 java 在标签关闭时会话不会过期?

谢谢你。

4

0 回答 0