【问题标题】:Does a servlets PrintWriter out stream really need to be closed?servlet PrintWriter 输出流真的需要关闭吗?
【发布时间】:2011-12-09 21:35:37
【问题描述】:

我写了一个简单的servlet如下:

public class MyServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        // [do stuff with the PrintWriter]
        out.close();
    }
}

是否需要关闭PrintWriter 输出流?如果我不关闭流,是否会进一步影响?

【问题讨论】:

标签: java jakarta-ee tomcat servlets


【解决方案1】:

如果不是你打开流,你不应该关闭它。

流由容器打开,因此关闭的责任在于它。

【讨论】:

  • 我使用的是 Tomcat 5.5,但在他们的文档中没有发现任何提及这一点
  • 所以你不要关闭它;)
  • 当我的应用程序正在关闭 PrintWriter 流时,我在 Tomcat 中遇到了巨大的痛苦,在交通繁忙的情况下。也不要flush(),除非你知道你为什么这样做。否则,您将覆盖容器缓冲机制。
猜你喜欢
  • 2011-06-29
  • 2010-12-22
  • 2011-11-23
  • 1970-01-01
  • 2012-12-11
  • 2012-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多