2 lslyhj lslyhj 于 2014.11.29 20:48 提问

response.getWriter().close() 必须关闭吗?不关闭会怎样?

【PrintWriter out = response.getWriter() 必须关闭吗?不关闭会怎样?】
经过一番搜索,得出如下信息:
1、通常情况下,任何流都是需要关闭的,否则将造成 memory leak(内存溢出)。
但是在 servlet 中的,不是一定要关闭的,因为 response 会帮你关闭 。
问题:对于这句话不确定是否正确?若是正确的,那么它是如何关闭的?

2、Servlet 与 Filter 中的 request 、response 、out 对象是同一个对象。
很多时候 Filter 需要把 response 里面的内容拿出来,进行过滤,比如编码上的问题。
若调用了 out.close(),则其它的 Filter 将出现异常。
响应结束时,Servlet 会自动将 out 关闭。

3、若没有用到过滤器,则可以在 Servlet 中显示调用 out.close() 关闭 PrintWriter 。

4、有用到过滤器,可以在 Servlet 的 destroy 方法中,显式调用 out.close 方法。
问题:servlet 中 destroy 默认是如何执行的?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!