日期:2014-05-16  浏览次数:20636 次

请教各位一个seesion timeout的问题
本人最近在做一个web应用,用户希望客户端15分钟无操作则超时重新登录。
于是我在web.xml里设置了
  <session-config>
      <session-timeout>15</session-timeout>
</session-config>
但是由于系统还有个推送通知的功能。因此在web.xml里面有个设置
    <init-param>
      <param-name>activeReverseAjaxEnabled</param-name>
      <param-value>true</param-value>
    </init-param>
现在看起来这两个设置在我的项目里是冲突的。推送功能每分钟都会连接一次服务器,导致session永不超时。

我希望两个功能都能保留,请教各位如何解决这个问题。
session tmeout

------解决方案--------------------
自己启动个计时器15分钟后发送ajax请求动态页注销session就行了,有操作的时候就清楚计时器
var timer
function startTimer(){
  clearTimeout(timer)
  timer=setTimeout(function(){/*ajax请求注销session的动态页代码*/},15*60*1000)
}
window.onload=function(){startTimer()}
document.onmousemove=document.onclick=document.onkeydown=function(){//如果移动鼠标不算动作去掉onmousemove事件
  startTimer()
}