gpt4 book ai didi

java - 自定义错误页面未捕获 tomcat 中引发的异常

转载 作者:行者123 更新时间:2023-12-01 18:44:36 27 4
gpt4 key购买 nike

对 Spring Boot 相当陌生 - 目前正在使用 2.2.4.RELEASE 测试一个项目,并在当前尝试 Spring Boot 时进行最小配置,看看它是否满足我的需求。

我已经禁用了白色标签错误页面,并使用 thymeleaf 作为模板获得了自己的 error.html

该项目主要基于 REST,因此只有当他们尝试通过浏览器访问内容/将接受 header 设置为不支持的内容等时,error.html 才会真正得到服务,对于其他一切我有一个用 @RestControllerAdvice 注释的 Controller ,带有各种 @ExceptionHandler 来处理各种事情,这在大多数情况下都有效。

但是我遇到的问题是,如果我在 tomcat 中引起异常,即 curl -H -i https://localhost:8443/%5C\' -k 将导致 400 Bad请求,它生成内置的 tomcat 错误页面(我不想要它,幸运的是我已经隐藏了堆栈跟踪和异常:

server.error.include-stacktrace=never
server.error.include-exception=false

这个异常似乎永远不会传播到我的异常处理程序。我读过其他类似的问题,但没有一个建议有效,我现在迷失了。 :-(

如有任何帮助,我们将不胜感激。

最佳答案

在 web.xml 上,您可以捕获这些 tomcat 级别的错误消息并显示您选择的页面,如下所示 -

    <error-page>
<error-code>500</error-code>
<location>/Error.html</location>
</error-page>

<error-page>
<error-code>404</error-code>
<location>/Error.html</location>
</error-page>

<error-page>
<error-code>501</error-code>
<location>/Error.html</location>
</error-page>

<error-page>
<error-code>400</error-code>
<location>/Error.html</location>
</error-page>

关于java - 自定义错误页面未捕获 tomcat 中引发的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59864431/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com