一、前言
在Spring Boot应用中,当发生错误时,系统默认会显示一个简单的错误页面,但这并不利于用户体验和故障排除。因此,定制错误页面显得尤为重要。本文将指导您如何定制错误页面,让您的应用在出错时也能展现优雅。
二、定制错误页面
- 创建错误页面
在Spring Boot应用中,我们可以创建自定义的错误页面,例如404.html、500.html等。首先,在src/main/resources/static目录下创建对应的错误页面。例如,创建一个404.html页面:
<!DOCTYPE html>
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<h1>404 Not Found</h1>
<p>对不起,您访问的页面不存在。</p>
</body>
</html>
- 配置错误页面映射
在Spring Boot应用中,可以在application.properties或application.yml文件中配置错误页面映射。例如,在application.properties文件中添加如下配置:
server.error.whitelabel.enabled=false
server.error.path=/error
这样,当发生错误时,Spring Boot将转发请求至/error路径。接下来,我们需要创建一个ErrorController处理该请求。
- 创建ErrorController
在Spring Boot应用中,创建一个ErrorController处理错误请求:
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class CustomErrorController implements ErrorController {
private static final String PATH = "/error";
@RequestMapping(value = PATH)
public String error() {
return "请访问正确的链接,如果问题持续存在,请联系管理员。";
}
@Override
public String getErrorPath() {
return PATH;
}
}
现在,当发生错误时,Spring Boot将显示自定义的错误页面。您也可以根据需要返回不同的错误信息。
三、原理解析
在Spring Boot中,错误处理主要由ErrorController接口实现。通过实现该接口,我们可以自定义错误处理方法。同时,通过配置文件中的错误页面映射配置,将错误请求转发至自定义的ErrorController处理。从而,实现自定义错误页面的展示。此外,通过设置whitelabel.enabled为false,可以关闭默认的白色标签错误页面,提升用户体验。