首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Jboss应用程序中,如何确保每个异常都会导致自定义错误页面?

在Jboss应用程序中,如何确保每个异常都会导致自定义错误页面?
EN

Stack Overflow用户
提问于 2010-11-19 18:16:50
回答 3查看 857关注 0票数 3

我的pages.xml中已经声明了以下内容:

代码语言:javascript
复制
<exception> 
    <http-error error-code="500" />
</exception>

在我的web.xml中:

代码语言:javascript
复制
<error-page>
    <error-code>500</error-code>
    <location>/error500.html</location>
</error-page>

不过,有时当抛出异常时,我会得到调试页,即使在生产中也是如此。我读过这里,当在RENDER_RESPONSE阶段抛出异常时,不会发生重定向,因为响应已经发送。我有两个问题:

  • 如何确定异常是否在此阶段抛出?
  • 是否可以显示自定义错误页,而不管异常在何处抛出?如果是的话,我怎么能做到这一点呢?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-22 09:46:59

如果在生产中获得调试页,这意味着您没有正确地将调试设置为false。

如果您正在使用facelets,您还必须记住将fac卷调试设置为false。

代码语言:javascript
复制
<context-param>
    <param-name>facelets.DEVELOPMENT</param-name>
    <param-value>false</param-value>
</context-param>

以及

代码语言:javascript
复制
<core:init debug="false" jndi-pattern="somepattern"/>

现在Init.instance().isDebug()应该导致false

若要使每个异常默认为错误页,请用pages.xml编写

代码语言:javascript
复制
<exception>
    <redirect view-id="/error.xhtml">
        <message severity="error">Error</message>
    </redirect>
</exception>
票数 1
EN

Stack Overflow用户

发布于 2010-11-20 21:22:07

我建议你读一读统一错误页和异常处理的文章。

票数 2
EN

Stack Overflow用户

发布于 2010-11-19 18:19:30

我认为您需要在components.xml中将调试设置为false。

<core:init debug="false" jndi-pattern="n2/#{ejbName}/local"/>

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

https://stackoverflow.com/questions/4228105

复制
相关文章

相似问题

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