理论上是不可能做到的,因为HTTP是一个无状态会话。

解决方案 »

  1.   

    由一个不太妥当的做法。
    举个例子在jsp中
    <%
    application.setAttribute("id",out);//将jsp中的jspWriter 对象(out)保存起来
    Thread.sleep(100000000);   //让jsp(应该说是servlet)进程挂起来,如果要长时间挂起
                               //可以用死循环,当out对象不可用时跳出循环,在jsp中的 
                               //jspWriter对象(out)不能准确的反映客户端是否关闭,但是
                               //在servlet中可以得iostream可以准确地反映出来%>这样就维持了一个客户端与服务器的连接,可以通过在另外的servlet或是jsp中调出out来向客户端发送数据,需要注意的是应该手动的out.flush()来保证你发的数据立刻被送到客户端
    显然这样做有写确点,但也算是一种实现吧
      

  2.   

    那还不如在HTML上放个动态更新的标记呢。
      

  3.   

    <%
    application.setAttribute("id",out);//将jsp中的jspWriter 对象(out)保存起来
    Thread.sleep(100000000);   //让jsp(应该说是servlet)进程挂起来,如果要长时间挂起
                               //可以用死循环,当out对象不可用时跳出循环,在jsp中的 
                               //jspWriter对象(out)不能准确的反映客户端是否关闭,但是
                               //在servlet中可以得iostream可以准确地反映出来%>基本可以,推技术也就是这样的