servlet 是否共享同一个 servletoutputstream 对象?

Do servlet share same servletoutputstream object?

我对我的 mind.I 项目有一个疑问 运行 成功 before.But 突然间我遇到了下面给出的一个问题

java.lang.InternalError: java.io.IOException: Stream closed
at java.text.BreakIterator.createBreakInstance(BreakIterator.java:596)
at java.text.BreakIterator.getBreakInstance(BreakIterator.java:541)
at java.text.BreakIterator.getLineInstance(BreakIterator.java:468)
at java.text.BreakIterator.getLineInstance(BreakIterator.java:455)
at javax.swing.text.Utilities.getBreakLocation(Utilities.java:427)

当我发送输出流作为响应时,我的 jasper 报告出现错误

我想知道 1 tomcat 是否为一个应用程序共享公共 servletOutputStream? 2 tomcat 是否为一个 servlet 共享一个 ServletOutputStream? 3 据我所知,容器为每个响应创建新的 ServletOutputStream。

请告诉我哪一个是正确的。

ServletOutputStream 是为每个单独的 ServletResponse 创建并与之关联的(这又与单个请求关联)。

不与其他请求共享。

这个错误总是发生吗?只是有时吗?您真的在浏览器中收到错误消息 window 吗?

否则,您可能只会看到连接中断(例如,当浏览器 window 在报告生成完成之前关闭时)。