【问题标题】:Java, getting : java.net.SocketException: Broken pipe when ouput a excel fileJava,获取:java.net.SocketException:输出excel文件时管道损坏
【发布时间】:2014-01-15 18:26:00
【问题描述】:

我有一个有问题的 JEE 应用程序: 通常是网页浏览器请求将数据导出到excel文件,服务器将xls文件发送给网页浏览器客户端。

在浏览器发出请求导出数据到excel文件的某些请求参数下,服务器不发送响应,而是服务器总是抛出java.net.SocketException: Broken pipe

相关代码为:

ByteArrayOutputStream memStream = getDocumentBO().generateDoc(document, numExp, tipo,     indexCol, nameCol, widthCol, orden, sc, url, true);
int size = memStream.size();
Long name = new Date().getTime();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", ("attachment;filename=" + name + ".xls"));
response.setContentLength(size);
ServletOutputStream ouputStream = response.getOutputStream();
memStream.writeTo(ouputStream);
ouputStream.flush();
ouputStream.close();

导致异常的代码行是memStream.writeTo(ouputStream);

堆栈跟踪是:

java.net.SocketException: Broken pipe

at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at weblogic.servlet.internal.ChunkOutput.writeChunkNoTransfer(ChunkOutput.java:548)
at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:505)
at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:382)
at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:469)
at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java:304)
at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:137)
at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:169)
at java.io.ByteArrayOutputStream.writeTo(ByteArrayOutputStream.java:112)
at net.gencat.acc.sic.action.ExportAction.execute(ExportAction.java:202)

浏览器客户端在发出请求和服务器抛出异常之间没有关闭。服务器是 weblogic。

我想解决这个问题

【问题讨论】:

    标签: java sockets exception servlets weblogic


    【解决方案1】:

    浏览器客户端在发出请求和服务器抛出异常之间没有关闭。

    哦,是的。对等方已关闭连接。没有两种方法。

    【讨论】:

      猜你喜欢
      • 2011-03-19
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      相关资源
      最近更新 更多