Java 获取错误“;已为此响应调用getOutputStream();

Java 获取错误“;已为此响应调用getOutputStream();,java,jsp,servlets,spring-mvc,download,Java,Jsp,Servlets,Spring Mvc,Download,我正在显示某个事件的报告。我希望控制器显示保存和打开的弹出窗口 我已经在响应中设置了文件,在设置响应后,我将返回视图 现在我的问题是, 我收到错误“java.lang.IllegalStateException:getOutputStream()已为此响应调用” 在我的控制器类中我编写了以下代码: ……一些代码 InputStream is = new FileInputStream(new File("c:/reports/test_jasper.pdf")

我正在显示某个事件的报告。我希望控制器显示保存和打开的弹出窗口

我已经在响应中设置了文件,在设置响应后,我将返回视图

现在我的问题是,

我收到错误“java.lang.IllegalStateException:getOutputStream()已为此响应调用”

在我的控制器类中我编写了以下代码:

……一些代码

InputStream is =
        new FileInputStream(new File("c:/reports/test_jasper.pdf"));
            response.setHeader("Content-Disposition","attachment;filename=\"test_jasper.pdf\"");
            OutputStream opStream = response.getOutputStream();
            IOUtils.copy(is, opStream);
            response.flushBuffer();
            HttpServletResponse response1 = new HttpServletResponse();

        
        
        model.addAttribute(ABC, new abc());

        model.addAttribute(DEF, new def());
        return SOME_VIEW;
框架:

SpringMVC,Hibernate

例外情况:

java.lang.IllegalStateException:已为此响应调用getOutputStream()

所需的O/p:
我希望响应显示文件的弹出窗口,并希望浏览器重定向到其他视图。

在请求处理过程中,调用了
HttpServletResponse.getWriter()
HttpServletResponse.getOutputStream()
。根据规范,同时使用OutputStream和Writer是非法的


在请求处理过程中,试图在其他地方调用http://code>HttpServletResponse.getWriter()时引发异常,调用了http://code>HttpServletResponse.getWriter()和http://code>HttpServletResponse.getOutputStream()。根据规范,同时使用OutputStream和Writer是非法的


尝试invoje
HttpServletResponse.getWriter()
在其他地方/

IOUtils.copy(is,opStream)时引发了您遇到的异常必须尝试关闭操作后传递的响应的输出流。这会引发异常。@Jerry:解决方案是什么…?@Thihara:我尝试了“response.getOutputStream().close();”然后也显示了同样的错误,这是不可能的。HTTP不是那样工作的。
IOUtils.copy(is,opStream)必须尝试关闭操作后传递的响应的输出流。这会引发异常。@Jerry:解决方案是什么…?@Thihara:我尝试了“response.getOutputStream().close();”然后也显示了同样的错误,这是不可能的。HTTP不是这样工作的。