在做论坛在线用户列表时,每个在线用户有一个session,这样来统计在线用户,怎样实现关闭浏览器就清空当前session呢,同一ip多个session就认为多个用户,关闭一个浏览器 只清空当前session
望各位大虾指教啊。

解决方案 »

  1.   

    <body onunload="">
    只能在这里做文章了!
      

  2.   

    body的onunload中判断刷新还是关闭,如果关闭执行session.invalidate()
      

  3.   

    body的onunload 的话,如果关进程的话,就不会走了
      

  4.   

    准确地说,这个功能无法实现。你还是利用Session的listener监听session关闭的功能比较稳妥。因为通过js监听窗口关闭,继而把该信息提交给服务器,这个过程很难保证能全部完成,比如用户强行关进程。也可能用户打开了页面之后按下了Ctrl-N开了另外一个拥有同样session的窗口,你总不可能关了其中一个而session.invalidate吧。
      

  5.   

    其实像tomcat这种容器内部session的实现都是通过cookie来实现的,默认情况下这个cookie在用户关闭浏览器的时候就是消失,所以当你重新启动浏览器的时候,你所使用的session已经不是上一次使用的那个。你的话,可以把session的周期设短一点就可以了
      

  6.   

    shine333(enihs)能否具体说说session的监听,小弟比较菜