Плагин браузера или панель отладки для приложений JSP - PullRequest
0 голосов
/ 02 марта 2011

Я так привык к приятной странице ошибок Django со всеми подробностями, поэтому я действительно борюсь с неспособностью Tomcat / JSP сделать то же самое с базовыми JasperException s, вызванными ошибками в написании тегов JSP и т. Д. Они все идутв localhost.log, и их очень трудно обнаружить или прочитать.

Есть ли плагин для браузера или небольшое JSP-приложение для этого?

Я могу try/catch все исключенияв моих JSP и передать его этому приложению / плагину, чтобы он мог приятно отображать подробности ошибки в плавающем div или что-то.

1 Ответ

1 голос
/ 02 марта 2011

Я не знаю ничего подобного. И я подозреваю, что было бы трудно сделать намного лучше нынешнего; например HTTP 500 отвечает за ошибки компиляции JSP и ... ничего полезного не доставляется в браузер для ошибки выполнения JSP.

Фундаментальная проблема - это модель реализации сервлетов и JSP. По сути, сервлет «фиксирует» HTTP-ответ, как только открывает поток вывода. Как только это происходит, нет возможности изменить заголовки ответа. Вы не можете изменить код статуса ответа. Вы не можете изменить заголовок типа контента.

Если во время выполнения JSP или тега выдается какое-то исключение, нет хорошего способа сообщить об этом браузеру. Скорее всего, ответ фиксируется с типом контента "text / html" и что JSP начал писать HTML. Не могу отменить. Поздно. К сожалению.

И если JSP не может надежно доставить диагностическое сообщение в браузер, плагин для браузера не поможет.

Единственный способ «исправить» это было бы для JSP записать тело ответа в буфер в памяти и скопировать его в выходной поток только после его завершения и определить, что исключения не будут выброшены , Это не исправит, не полетит из-за влияния на производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...