在ServletOutputStream中写入字节时的管道中断
在执行此代码时,
ServletOutputStream out = response.getOutputStream();out.write(bytes, 0, bytes.length);
out.flush();
out.close();
我经常收到此异常,但我不知道为什么会发生。
Caused by: ClientAbortException: java.net.SocketException: Broken pipe at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:354)
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
我有一个在JBoss 4.2.3和MySQL下的Linux服务器中运行的Web应用程序。
这是怎么引起的,我该如何解决?
回答:
通常,这是由于客户端断开连接。客户端可能已断开连接的原因有很多(超时,浏览器关闭等)。另外,按照惯例,如果您没有打开流,那么请不要关闭。有关在此处关闭流的更多信息,我应该关闭servlet输出流吗?。
以上是 在ServletOutputStream中写入字节时的管道中断 的全部内容, 来源链接: utcz.com/qa/428789.html