在Spring 3.0文档的Section 15.3.2.3 Supported handler method arguments and return types中,它表示可以将java.io.OutputStream或java.io.Writer指定为使用@RequestMapping注释的方法的参数,以生成响应的内容。这个值是Servlet API公开的原始OutputStream / Writer。“方法是否有责任在编写器完成之前关闭它,或者它应该保持打开状态,而其他一些Spring进程是否会关闭它?
答案 0 :(得分:3)
应该不管它。作为一般的经验法则,如果您的代码没有打开它,那么它也不应该关闭它。
在这种情况下,servlet容器(不是Spring)负责刷新和关闭所有流。
你可以自己做,我怀疑它会造成任何伤害,但是没有必要这样做。
答案 1 :(得分:1)
skaffman是正确的,你不必关闭它,实际上可能不应该关闭它,但是刷新()它仍然是一个好主意,特别是在'finally'子句中,如果你正在处理代码那么抛出异常,即从数据库导出。