TOMCAT容器 
本机上调试的 
每开一个IE,数字就加一 
但是每次关掉一个IE,数字不减一

解决方案 »

  1.   

    关闭浏览器确实会话还存在,所以不立刻调销毁函数.但问题是这样的话,人数统计不准确,只能等这个会话超时了.如何解决这个问题?关闭浏览器就通知SESSION销毁
      

  2.   

    有点糊涂了,到底怎么才算session的一个生命周期啊!
    关闭浏览器后,session不是销毁的吗?
    谁能帮我解释下!关注!
      

  3.   

    你看看一些关于seesion原理的文章就会理解是怎么回事
      

  4.   

    浏览器关了session不会被destroyed,session被destroyed只有两个途径,一个是session过期,还有一个就是显式调用session.invalidate()方法。我们通常觉得关闭浏览器session就没了是因为session与当前浏览器绑定,通常的做法是将cookie生命期设为-1,如果浏览器关闭了cookie,一般的服务器都会使用url重写将session与当前的浏览器绑定,也就是我们常看见的在url后面跟着JSESSIONID=JKIPUjfijkdifjk##这样乱七八糟的东西。如果你想要关闭浏览器就将当前session销毁可以响应浏览器的关闭事件,然后向服务器提交将session销毁。
      

  5.   

    我也被这个问题搞得头痛!用户的网站没有登陆和退出操作,只要求在主页上加个在线人数统计!我用的也是楼主的方法,每次都要等20分钟后session自动销毁数字才减一!看了上面的说法照做了,可惜还是无法解决代码如下:
    <script language="javascript">
    <!--
    function closeSession()
    {
    <%
    session.invalidate();
    %>
    }
    -->
    </script><body onUnload="closeSession()">
    不知这样对不?如果不对请指点!
      

  6.   

    <script language="javascript">
    <!--
    function closeSession()
    {
    <%
    session.invalidate();
    %>
    }
    -->
    </script><body onUnload="closeSession()">
    这样是不行的,jsp 代码是在服务器执行的,你这样做的后果就是:服务器把这个页面发过来后,session就结束了。
    你可以在这个函数里发个请求到服务器的某个servlet,而那个特定的servlet专门负责把这个session结束掉,别的啥事不做。
      

  7.   

    试试我在你的这个帖子http://community.csdn.net/Expert/topic/3854/3854533.xml?temp=.382229
    回复的方法吧