JSF 2 自定义 404 错误页面不会与具有配置的 Facelet 扩展的非现有页面一起显示
我正在使用 Facelets 作为视图技术从事 JSF2/Spring3/JPA2 项目。
javax.faces.DEFAULT_SUFFIX
是 .xhtml
,Faces Servlet
的 url-pattern
是 *。 xhtml
我们也使用了 beautifulfaces,但它似乎与我将在下面解释的问题无关。
我们使用 Tomcat 7。
我们决定显示自定义 404 错误页面,并在 Web 根目录创建一个名为 error404.xhtml
的页面。我们还在 web.xml
中将其配置为:
<error-page>
<error-code>404</error-code>
<location>/error404.xhtml</location>
</error-page>
现在,当我尝试输入 http://localhost:8084/myapp/some-non-existing-folder
时,我得到了404 页面和预期的 404 响应。
但是当我尝试输入 http://localhost:8084/myapp/some-non-existing-page.xhtml
时,我从 Tomcat 得到一个空白页面,没有错误,并且响应标头为 200 OK 。
我们有点陷入困境,毫无头绪,因为没有任何输出、日志、错误可以为我们指明任何方向。
谢谢
I a working on a JSF2/Spring3/JPA2 project using facelets as view technology.
javax.faces.DEFAULT_SUFFIX
is .xhtml
and the url-pattern
for Faces Servlet
is *.xhtml
We are also using prettyfaces but it seems irrelevant to my problem that I'll explain below.
We are on Tomcat 7.
We decided to show up custom 404 error pages and created a page called error404.xhtml
at the web root. We also configured it in web.xml
as:
<error-page>
<error-code>404</error-code>
<location>/error404.xhtml</location>
</error-page>
Now when I try to enter http://localhost:8084/myapp/some-non-existing-folder
I get the 404 page and an expected 404 response.
But when I try to enter http://localhost:8084/myapp/some-non-existing-page.xhtml
I get a blank page from Tomcat, no error, and the resonse header is 200 OK.
We're kind of stuck at this point and clueless since there is no output, log, error whatsoever that can point us in any direction.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是否类似于您的应用程序的登录页面,或者您尝试深层链接该页面或导航到该特定页面。因为它类似于找不到页面,而您尝试访问第一个链接会正常工作。但是,对于第二个 http://localhost:8084/myapp/some-non-existing-page.xhtml。可能会生成异常。因此,如果您可以编写自定义异常处理程序并定向页面到您所需的目的地。这个问题可以解决。
Is this some thing like the login page for your application or ur trying to deeplink the page or to navigate to that particular page.As its some thing like a page not found and ur trying to access that the first link would be working fine.But,for the second one http://localhost:8084/myapp/some-non-existing-page.xhtml.There might be an exception generated.So if you can write a custom exception handler and direct the page to your required detination.This issue can be resolved.