powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с передачей файла клиенту из JSP
5 сообщений из 5, страница 1 из 1
Проблема с передачей файла клиенту из JSP
    #33687868
Anton_olap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создаю поток ByteArrayOutputStream, который содержит файл Excel на основе POI.
пытаюсь передать файл клиенту с помощью сервлета:

<%@ page session="true" contentType="text/html; charset=windows-1251" %>
<%@ page import="mylib.excel.report.OutToExcel" %>
<%@ page import="java.util.*" %>
<html>
<head>
отчет в Excel
</head>
<body bgcolor="#FFFFFF">
отчет в Excel
<%
OutToExcel excelBean = (OutToExcel)session.getAttribute("excelBean");//
try {
response.setContentLength((int) excelBean.getExcel().size());
response.setContentType( "application/vnd.ms-excel; charset=windows-1251");
response.setHeader("Content-disposition", "attachment; filename=report.xls");
ServletOutputStream out2 = response.getOutputStream();
out2.write(excelBean.getExcel().toByteArray(), 0, excelBean.getExcel().size());
out2.flush();
excelBean.clearOut();
}
catch (Exception e) {
System.out.println("error in URI" + e);
}
%>
</body>
</HTML>


Сервер выдает следующую ошибку:

java.lang.IllegalStateException: getOutputStream() has already been called for this response.
Подозреваю что в сервлете много лишнего, но мои эксперименты пока не привели к успеху...
...
Рейтинг: 0 / 0
Проблема с передачей файла клиенту из JSP
    #33687893
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое время какую-нибудь книжку про сервлеты / JSP прочитать или нанять, кто понимает, что к чему.
...
Рейтинг: 0 / 0
Проблема с передачей файла клиенту из JSP
    #33687901
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как человек, почти не знакомый с сервлетами и jsp, могу лишь сказать, что когда ваша jsp-страница преобразуется в сервлет, в ней вызов getOutputWriter() идет ранее, поэтому сервлет выкидывает исключение о том, что нельзя второй раз получать выходной поток. Я если честно, не понял, как вы так собирались смешать html с excel? Короче, как правится эта проблема? Создается сервлет, в котором размещен код того скриптлета с отправлением excel-файла. На этой странице дается ссылка на тот сервлет и клиент получает ваш excel-файл
...
Рейтинг: 0 / 0
Проблема с передачей файла клиенту из JSP
    #33687930
Anton_olap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, я пошел по простому варианту: ссылка получения отчета в Excel. Получается что при переходе по ней человек просто получает файл.
2 М.Голованов: с удовольствием прочту Ваши рекомендации по литературе.
...
Рейтинг: 0 / 0
Проблема с передачей файла клиенту из JSP
    #33688152
knu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
knu
Гость
Любая книжка по JSP поможет. Вообще советую посмотреть на откомпиленную JSP, думаю многое станет понятным.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с передачей файла клиенту из JSP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]