response.setHeader("refresh","5");
每5秒刷新一次
可以改

解决方案 »

  1.   

    我记得在html的<META>元素里有个属性可以设置网页定时刷新,
    中午回去帮你查一下。
      

  2.   

    那不是用定时刷新的。
    原理是用一个servlet,在servlet中用getWriter().print()来向请求的来源发送HTTP代码,发送注释来防止浏览器timeout。总之不发送结束标签</body></html>,这样就可以不断向浏览器发送聊天记录了,那些文字直播就是这个原理。
      

  3.   

    airlulu(airlulu) 谢谢
    能说的详细一点吗,这个servlet是什么,哪有简单一点的例子,或使用介绍?
      

  4.   

    你用"servlet 聊天室"做关键字在google搜一下就出来了。
      

  5.   

    我做了一个,不过只能在tomcat3.X的版本上通过,到了4以上的版本和weblogic上就会出现out对象的死锁,我在这里说一下我的做法,希望你能有所突破。
    也不必像上面朋友说的那样非要做成servlet,用jsp页面也行。先在<%@ page autoFlush="false"%>然后在页面用循环
    while(true)
    {
     out.print("你的聊天信息");
     out.flush;
     try
      {
        Thread.currentThread().sleep(2000);
      }
     catch(Exception e)
      {}
    }
    再在你输出的信息中嵌套滚屏的javascript代码就可以实现自动滚屏的效果了。
    如果只是一个这样的frame的话还是可以运行的,但如果你的聊天室分了公聊和私聊的话就是两个frame,这个时候在tomcat4.0以上的版本就会出现死锁,我想了好久都没有办法解决,但在tomcat3.2上很正常。
    再有什么问题给我端消息!
    希望能给你提示,也希望你能解决我不能解决的问题。
      

  6.   

    但是如果不是聊天室呢?
    比如我现在有这种情况:
    我做了个即时短消息的功能,只要有谁发消息给我,那我就马上可以收到/
    因为找不出好办法来,所以我就用每五秒刷新一下主页,也就是重新请求到servlet去,servlet去数据库查看是否有新消息过来.如果有的话就弹出消息页面/
    但是我觉得这样效率很低,用户多的话更惨/
    不知道哪位高手有更好的办法/最好能像Swing控件一样可以通过监听的方式实现/
    比如在servlet端监听,有新消息的话再发给用户/