代码怎么写?在servlet中判断如果某个登录用户20分钟没有任何操作则踢出
由于在主界面index.jsp中使用了一个iframe每个30秒钟查询数据库是否有最新的公司新闻,有则弹出新闻内容对话框,这样就造成每个客户端总会向服务器端发送请求,进而造成在web.xml中定义的<session-timeout>20</session-timeout>无效,最终造成所有登录用户的session永不过期,对服务器性能造成不好的影响
就是想问问在这种情况下能不能在servlet中写代码来判断如果某个登录用户20分钟没有任何操作则踢出?
或者有什么其他方法?

解决方案 »

  1.   

    最简单的是 在你的iframe里使用一个JavaScript片段,这个片段里定义一个过期时间

    var i = 1200; (20分钟)
    然后使用 setTimeout()方法每隔一秒减少这个i 当i等于0的时候 js自动跳转到一个exit.jsp页面
    调用session.invalidate()即可;
      

  2.   

    服务器端维护一个session池,记录每个session的最后请求时间(查询最新新闻的请求不算),定时刷新session池,清理掉超时session。