在服务器端如何知道客户端的结束了浏览操作(既关闭了流览器),
  然后,我好在服务器端,销灭掉session

解决方案 »

  1.   

    应该用个监听器SessionListener
      具体如下
     监听器类:
     package listener;
     import javax.servlet.http.HttpSessionEvent;
     import javax.servlet.http.HttpSessionListener; public class Example implements HttpSessionListener{
        public void sessionCreated(HttpSessionEvent event){
       }
       public void sessionDestroyed(HttpSessionEvent event){
          //session 失效时操作
    }
       
    }web.xml文件这样写:
       <listener>
          <listener-class>listener.Example</listener-class>
       </listener>其实关闭浏览器时session就应该失效了
    所以你没有必要专门让session失效的
      

  2.   

    严格的说没法子。就算是用javascript的onunload 来得知离开 ,那客户机死机什么的也没法子通知。一般也就是检查活动时间,活动时间小于规定值就删除。基本的session都是这么做的。
      

  3.   

    一楼的方法是不行的,如果
    一定要实现楼主的功能的话,只能用js onunload(),不过死机,浏览器崩溃,停电
    是没用的
      

  4.   

    客户端关闭浏览器后session并没有失效,因为像tomcat这种web容器的session实现机制
    都是采用cookie实现的,这个cookie在用户关闭浏览器后就失效,不过服务器端session实例还是存在的,除非session周期技术