0 0

使用tomcat comet后,保存的response对象的out流缓存没有清除5

每次out.println();都把之前print过的内容累计起来了

 

代码如下(完整代码见附件):

public void run(){
            while(true){
                synchronized(connections){
                    //for(HttpServletResponse response : connections){
                    for(HttpServletResponse response : connections){
                        response.setDateHeader("expires", 0);
                        response.setContentType("text/html");
                        response.setHeader("Cache-Control", "no-cache");
                        PrintWriter out;
                        try {
                            out = response.getWriter();
                            out.println(new Date());
                            out.flush();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    }   
                }
                       
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }

 

 

循环四次的结果:

 

2013年4月18日 14:25
  • Desktop.rar (2.3 KB)
  • 描述: servlet和jsp的代码
  • 下载次数: 3
  • 大小: 40.1 KB

1个答案 按时间排序 按投票排序

1 0

每次写之前
response.reset()
http://ljhzzyx.blog.163.com/blog/static/383803122013273227160/

2013年4月18日 14:32

相关推荐

Global site tag (gtag.js) - Google Analytics