【问题标题】:How to logout the application when ethernet cable plugged out from system?当以太网电缆从系统中拔出时如何注销应用程序?
【发布时间】:2019-02-16 13:51:13
【问题描述】:
我正在使用 Apache Tomcat 服务器进行应用程序部署。
考虑到我已经登录到应用程序,突然我从系统中删除了以太网电缆,之后如果我单击应用程序它会抛出 404 page not found 错误,这种情况没问题。在我的情况下,删除以太网电缆后我不会点击在浏览器的任何位置,有时我会再次将以太网电缆连接到系统。现在,如果我单击部署的应用程序将正常工作。
我需要断开会话连接,并且需要在以太网电缆断开时导航到主页。
**Is't possible**????
【问题讨论】:
标签:
java
session
servlets
richfaces
servlet-filters
【解决方案1】:
这在 Web 应用程序中并不常见。但如果你喜欢这样做,你可以使用一些类似这样的 java 脚本方法:
window.addEventListener('online', updateIndicator);
window.addEventListener('offline', updateIndicator);
并且在您的 javascript 方法中,您可以执行任何需要注销的操作,例如您可以从会话中删除某些内容:
sessionStorage.removeItem('itemName');
【解决方案2】:
您必须检测系统何时脱机并清除将浏览器连接到服务器的所有内容。
基本上,您必须从会话存储中删除会话 ID cookie 或其他内容。这取决于您如何实现登录。你可以使用这样的东西:
window.addEventListener('offline', disconnectSession);
function disconnectSession(){
// remove cookie - tomcat's session cookie is JSESSIONID
document.cookie = 'JSESSIONID=; Max-Age=0'
// remove value from session storage
sessionStorage.removeItem('key');
}