2014-03-26 2 views
1

WildFly 8에 내 앱을 배포하고 웹에 다음을 추가하여 맞춤 404 오류 페이지가 제공되도록 구성하려고 시도했습니다. xml404 WildFly에서 존재하지 않는 JSF 페이지에 액세스 할 때 오류 페이지가 표시되지 않음

<error-page> 
    <error-code>404</error-code> 
    <location>/error.jsf</location> 
</error-page> 

종료되지 않은 비 JSF 페이지에 액세스하려고하면 정상적으로 작동합니다. 예를 들어 IDoNotExist.html이라는 페이지에 액세스하려고하면 내 오류 페이지가 올바르게 표시됩니다.

그러나 존재하지 않는 JSF 페이지에 액세스하려고 시도합니다. IDoNotExist.jsf, 그러면 사용자 정의 오류 페이지가 표시되지 않습니다. 빈 페이지 만 표시되고 WildFly에 다음 오류가 기록됩니다.

WARNING [javax.enterprise.resource.webcontainer.jsf.context] (default task-8) JSF1091: No mime type could be found for file 
/IDoNotExist.jsp. To resolve this, add a mime-type mapping to the applications web.xml. 

오류 로그는 .JSF 페이지에 액세스하려고 시도했지만 .JSP 페이지를 참조합니다.

JSP 페이지의 MIME 유형 매핑을 추가하려고 시도했지만 콘솔에서 오류 메시지를 없애지 만 존재하지 않는 JSF 페이지에 대한 사용자 정의 404 페이지가 표시되지 않습니다.

페이지가 렌더링되기 전에 일부 예외가 throw되어 웹 페이지에 예외 오류 처리기를 추가하려고 시도했으나 아무런 차이가 없었습니다.

web.xml 파일에 누락되었거나 다른 구성이 필요합니까?

내 web.xml 파일은 단순히 :

<?xml version="1.0" encoding="UTF-8"?> 

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
     version="3.1"> 
    <error-page> 
     <error-code>404</error-code> 
     <location>/error.jsf</location> 
    </error-page> 
</web-app> 

감사합니다.

답변

1

내가 대신 내 JSF 매핑 등 * .xhtml을 사용하는 경우

<servlet-mapping> 
    <servlet-name>FacesServlet</servlet-name> 
    <url-pattern>*.xhtml</url-pattern> 
</servlet-mapping> 

.jsf 기본값을 사용하는 * .xhtml 파일에 응답하는 JSF 서블릿 매핑을 정의하여이 문제를 해결하기 위해 관리했습니다, 맞춤 404 페이지가 올바르게 처리됩니다.

+0

내 FacesServlet 매핑에 * .html이 있는데 html 페이지를 시도 할 때 예외가 발생합니다 ... 오류 [io.undertow.request] (기본 작업 -11) UT005023 :/404에 대한 예외 처리 요청. html : javax.servlet.ServletException – Dkyc