我正在开发一个使用DWR推送机制的Web应用程序。我发现PrintWriter
中的HttpServletResponse
类正在设置错误。
逻辑:
dwr的自定义刷新方法:
PrintWriter out = reponse.getWriter(); public boolean flush() { out.flush(); if (out.checkError()) { /* Error occurred while sending the response, so resend the response in the next push */ return false; } /* response sent successfully */ return true; }
奇怪的是,即使PrintWriter错误成功地向客户端发送响应,因为在上面的代码out.checkError()将返回true,响应将重新发送给客户端。
在进一步的观察中,我发现每当出现这种不当行为时,以下语句都会被记录: 警告:oejh.HttpGenerator:忽略额外内容
这取决于浏览器类型,这发生在chrome,firefox而不是opera,IE中。
服务器:jetty-7.6.3 DWR:dwr-3.0.0-RC3-dev-425