Глобально обрабатывать исключения в JSF2 - PullRequest
0 голосов
/ 07 сентября 2011

Я хочу отправить пользователя на одну страницу ошибки при возникновении ошибки, будь то 404, 500 и т. Д.Я использовал код ошибки в файле web.xml, но хочу перехватить все экземпляры java.lang.Throwable, поскольку я считаю, что любая ошибка является подклассом java.lang.Throwable.Кроме того, когда я использовал схему с кодом ошибки, следы стека больше не появлялись в Tomcat's catlina.out ... есть идеи?Я не был уверен, обрабатывал ли API ExceptionHandler JSF2 404s?

<error-page>
    <error-code>404</error-code>
    <location>/pageNotFound.html</location>
  </error-page>
  <error-page>
    <error-code>500</error-code>
    <location>/systemError.html</location>
  </error-page>

1 Ответ

1 голос
/ 07 сентября 2011

когда я использовал схему с кодом ошибки, трассировки стека больше не появлялись в Tomcat's catlina.out

Это не стандартное поведение.Ваша проблема вызвана чем-то другим.Возможно, это неправильная методика тестирования или, возможно, вы подавляете исключения и вручную перенаправляете в какой-то Filter или что-то подобное.Это невозможно ответить на основании предоставленной информации.


Я не был уверен, обрабатывал ли API-интерфейс ExceptionHandler JSF2 404s?

Зависит.Если URL-адрес запроса совпадает с FacesServlet, то по умолчанию он выдает FileNotFoundException, который в конечном итоге заканчивается как HTTP 500. Если URL-адрес запроса не соответствует FacesServlet или любому другому сервлету, контейнер сервлета будет обрабатыватьэто как HTTP 404.

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