#java #jsp #tomcat #servlets
#java #jsp #tomcat #сервлеты
Вопрос:
Есть ли способ отладить <jsp:include>
тег?
У меня есть, container.jsp
это jsp:include
сервлет. container.jsp
имеет форму внутри. Когда я получаю container.jsp
запрос GET, jsp:include
работает нормально, и вывод из целевого сервлета отображается внутри. Но когда я получаю container.jsp
по POST-запросу, выходные данные целевого сервлета не отображаются на странице.
Проблема в том, что я не могу понять, что именно идет не так с jsp:include
. Почему он должен нормально работать в одной ситуации и незаметно исчезать в другой. Я попытался включить org.apache.jasper.runtime.JspWriterImpl
журналы с помощью log4j на TRACE
уровне, но это ничего не показало.
Есть ли какой-либо способ / техника / инструмент, чтобы выяснить, что происходит внутри jsp:include
во время выполнения? Есть ли какая-либо альтернатива jsp:include
, с которой проще работать? Любая помощь будет высоко оценена.
Комментарии:
1. вы писали код вывода только в
doGet()
своем сервлете?2. Да, вывод целевого сервлета осуществляется только с помощью doGet(). Но как это связано с проблемой?
3. Круто! Я также подключил код вывода к doPost(), и теперь он работает нормально: D Большое спасибо за подсказку! Пожалуйста, добавьте свой комментарий в ответ, и я пометю его как принятый.
Ответ №1:
Когда вы делаете XXX-запрос к page1.jsp, который включает Servlet1, будет вызван его doXxx()
сервлет
Итак, в вашем случае вызывается youd doPost()
, который ничего не делает, как вы упомянули
Ответ №2:
вы генерируете свой вывод с помощью doGet()
, поэтому он отлично работает, когда вы получаете свой jsp с помощью GET
запроса.
Создайте метод и вызовите его из doGet()
и doPost()
в вашем сервлете, который генерирует выходные данные.
Затем он будет работать как для POST, так и для GET