0

正在开发一个应用程序,该应用程序需要从文件服务器下载批量数据,最大文件大小限制固定为 3 Mb。这意味着我的最大下载容量为 3 Mb。我正在将输入流写入响应输出流。我的问题是我需要在下载后将我的响应重定向到一个 jsp 页面。现在,当我使用我的 servlet 中的代码重定向时..我得到一个 java.lang.IllegalStateException:在响应提交后无法转发

RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/save.jsp");
rd.forward(request, response);

我该如何重定向。将在单独的线程中下载对我有帮助。请建议....

4

2 回答 2

2

你做不到。

基本上,“提交”的意思是服务器端已经开始向客户端发送响应消息。至少,它已经发送了包含响应状态代码的响应的第一“行”。如果您想进行重定向,则(部分)通过3xx在响应中设置状态代码来实现。

在响应提交之前,您必须想办法进行重定向。

于 2010-08-07T04:56:48.720 回答
0

当响应已经设置时,您不能重定向。更多细节在这里

于 2010-08-07T04:50:05.310 回答