gpt4 book ai didi

java - 处理 ServletResponse 的 .get{Writer,OutputStream}() 返回的 Writer/OutputStream : what to do and not to do?

转载 作者:行者123 更新时间:2023-11-30 04:32:02 26 4
gpt4 key购买 nike

我第一次涉足 Java servlet 编程,并且由于我对“服务器端”编程更加熟悉,因此我养成了一些处理 Writer 和 OutputStreams 的习惯。然而,也许这些习惯在编写 servlet 时并不适合,并且可用的 Javadoc 并没有明确回答我下面的两个问题。

第一个问题:当你尝试写入时,你应该捕获抛出的 IOExceptions 吗?如果您不这样做,那么在这种情况下 servlet 容器的默认行为是什么(即 HTTP 返回代码是什么)?

第二个问题:你应该让 servlet 引擎为你关闭 OUTputStream/Writer 吗?在 servlet 内自行关闭它是否有任何危险?

最佳答案

First question: should you catch IOExceptions thrown when you attempt to write to them? Provided that you don't, what is the default behaviour of servlet containers in this case (ie, what is the HTTP return code)?

从 servlet 抛出的随机异常的默认错误代码通常是 503(内部服务器错误),但我不认为有这样的要求(即不同的 servlet 容器可能会做不同的事情)。是否应该捕获异常并自己处理它完全取决于您的 servlet 需要具有什么行为(也许您对于不同的情况有不同的错误代码,也许您想继续,即使您无法读取所有数据,等)。

Second question: should you let the servlet engine close the OUtputStream/Writer for you? Is there any danger in closing it yourself inside the servlet?

我相信大多数(所有?)servlet 引擎都会为您关闭流,但是我仍然认为最好自己关闭它。

关于java - 处理 ServletResponse 的 .get{Writer,OutputStream}() 返回的 Writer/OutputStream : what to do and not to do?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14403414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com