2

我正在开发一个使用 DWR 进行推送机制的 Web 应用程序。我观察到PrintWriter课程HttpServletResponse设置错误。逻辑:dwr的自定义flush方法:

    PrintWriter out = reponse.getWriter();
    公共布尔冲洗(){
        out.flush();
        如果(out.checkError()){
            /* 发送响应时出错,所以下次推送时重新发送响应 */
            返回假;
        }
        /* 响应发送成功 */
        返回真;
    }

奇怪的是,即使有错误的 PrintWriter 成功地向客户端发送响应,由于在上面的代码中 out.checkError() 将返回 true,响应将被重新发送给客户端。

经过进一步观察,我发现每次出现这种不当行为时都会记录以下语句:WARN:oejh.HttpGenerator:Ignoring extra content

这取决于浏览器类型,这发生在 chrome、firefox 而不是在 IE 中。

  1. 这 (HttpGenerator: Ignoring extra content) 是否会更新 PrintWriter 的任何内容?
  2. 当 PrintWriter 设置错误标志时?
  3. 浏览器如何响应这种响应(HttpGenerator: Ignoring extra content)?

服务器:jetty-7.6.3 DWR:dwr-3.0.0-RC3-dev-425

4

0 回答 0