当我们输入错误的地址时,比如:http://localhost:8081/toLoginPage1,Spring Boot默认提供一个“白标”(whitelabel)错误页,如下:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu Apr 13 13:00:30 CST 2023
There was an unexpected error (type=Not Found, status=404).
为了让你的应用程序故障页变成大师级作品,你需要为应用程序创建一个自定义的错误页。
因为我们的应用程序使用了Thymeleaf,所以我们要做的就是创建一个名为error.html的文件,把它和其他的应用程序模板一起放在模板文件夹里。如下代码是一个简单有效的错误页,可以用来代替默认的白标错误页。
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>错误提示</title>
</head>
<body>
<p>错误发生的时间:<span th:text="${timestamp}"></span>.</p>
<p>HTTP状态码:<span th:text="${status}"></span>。</p>
<p>错误原因:<span th:text="${error}"></span>。</p>
<p>异常的类名:<span th:text="${exception}"></span>。</p>
<p>异常消息:<span th:text="${message}"></span>。</p>
<p>BindingResult异常里的各种错误:<span th:text="${errors}"></span>。</p>
<p>异常跟踪信息:<span th:text="${trace}"></span>。</p>
<p>错误发生时请求的URL路径:<span th:text="${path}"></span>。</p>
</body>
</html>
默认情况下,Spring Boot会为错误视图提供如下错误属性。
❑ timestamp:错误发生的时间。
❑ status:HTTP状态码。
❑ error:错误原因。
❑ exception:异常的类名。
❑ message:异常消息(如果这个错误是由异常引起的)。
❑ errors:BindingResult异常里的各种错误(如果这个错误是由异常引起的)。
❑ trace:异常跟踪信息(如果这个错误是由异常引起的)。
❑ path:错误发生时请求的URL路径。