【发布时间】:2016-08-16 21:06:48
【问题描述】:
如何动态生成错误页面而不是提供静态页面?或者这是不可能的?
我正在开发我的第一个 Java Web 应用程序,并且我正在尝试了解 web.xml 配置文件的复杂性。我基于the documentation 的理解是,错误页面是通过指定要为给定的HTTP 状态代码或Java 异常提供的静态文件来配置的。比如……
这将为internal server errors 提供一个页面
...
<error-page>
<error-code>500</error-code>
<location>/errors/http/500.html</location>
</error-page>
...
这将为servlet exceptions 提供一个页面
...
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/errors/java/servlet_exception.html</location>
</error-page>
...
这将是specify a default error page for everything
...
<error-page>
<location>/errors/index.html</location>
</error-page>
...
但是如何将此信息发送到脚本/类?
我希望我的错误页面非常标准。可能包括徽标、错误代码和基于错误的简短消息。我希望将状态代码或异常类型作为参数传递给脚本/类。有没有办法做到这一点?
【问题讨论】:
-
不要在任何页面上包含有关异常的数据(或任何其他可以识别您正在使用的服务器/框架的数据)。这是一种安全风险,会向黑客提供有关您的系统架构等的关键数据。
-
@AndrewS 感谢您的提醒,但我已经明确表示我正在使用 Java Web 应用程序,所以假设我将使用
javax.servlet不是一个公平的假设吗?我不觉得那样会付出太多。
标签: java war web.xml custom-error-pages dynamic-pages