2012-03-28 3 views
1

Я использую JSF 2.1.7 Mojarra.jsf 2.1.7 ошибка FacesFileNotFoundException вместо http status status 404

Если я пишу неверный URL-адрес (страница, которая не существует) в адресной строке браузера, чтобы проверить, что я перенаправлен на страницу пользовательских ошибок для http-ошибки 404, вместо этого я получаю следующее исключение (ошибка 500):

com.sun.faces.context.FacesFileNotFoundException 

Я обнаружил, что это ошибка. Смотрите следующий вопрос в Jira:

http://java.net/jira/browse/JAVASERVERFACES-1762

И что это было уже зафиксировано (изменение кода некоторых JSF классов). См:

http://java.net/projects/mojarra/lists/commits/archive/2010-12/message/18

Но я не нашел ни одного патча.

Где я могу получить исправление, исправляющее эту ошибку? Возможно ли получить или заставить меня самостоятельно переопределить код JSF?

спасибо.

ответ

3

Я полагаю, что JSF пытается быть независимым от Servlets/HTTP с этим исключением. Я просто поймаю его в фильтре:

 try { 
      chain.doFilter(request, response); 
     } catch (FacesFileNotFoundException e) { 
      response.sendError(404, e.getMessage()); 
     }