gpt4 book ai didi

javascript - 如何在浏览器选项卡关闭时使 session 失效?

转载 作者:行者123 更新时间:2023-11-28 08:35:52 28 4
gpt4 key购买 nike

我在清理事件时遇到一个问题。当我从应用程序注销时,我可以执行清理事件以及 session.invalidate()。但是,当我关闭浏览器选项卡或关闭浏览器时,我无法进行干净的事件。我已经为此阅读了很多内容,但没有找到任何合适的解决方案。我已经尝试过 window.onunload() 但它在我的情况下不起作用。因为即使我单击后退按钮或任何其他事件,它也会生成。有什么解决办法吗?如果没有,那么是否有任何基础工作也适用于 chrome、Mozilla 和 IE?

最佳答案

只要现有 session 失效,servlet 容器就会调用 sessionDestroyed() 方法。

public class SessionListener implements HttpSessionListener 
{
public void sessionCreated(HttpSessionEvent se) {}
public void sessionDestroyed(HttpSessionEvent event) {
HttpSession session = event.getSession();
//clean up code
}
}

<listener>
<description>Session Listener</description>
<listener-class>com.demo.SessionExpiryListener</listener-class>
</listener>
<小时/>

缓存删除

response.setHeader("pragma","no-cache");//HTTP 1.1
response.setHeader("Cache-Control","no-cache");
response.setHeader("Cache-Control","no-store");
response.addDateHeader("Expires", -1);
response.setDateHeader("max-age", 0);
//response.setIntHeader ("Expires", -1);
//prevents caching at the proxy server
response.addHeader("cache-Control", "private");
<小时/>
<script type = "text/javascript" >
function disableBackButton()
{
window.history.forward();
}
setTimeout("disableBackButton()", 0);
</script>


< body onunload="disableBackButton()" onload="disableBackButton()" >

关于javascript - 如何在浏览器选项卡关闭时使 session 失效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21205587/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com