大家好,小弟现在做了一个项目,在用户登陆到系统后,在数据库中保存用户已经登录成功的状态,如把一个字段设置为1,如果用户关闭浏览器或者系统断电时,要把该字段值重新设置为0,请问各位大虾如何解决?

解决方案 »

  1.   

    使用session
    设置session过期时间 时间内没有反应则证明用户离线,
    当用户点击注销时使用invalidate()方法 清空session
      

  2.   

    你可以在客户商隐藏着一个任务请求,每过一定时间自动请求一下服务,这样你的服务器也是过一定时间检查一次,看此用户上一次刷新时间与现在时间对比,若超过了你规定的时间则为掉线了!
    客户商可以用setTimeOut()的javascript任务呢,服务器可以用一个监听器呢!!
    其实也可以直接用session监听器呢!
      

  3.   

    非常感谢大家的参与!
    我原来也用了httpsessionlistener监听,可关闭ie后,感觉没什么反应,可能是session失效时间设置的太长,我再试试看。
    还有就是我也使用了setTimeOut(),在客户端进行查询数据库,每分钟更新实时信息,要用这种方法的话,楼上的朋友能否说的详细些?
      

  4.   

    没有办法的,连接在浏览器下载完数据就断了。只有等服务器session timeout了
      

  5.   

    http://www.blogjava.net/jfy3d/archive/2005/05/14/4279.aspx
      

  6.   

    ^_^,问题已经解决了,非常感谢各位的参与。
    我是使用的listener,原来的是有些地方处理的不大合适,我们现在用的是公司里面的一种框架开发,它对类文件的调用有很严格的设定,我自己又重新写了数据库连接等类文件,还好,终于解决了。
    再次感谢各位的关注。