如果我致电ServletResponse.flushBuffer()
,
我是否需要致电ServletResponse.getOutputStream().close()
和/或 ServletResponse.getOutputStream().flush()
答案 0 :(得分:5)
flush()
和close()
都是完全不同的方法:
flush()...
flush()
方法用于刷新对客户端的缓冲响应。它还将导致提交响应标头。
默认情况下,如果到达内部缓冲区,Server容器将自动调用此方法。
如果要以自定义块的形式发送响应,则应明确调用。
关闭()...
close()
方法用于关闭响应流,以便不再写入数据。
默认情况下,Server容器将在Servlet生命周期结束时自动调用它。
如果您不想允许写回复超出任何一点,您应该明确调用。尝试这样做会抛出IOException。