你知道为什么会产生这个错误吗?
错误: -
(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);
}
}
答案 0 :(得分:0)
这很常见。
客户端在收到整个响应之前关闭了连接。
一些示例:长连接,移动连接,片状连接,甚至是关闭选项卡或在完全收到响应之前离开的浏览器。)。
servlet在OutputStream.write()
期间将此视为EOF异常,因为在该连接上无法再写入任何内容。