up一下,新手,不过Q2用servlet的GetLastModified()好像能够实现。

解决方案 »

  1.   

    session不能统计在线人员
    用application
      

  2.   

    1,可以设置一个计数值,存放在session中,登陆+1,离开-1,长时间未相应-1,
    2,一般聊天室,都是定时刷新的,html标记语言中,可以设置刷新时间
      

  3.   

    我觉得不用隐藏帧啊,只要你那个处理的jsp不要结束,也就是不停的输出别人说的话,ie就会显示了,ie解析html的时候并不需要全部的文件才可以显示,也许就是利用了这个东西
      

  4.   

    怎么处理的jsp不结束呢?
    有例子吗?
      

  5.   

    给你一段代码,你就明白了:)
    /** 
    * 编写以下SessionCounter.java 
    * 并编译为SessiionCounter.class 
    * 然后放到你的网站的classpath的 
    * SessionCount(自己建立此目录)下面 
    */ 
    package SessionCount; 
    import javax.servlet.*; 
    import javax.servlet.http.*; 
    public class SessionCounter implements HttpSessionListener { 
    private static int activeSessions = 0; 
    public void sessionCreated(HttpSessionEvent se) { 
    activeSessions++; 

    public void sessionDestroyed(HttpSessionEvent se) { 
    if(activeSessions > 0) 
    activeSessions--; 

    public static int getActiveSessions() { 
    return activeSessions; 


    接着建立online.jsp文件用于显示在线人数 
    <%@ page import="SessionCount.SessionCounter" %> 
    在线:<%= SessionCounter.getActiveSessions() %> 
    然后需要在你的网站的WEB-INF中建立web.xml 
    文件内容如下: 
    <!-- Web.xml --> 
    <?xml version="1.0" encoding="ISO-8859-1"?> 
    <!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "http://java.sun.com/j2ee/dtds/web-app_2.3.dtd"> 
    <web-app> 
    <!-- Listeners --> 
    <listener> 
    <listener-class> 
    SessionCount.SessionCounter 
    </listener-class> 
    </listener> 
    </web-app> 
    然后重新启动你的应用服务器,访问online.jsp检查是否显示正确