Tomcat JSF2自定义404错误页面不会与配置了facelet扩展的不存在页面一起显示

Tomcat JSF2自定义404错误页面不会与配置了facelet扩展的不存在页面一起显示,tomcat,jsf-2,http-status-code-404,facelets,Tomcat,Jsf 2,Http Status Code 404,Facelets,我正在研究一个JSF2/Spring3/JPA2项目,使用facelets作为视图技术 javax.faces.DEFAULT_后缀是.xhtml,而faces Servlet的url模式是*.xhtml 我们也在使用prettyfaces,但它似乎与我的问题无关,我将在下面解释 我们在Tomcat 7上 我们决定显示定制的404错误页面,并在web根目录下创建了一个名为error404.xhtml的页面。我们还在web.xml中将其配置为: <error-page> <

我正在研究一个JSF2/Spring3/JPA2项目,使用facelets作为视图技术

javax.faces.DEFAULT_后缀
.xhtml
,而
faces Servlet的
url模式
*.xhtml

我们也在使用prettyfaces,但它似乎与我的问题无关,我将在下面解释

我们在Tomcat 7上

我们决定显示定制的404错误页面,并在web根目录下创建了一个名为
error404.xhtml
的页面。我们还在
web.xml
中将其配置为:

<error-page>
    <error-code>404</error-code>
    <location>/error404.xhtml</location>
</error-page>

404
/error404.xhtml
现在当我尝试输入
http://localhost:8084/myapp/some-不存在的文件夹
我得到404页面和预期的404响应

但是当我尝试输入
http://localhost:8084/myapp/some-不存在页面。xhtml
我从Tomcat得到一个空白页面,没有错误,resonse头是200 OK

我们被困在这一点上,不知所措,因为没有任何输出、日志或错误可以将我们指向任何方向


谢谢

这是你的应用程序的登录页面,还是你试图深入链接该页面或导航到该特定页面。因为这是一个没有找到的页面,你试图访问该页面,第一个链接可以正常工作。但是,对于第二个问题,可能会生成一个异常。因此,如果您可以编写一个自定义异常处理程序,并将页面指向所需的定义,那么这个问题可以解决。

btw,我们在tomcat 7.0.22上使用jsf 2.1.4