getOutputStream () уже назвали для этого ответа

Мой опыт состоит в том, что 90% запросов и/или хранимых процедур не должны быть записаны вообще (по крайней мере, вручную).

Доступ к данным должен быть сгенерирован так или иначе автоматически. Можно решить, требуется ли статично генерировать процедуры во время компиляции или динамично во время выполнения, но когда Вы хотите, добавляет столбец к таблице (свойство к объекту), необходимо изменить только один файл.

56
задан giliev 13 January 2016 в 09:45
поделиться

3 ответа

Хорошо, вы должны использовать сервлет , а не JSP, но если вам действительно нужно ... добавьте эту директиву вверху страницы:

<%@ page trimDirectiveWhitespaces="true" %>

Или в разделе jsp-config ваш web.xml

<jsp-config>
  <jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <trim-directive-whitespaces>true</trim-directive-whitespaces>
  </jsp-property-group>
</jsp-config>

Также flush / close the OutputStream и вернитесь, когда закончите.

dataOutput.flush();
dataOutput.close();
return;
50
ответ дан 26 November 2019 в 17:21
поделиться

JSP - это среда представления, и обычно не предполагается, что она содержит в себе какую-либо программную логику. Как предложил скаффман, используйте чистые сервлеты или любую веб-платформу MVC для достижения желаемого.

2
ответ дан 26 November 2019 в 17:21
поделиться

Проблема в том, что ваш JSP обращается напрямую к ответу OutputStream . Технически это не запрещено, но это не очень хорошая идея.

В частности, вы вызываете response.getOutputStream () и записываете в него данные. Позже, когда механизм JSP пытается сбросить ответ, он терпит неудачу, потому что ваш код уже «потребовал» ответ. Приложение может вызвать getOutputStream или getWriter для любого заданного ответа, ему не разрешено делать оба. Механизмы JSP используют getWriter , поэтому вы не можете вызывать getOutputStream .

Вы должны писать этот код как сервлет, а не JSP. JSP действительно подходят только для текстового вывода, содержащегося в JSP. Вы можете видеть это там ' в вашем JSP нет фактического вывода текста, он содержит только java.

35
ответ дан 26 November 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: