Я исправил подобную проблему на моей error.jsp
странице сегодня. Это не будет точно так же, как у вас, но это может указать кому-то в правильном направлении, если у них возникнут аналогичные проблемы. Кажется, моя проблема исходила из двух разных источников.
Во-первых, свойство исключения message
не было установлено в некоторых сервлетах, которые генерировали исключения, обнаруженные страницей ошибок. Сервлеты перехватывали и перебрасывали исключения, используя конструктор ServletException(Throwable rootCause)
.
Во-вторых, на самой странице ошибки первоначальный автор использовал код скриптлета для анализа сообщения с использованием String.split(message, ";");
Поскольку сообщение было null
, это не удалось. Я получаю NullPointerException
в своем журнале ошибок вместе с сообщением «Возникла проблема при обслуживании страницы ошибки».
Эти две вещи объединились, чтобы дать мне пустую страницу по URL сервлета, который выдавал исходное исключение. Я исправил свою проблему, предоставив свое собственное сообщение об ошибке, когда я перебрасывал исключения в моих сервлетах, используя конструктор ServletException(String message, Throwable rootCause)
, поэтому сообщение об ошибке больше не будет null
. Я также переписал страницу error.jsp
, используя EL вместо кода скриптлета, но это не было строго необходимо.