servlet-response.getWriter.close 必须关闭吗?不关闭会怎样
发布网友
发布时间:2022-05-20 17:43
我来回答
共1个回答
热心网友
时间:2023-11-05 11:24
经过一番搜索,得出如下信息:
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 默认是如何执行的?