各位能不能说得详细点,
我先做了一个HttpSessionListener来监听,可是在关闭浏览器后,会话就失效了,监听不到啊,

解决方案 »

  1.   

    另外,我想问一下当HttpSession被销毁的时候,HttpSessionBindingListener里的事件会被触发吗
      

  2.   

    http本来就是无连接的协议,只能定时刷了。监听session当然可以,但是这和用户必须主动触发事件一样,就是这样不准,因为用户直接关闭浏览器的状态无法获得,所以只能等着失效!如果通过COOKIE应该可以,就是设置用户一旦关闭就让COOKIE失效,然后服务端获取不到COOKIE就认为用户退出了,但是这样也是被动的,服务端还是的不断的刷!
      

  3.   

    》》我想问一下当HttpSession被销毁的时候,HttpSessionBindingListener里的事件会被触发吗
    当然!会触发sessionDestroyed(HttpSessionEvent se)
      

  4.   

    >>可是在服务器端不断刷的话,又以什么为判断的依据呢
    前面不是说了吗?要么是直接判断session(最简单也最不准),要么是判断用户是否主动退出(自己写程序实现,如果直接关浏览器也不准),要么判断COOKIE是否失效!
      

  5.   

    HttpSessionBindingListener是属性绑定和删除的监听器
    而sessionDestroyed(HttpSessionEvent se)是HttpSessionListener里的方法,
    当一个会话被销毁了,会触发两个监听器 的事件吗??
    我先试一下