![](/img/trans.png)
[英]How to properly logout of a Java EE 6 Web Application after logging in
[英]How to logout automatically after session timeout on server in java web application
我有一个小型Web应用程序,其简单要求是:我的应用程序中有一个servlet和几个JSP页面。 每当我们向sevrlet发送请求时,它将在服务器上以会话超时1分钟开始会话,然后显示一个JSP页面。 服务器上的会话超时后,我想在浏览器中自动显示退出JSP页面,我们如何实现这一点。
添加到Jhash
编辑:在JS中猜测超时然后将用户导航出去的示例:
var lastActiveTimeMs = new Date().getTime(); //This is set to current time on page load
var SESSION_TIMEOUT_MILLIS = 35*60*1000; //35 mins in milliseconds
var CHECK_TIME_MILLIS = 60*1000; //1 mins in milliseconds
setTimeout(fnCheckTimeout, CHECK_TIME_MILLIS); //Check the timeout once in a minute
function fnCheckTimeout(){
var curMs = new Date().getTime();
if( (curMs-lastActiveTimeMs)>SESSION_TIMEOUT_MILLIS ){
window.location.href = 'signout.html';
}
}
//Keep updating lastActiveTime every time you do an Ajax call.
//Because server will keep extending the session for every page load or ajax call from client
为此,您需要在jsp页面中使用javascript。 例如,如果您在服务器上的会话超时为2分钟,则在JSP页面中,您还需要使用javascript创建一个具有相同时间的计时器,当javascript定时器超时发生后,您只需要使用相同的javascript代码刷新页面即可。 因此,当您刷新页面会话超时时,服务器上已经发生过会话超时,因此您可以检查服务器上的会话,以及会话是否过期,将控制重定向到所需的页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.