本人初学java,在试验网页访问人数统计,本意通过session来计算访问人数和在线人数,但是在用户点击网页关闭按钮的时候,并没有调用session的销毁方法,请教如何解决。 

解决方案 »

  1.   

    http://topic.csdn.net/t/20010528/21/138139.html
      

  2.   

    httpsession事件监听器
    public class OnlineListener implementss HttpSessionListener
    private int onlineCount;
    public OnlineListener()
    {onlineCount=0;
    }
    public void sessionCreated(HttpSessionEvent sessionEvent)
    {
    onlineCount++;
    sessionEvent.getSession().getServletContext().setAttribute("online",new Integer(onlineCount));
    }
    public void sessionDestroyed(HttpSessionEvent sessionEvent)
    {
    onlineCount--;
    sessionEvent.getSession().getServletContext().setAtrribute("online",new Integer(onlineCount));
    }
    }
    web.xml<listener>
    <listener-class>sunyang.OnlineListener</listener-class>
    </listener>online.jsp
    里面的H2标签
    <%=(Integer)application.getAttribute("online")%>
      

  3.   

    httpsession事件监听器
    public class OnlineListener implementss HttpSessionListener
    private int onlineCount;
    public OnlineListener()
    {onlineCount=0;
    }
    public void sessionCreated(HttpSessionEvent sessionEvent)
    {
    onlineCount++;
    sessionEvent.getSession().getServletContext().setAttribute("online",new Integer(onlineCount));
    }
    public void sessionDestroyed(HttpSessionEvent sessionEvent)
    {
    onlineCount--;
    sessionEvent.getSession().getServletContext().setAtrribute("online",new Integer(onlineCount));
    }
    }
    web.xml<listener>
    <listener-class>sunyang.OnlineListener</listener-class>
    </listener>online.jsp
    里面的H2标签
    <%=(Integer)application.getAttribute("online")%>
      

  4.   

    我们刚学JSP,学了个application的内置对象……可以用它实现在线用户统计,好像,你可以看看,我也是刚学的,一起讨论讨论
    index.jsp页面如下:
    <%
    Integer acount;
    acount = (Interger)application.getAttrubute("acounter");
    if(acount==null){
      acount = new Integer(1);
    }else{
      acount = new Integer(requset.intValue()+1);
    }
    application.setAttribute("acounter","acount");
    %>
    <table>
      <tr>
      <th>在线用户为</th>
      <Td><%=application.getAttribute("acounter")%></Td>
      </tr>
    </table> 
      

  5.   

    web项目根本无法用常规的方法解决你的问题。你了解session的机制应该很清楚这个问题。在线人数不一定要完全精确。