Если в сервисе или контроллере возникает исключение, то оно обрабатывается пружинными резольверами HandlerExceptionResolvers. Однако если в обработке .jsp происходит исключение (например, - PropertyNotFoundException
, происходит даже с помощью JSTL), то пружина не проходит через свой механизм обработки исключений. Более того, это не считается ошибкой 500, поэтому конфигурация
не учитывается
, вместо этого исключение передаётся в контейнер сервлета. Что нормально, но на самом деле я не могу получить желаемое поведение:
My current setup:
isErrorPage=true
<%@ page errorPage="500.jsp" %>
What happens is - the exception is not recorded anywhere. А страница ошибки не показывается. Вместо этого запрашиваемая страница показывается полуудаленной. Если я увеличу размер буфера (достаточно, чтобы дойти до проблемного места в коде), то только тогда будет показана страница ошибки. (опять же, без протоколирования)
Итак, как мне добиться того, что я хочу? Без изменения размера буфера, без использования
, и без ex.printStackTrace()
в странице ошибки)