Поддержка JSR-45 (номера строк в JSP) в Jetty - PullRequest
1 голос
/ 07 января 2012

Как мне получить трассировку стека, приходящую от скомпилированных JSP, для включения номеров строк из фактического файла JSP, а не из промежуточного файла Java сервлета?

Я использую Jetty 8. В настоящее время я использую экземпляр Jetty программно.

(я использую Eclipse для кодирования, если это представляет интерес для поддержки номера строки, я не совсем понимаю логику JSR-45 SMAP - это файл "side car", или эта информация помещена в актуальные файлы классов?)

Будет ли отладка, работа точек останова, пере. JSPs

1 Ответ

3 голосов
/ 10 января 2012

Обновление: июнь 2017

Jetty 9 больше не использует Glassfish JSP.

Используется Apache Jasper JSP, применяются те же правила, что и ниже.

Оригинальный ответ

Jetty использует JspServlet из проекта Glassfish для управления всей обработкой JSP.

В JspServlet есть 3 параметра init (см. Содержание ${jetty.home}/etc/webdefault.xml), которые могут помочь.

  • "keepgenerated" (логическое) true
  • "разработка" (логическое значение) true
  • "classdebuginfo" (логическое) true

Установите для всех этих параметров времени разработки значение true, и вы должны увидеть больше информации. А также иметь промежуточный исходный файл для ссылки. Эти сгенерированные исходные файлы содержат строку с закомментированным исходным кодом jsp, затем результирующий исходный файл java, который вы также можете использовать для обратной ссылки, какая строка вашего jsp вызвала исключение.

Также обратите внимание, что JspServlet от Glassfish также использует java.util.logging в качестве базовой инфраструктуры ведения журналов. Чтобы увидеть все подробности JspUsage (включая номера строк jsp), попробуйте настроить java.util.logging для пространства пакета «org.apache.jasper» на уровне FINEST.

...