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.

中定义的错误页面

另见: