Я хотел бы, чтобы мое приложение отображало пользовательскую страницу ошибки при возникновении исключения. Ответ, содержащий страницу, должен иметь правильный статус HTTP и содержать сообщение об исключении и, возможно, другие данные из объекта исключения.
Я уже пробовал 2 подхода, и ни один из них не работает:
1) Возврат ModelAndView из подкласса AbstractHandlerExceptionResolver
- я могу создать любую страницу с ошибкой, которую захочу, но она будет обслуживаться с HTTP-статусом 200 OK.
2) Указание страницы ошибки в web.xml - не могу найти способ получить доступ к исключению.
Хорошо, решил. На самом деле оказалось довольно легко. Я использовал HttpServletResponse.setStatus
. Обратите внимание, что использование sendError
работает неправильно.