我正在开发一个使用 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 中。
- 这 (HttpGenerator: Ignoring extra content) 是否会更新 PrintWriter 的任何内容?
- 当 PrintWriter 设置错误标志时?
- 浏览器如何响应这种响应(HttpGenerator: Ignoring extra content)?
服务器:jetty-7.6.3 DWR:dwr-3.0.0-RC3-dev-425