Tomcat 的默认错误页面位于何处?
Where is Tomcat's default error page located?
Tomcat 的默认错误页面位于何处或如何自定义它们?我想美化和更改 Tomcat.
当前错误页面的外观
默认错误页面由 Java 代码创建:
- HTML 内容由
ErrorReportValve
创建:参见 source code、
- 本地化消息在同一包的
LocalStrings_<locale>.properties
文件中:请参阅 English version。
如果你想用静态内容替换它们,你需要:
- 创建静态 HTML 文件,例如
$CATALINA_BASE/errors/404.html
,
- 相应地配置
ErrorReportValve
:
<Host>
<Valve className="org.apache.catalina.valves.ErrorReportValve"
error.404="errors/404.html" />
</Host>
错误页面中的外部资源可能会导致问题:您必须检查这些资源上是否没有定义安全约束。
编辑: 如果网络应用程序没有定义任何错误页面,这当然有效。如果应用程序中存在自定义错误页面,则它优先于 ErrorReportValve
.
中定义的错误页面
另见:
- ErrorReportValve documentation
- I need that it redirects multiple sites to the same error page
Tomcat 的默认错误页面位于何处或如何自定义它们?我想美化和更改 Tomcat.
当前错误页面的外观默认错误页面由 Java 代码创建:
- HTML 内容由
ErrorReportValve
创建:参见 source code、 - 本地化消息在同一包的
LocalStrings_<locale>.properties
文件中:请参阅 English version。
如果你想用静态内容替换它们,你需要:
- 创建静态 HTML 文件,例如
$CATALINA_BASE/errors/404.html
, - 相应地配置
ErrorReportValve
:<Host> <Valve className="org.apache.catalina.valves.ErrorReportValve" error.404="errors/404.html" /> </Host>
错误页面中的外部资源可能会导致问题:您必须检查这些资源上是否没有定义安全约束。
编辑: 如果网络应用程序没有定义任何错误页面,这当然有效。如果应用程序中存在自定义错误页面,则它优先于 ErrorReportValve
.
另见:
- ErrorReportValve documentation
- I need that it redirects multiple sites to the same error page