Java EOF文件异常

时间:2017-11-24 12:02:23

标签: java jetty eof

你知道为什么会产生这个错误吗?

错误: -

  

(org.eclipse.jetty.io.EofException:Closed)org.eclipse.jetty.io.EofException:在java.io的org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:325)处关闭.OutputStream.write(OutputStream.java:75)。

导致错误的代码如下: -

try {
    chain.doFilter(request, wrappedResponse);
    wrappedResponse.flushBuffer();
} finally {
    byte[] bytes = wrappedResponse.getCopy();
    if (wrappedResponse.getContentType() != null && wrappedResponse.getContentType().contains("text/html")) {
        if (bytes.length > 0) {
            String out = new String(bytes);
            out = out.replace(
                "</head>", "Hello</head>");

            response.getOutputStream().write(out.getBytes());
        }
    } else {
        //line         
        response.getOutputStream().write(bytes);
    }
}

1 个答案:

答案 0 :(得分:0)

这很常见。

客户端在收到整个响应之前关闭了连接。

一些示例:长连接,移动连接,片状连接,甚至是关闭选项卡或在完全收到响应之前离开的浏览器。)。

servlet在OutputStream.write()期间将此视为EOF异常,因为在该连接上无法再写入任何内容。