getOutputStream() has already been called for

在Action中,有这样一个需求,将服务器的一个文件读取出来并写入response中,很自然,我们会
response.getOutputStream(),然后在去针对文件建立InputStream,这样然后通过,IOUtils.copy(input,output),进行文件的传输,但是很不巧总会出现上面的问题,查询了许多资料问题是
Writer和OutputStream冲突,因为这两个的读取方式是不一样的同时使用会导致冲突,而Servlet中,转Jsp的时候,在jsp中的数据就是通过writer获取的,所以
(1)及时的关闭并释放OutputStream
(2)不进行跳转,return null,或者方法是void
(3)不用OutputStream,而是采用Writer

你可能感兴趣的:(Web,Java实践与思索)