【发布时间】:2015-11-07 03:12:38
【问题描述】:
我正在尝试在 jsp 页面中包含来自 servlet 的响应:
<li><jsp:include page="/icr/TasksServlet.html"/></li>
servlet 返回一个词:
try (PrintWriter out = response.getWriter()) {
out.println("OOps");
out.flush();
out.close();
}
结果是我的页面在“OOps”之后直接被截断
<ul class="navList">
<li>ICR Open Tasks</li>
<li>
<ul>
<li>OOps
tomcat 抛出这个错误:
org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet
[validateUser] in context with path [/CAS] threw exception
[java.lang.IllegalStateException: Exception occurred when flushing data]
with root cause
java.io.IOException: Stream closed
我尝试添加和删除 out.flush();和 out.close();以及在 jsp:include 标记中添加了 flush="true"。
我运行tomcat 8.0.24;带有 Spring MVC 的 Netbeans。
编辑:它有点类似于reported bug,但它已在 tomcat 8.0.18 版以后修复。明天我将在 glassfish 服务器上运行代码,看看它是否是服务器问题。
【问题讨论】: