用户长时间登录session会过期,怎样保持用户长时间登录?
请高手帮忙解决!!!

解决方案 »

  1.   

     tomcat中的session连接超时设置默认为30分钟,在conf目录下的web.xml文件中。<session-config>
        <session-timeout>30</session-timeout>
    </session-config> 可以进行更改,从而达到设置session超时的目的。可以设置为负数,表示永不过期。    还有个更改session超时的方法是,在程序中调用servlet的方法,session.setMaxInactiveInterval(),括号中设置超时的时间,用秒表示的。设置为负数则表示永不过期。
      

  2.   

    用cookie吧,退出时,再把它删掉,这样可以想多久就多久(前提是正常情况,如没被删)
    但也会带来相应的问题:
    客户端阻止cookie,你就没辙啦;
    不够安全;其实用修改server.xml的session timeout 数值,就可以达到很长的时间啦
      

  3.   

    心跳包???
    WEB开发中有用这么个东西么???
      

  4.   

    用cookies。
    什么心跳不心跳的,这个名字真有创意。
      

  5.   

    自动登录呀  混了这么久csdn这个还不知道吗
    csdn那个登陆就有自动登录的功能呀
    登录的时候给客户的cookie里写个记号  同时把记号存入数据库
    用filter验证用户的cookie和数据库的一样不一样  根据这个自动登录
    思路就是这样  祝你好运
      

  6.   

    楼上说的是一种思路,还有一种就是设置session的有效期,Tomcat默认是session的有效期是30分钟,你可以自己修改,想改多久就看你自己的设置了。
      

  7.   

    session失效的根本原因是没有操作,心跳的作用是模拟用户操作,用ajax定时(比如20分钟)请求一次即可。
      

  8.   

    系统的用户比较多,如果每个页面都用ajax,这样不太好吧。
      

  9.   

    如果你有jQuery,导入之,然后写javascript代码:$(document).ready(function(){
        setInterval(function keepSession(){$.get("/乱取服务器上一个地址");},29*60*1000);
    });
    即使乱取服务器上一个不存在的url,服务器也知道你又来了,自然不消掉的你session。
    29*60*1000w代表29分钟刷新一次,一般session时长30分钟