|
|
1
1
我自己的答案,经过研究。 第一部分:似乎没有办法让应用服务器相信我测试过的将错误放在“提交”阶段之后的线路上。以下servlet代码在套接字上导致合法的HTTP分块传输头。有趣的是,在WebSphere的情况下,一条错误消息被附加到流末尾的结束标记之前。
第二部分:即使应用服务器愿意在不关闭零长度块的情况下将虚假数据写入线或关闭套接字,普通客户机也不会报告错误。IE7、FF3和CURL不报告块编码中的错误。这使得HTTP下载天生不可靠,如果不是HTTP 1.1 RFC的字母,则与此相反。 |
|
|
2
0
我觉得你做错事了。在确定是成功还是失败之前,不真正开始发送数据似乎更简单。这样,如果需要,您可以在开始时发送错误消息,而不是发送无效的部分数据。 如果你真的必须这样做,你也许可以用JavaScript来解决一些问题。当您遇到错误时,在关闭连接之前输出如下内容:
您可能希望扩展脚本,但是您得到了一般的想法。假设发送回浏览器的是一个HTML页面,您没有在问题中指定。 |
|
|
3
0
servlet API不允许这样做。一旦提交了响应,就发送了响应代码。最好关闭连接并记录错误。 |