Tomcat的默认错误页面位于哪里?

Ani*_*dha 3 java tomcat

Tomcat 的默认错误页面位于哪里或者如何自定义它们?我希望美化和改变Tomcat当前错误页面的外观。

Pio*_*asz 5

默认错误页面是由 Java 代码创建的:

  • HTML 内容是通过以下方式创建的ErrorReportValve:请参阅源代码
  • 本地化消息位于LocalStrings_<locale>.properties同一包的文件中:请参阅英文版本

如果你想用静态内容替换它们,你需要:

  • 创建一个静态 HTML 文件,例如$CATALINA_BASE/errors/404.html
  • 进行相应配置ErrorReportValve
    <Host>
        <Valve className="org.apache.catalina.valves.ErrorReportValve"
               error.404="errors/404.html" />
    </Host>
    
    Run Code Online (Sandbox Code Playgroud)

错误页面中的外部资源可能会导致问题:您必须检查这些资源上是否没有定义安全约束。

编辑:如果 Web 应用程序没有定义任何错误页面,这当然可以工作。如果应用程序中存在自定义错误页面,则它的优先级高于ErrorReportValve.

另请参阅: