【问题标题】:Java EE - more generic error code mappingJava EE - 更通用的错误代码映射
【发布时间】:2015-09-14 11:36:08
【问题描述】:

我目前正在web.xml 中映射错误代码,到目前为止它看起来像这样:

  <error-page>
    <error-code>404</error-code>
    <location>/errorHandler?code=404</location>
  </error-page>
  <error-page>
    <error-code>500</error-code>
    <location>/errorHandler?code=500</location>
  </error-page>

我必须手动映射每个错误代码还是有更自动的方法?我想要这样的东西:

  <error-page>
    <error-code>*</error-code>
    <location>/errorHandler?code=*</location>
  </error-page>

【问题讨论】:

标签: java xml error-handling enterprise


【解决方案1】:

根据oracle 的文档,这是可能的。这取决于您使用的是 servlet 2.5(不支持)还是 3.0(支持)。

我建议您使用纯 html 作为错误代码。 这背后的原因是这些页面会在出现严重问题时显示。 Full list of status codes

通用解决方案示例:moreinfo with onehippo

从安全角度来看,不建议提供应用程序中出现问题的信息:https://blog.whitehatsec.com/error-handling-in-java-web-xml/

【讨论】:

  • 感谢您的最后一个链接,我发现我可以使用request.getAttribute("javax.servlet.error.status_code"); 而不是从web.xml 传递错误代码值,然后完全删除&lt;error-code&gt; 标签。很好的答案。
猜你喜欢
  • 1970-01-01
  • 2019-04-05
  • 2019-05-23
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
相关资源
最近更新 更多