日期:2014-05-20 浏览次数:20778 次
<script type="text/javascript" language="javascript"> var enterTime = 0; window.onload=new function(){ // 每一秒钟调用一次 setInterval("redirect()", 1000); } function redirect(){ var nowTime = new Date().getTime(); if((nowTime - enterTime) >= "<%=session.getMaxInactiveInterval()%>"*1000){ window.location.href="<%=request.getContextPath()%>/login.jsp"; } enterTime = nowTime; } </script>
------解决方案--------------------
public void sessionCreated()
{
将用户名和Session保存在Application中
}
public void sessionDestory()
{
将用户在Application中干掉!
}
在页面,每5秒使用Ajax访问服务端的某个Action后面带上用户名,在这个Action根据传递过来的用户在Application中找是不是有对于的值,没有则返回“请重新登录”,否则返回“正常”,在Ajax的JS代码中判断一下就可以实现了,简单吧?简单就给分分吧!
PS:Ajax每次访问的时间间隔不要太短,否则人多了服务器受不了啊!
------解决方案--------------------