如何在提供下载选项后重定向到java中的另一个页面

时间:2014-03-13 03:43:30

标签: java servlets

我正在为我生成的文件提供下载功能。 提供下载选项的代码是

ServletOutputStream sos=response.getOutputStream();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition","attachment;filename=" + "Timesheet.pdf" ); 
sos.write();

一旦此代码成功执行,就意味着已经使用了响应。 因此,当我尝试使用response.sendRedirect()或RequestDispatcher时,它会向我显示已经提交响应的异常。

所以任何人都可以帮助我在提供下载后将我的执行指向另一个页面。?

1 个答案:

答案 0 :(得分:1)

您遇到的是Servlet的正确功能。这是在提交响应之后(使用HTTP标头发送第一行),你不能做任何事情。

但你可以做的是,像Eclipse下载页面或Sourceforge下载页面那样做。

首先,您可以显示一个页面,上面写着感谢您下载或其他任何内容,它可以有一个点击和下载的链接或一个javascript,它将通过调用您的下载Servlet自动下载。