首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问WildFly中不存在的JSF页面时未显示404错误页

访问WildFly中不存在的JSF页面时未显示404错误页
EN

Stack Overflow用户
提问于 2014-03-26 21:28:23
回答 1查看 6.5K关注 0票数 1

我正在将我的应用程序部署到WildFly 8中,并试图对其进行配置,以便通过将以下内容添加到web.xml中来提供自定义的404错误页面

代码语言:javascript
复制
<error-page>  
    <error-code>404</error-code>  
    <location>/error.jsf</location>  
</error-page>

当我尝试访问不退出的非JSF页面时,这很好。例如,如果我试图访问一个名为IDoNotExist.html的页面,那么我的错误页面将正确显示。

但是,如果我试图访问一个不存在的JSF页面,例如IDoNotExist.jsf,那么我就不会得到我的自定义错误页面--我只会得到一个空白页面,下面的错误将被记录到WildFly。

代码语言:javascript
复制
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.  

注意,错误日志引用一个.JSP页面,而我试图访问一个.JSF页面。

我尝试为JSP页面添加mime类型映射,虽然这消除了控制台上的错误消息,但我仍然没有看到针对不存在的JSF页面的自定义404页。

我还认为在呈现页面之前可能会抛出一些异常,所以我尝试在web.xml中添加一个异常错误处理程序,但这也没有什么区别。

我的web.xml文件中缺少了什么吗?还是需要一些其他配置?

我的web.xml很简单:

代码语言:javascript
复制
<?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>

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-26 23:04:34

我通过定义JSF映射来响应*.xhtml文件来解决这个问题,而不是使用默认的.jsf

代码语言:javascript
复制
<servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

当我使用*.xhtml作为jsf映射时,将正确处理自定义404页。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22673449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档