您确实不需要这样做。
经验法则:如果您没有使用自己创建/打开它
newSomeOutputStream(),则不需要自己关闭它。例如
newFileOutputStream("c:/foo.txt"),如果它是一个,那么您显然需要自己关闭它。有些人仍然这样做的原因仅仅是为了确保不再将任何内容写入响应主体。如果发生这种情况,则将
IllegalStateException在appserver日志中导致,但这不会影响客户端,因此客户端仍会获得正确的响应。这也是一种更容易的调试,可以发现请求-响应链中的潜在问题,这些乍看之下您不会看到。例如,其他一些东西正在将更多数据附加到响应主体,位于链的更下游。
在初学者中看到的另一个原因是,他们只是想防止更多数据写入响应主体。当JSP在响应中不正确地发挥作用时,您经常会看到这种情况。他们只是忽略
IllegalStateException日志中的。不用说,这个特定的目的是有害的。



