Как отладить тег ?

#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