java - 通过 Spring MVC Web 应用程序向客户端发送文本文件

标签 java spring jsp spring-mvc servlets

在对该主题进行一些在线研究后,我目前设法使用此代码进行工作:

@RequestMapping(value = "/report040Generated", method = RequestMethod.GET)
    public String index(Model model, HttpServletResponse response, HttpServletRequest request) throws IOException {

        String myString = "Hello";
        response.setContentType("text/plain");
        response.setHeader("Content-Disposition","attachment;filename=myFile.txt");
        ServletOutputStream out = response.getOutputStream();
        out.println(myString);
        out.flush();
        out.close();

        return "index";
    }

我的问题是,当我单击 JSP 按钮时,文件会被下载,但该方法不会重定向到“index”.jsp View ,并给我一个 IllegalStateExcepton:

严重:servlet jsp 的 Servlet.service() 抛出异常 java.lang.IllegalStateException:已为此响应调用 getOutputStream()

对于可能导致此问题的原因有什么建议吗?

最佳答案

返回文件时无法重定向到另一个页面,因为文件本身是 http 响应。很好的解释在这里:Spring - download file and redirect

关于java - 通过 Spring MVC Web 应用程序向客户端发送文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924049/

相关文章:

java - 丰富的建议 - 为什么输入为空? (接缝框架)

java - 消息、处理程序和线程 : Lego Mindstorms bluetooth communication

java - 是否可以使用 DSL 将 bean id 分配给 spring 集成入站适配器

java - 为什么我的图像不显示在 jsp 中? [使困惑]

java - 从 JSP EL 函数访问隐式对象

jsp - 部署报错,Access to tomcat not authorized报错

java - Python 数组与 Java 中的相同吗?

java - Spring-security 与 spring-4.3.0-release 的兼容版本是什么?

java - 不确定如何使用 Spring jdbcTemplate 和 PreparedStatementSetter 返回生成的列 id 值

Spring 3 MVC : problem with form:errors and bindingresult