Как перейти на другую страницу в Java после предоставления возможности загрузки

1

Я предоставляю функцию загрузки для файла, который я генерирую. Код для загрузки

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

как только этот код был успешно выполнен, это означает, что ответ уже используется. Поэтому, когда я пытаюсь использовать response.sendRedirect() или RequestDispatcher, это показывает мне исключение, что ответ уже завершен.

Так может ли кто-нибудь помочь мне, как я направляю свое исполнение на другую страницу после загрузки?..

Теги:
servlets

1 ответ

1
Лучший ответ

То, что вы испытываете, - это правильная функциональность Servlets. Это один раз после фиксации ответа (отправка первой строки с заголовками HTTP) вы ничего не можете сделать.

Но то, что вы можете сделать, это сделать наоборот, как на странице загрузки Eclipse или на странице загрузки Sourceforge.

Сначала вы можете показать страницу, в которой говорится "Спасибо" за загрузку или что-то еще, и у нее может быть ссылка для клика и загрузки или javascript, который будет загружаться автоматически, вызывая загрузку Servlet.

  • 0
    Спасибо, это очень помогает мне ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню