- `springboot` 自定义 `404、500` 错误页面
- `springboot` 默认的异常处理机制
- 使用模板引擎
- 使用示例
- 创建 `springboot` 项目如下
- `application.properties` 项目配置文件
- `404` 页面内容如下
- `500` 页面内容如下
- `controller` 如下
- `404.html` 页面测试
- `500.html` 页面测试
- 没有使用模板引擎
springboot 默认已经提供了一套处理异常的机制。一旦程序中出现了异常 springboot 会向 /error 的 url 发送请求。在 springboot 中提供了一个名为 BasicErrorController 的类来处理 /error 请求,然后跳转到默认显示异常的页面来展示异常信息
使用模板引擎在使用 thymeleaf 等模板引擎时,springboot 会自动到 src/main/resources/templates/error/,文件夹下寻找 404.html、500.html 的错误提示页面
错误提示页面的命名规则就是:错误码.html,如 404 是 404.html,500 是 500.html
使用示例 创建 springboot 项目如下404、500 错误提示页面结构如下
application.properties 项目配置文件server.port=8080 #它的默认值就是classpath:/templates/,源码在ThymeleafProperties类中 spring.mvc.view.prefix=classpath:/templates/ #它的默认值就是.html,源码在ThymeleafProperties类中 spring.mvc.view.suffix=.html spring.thymeleaf.cache=false404 页面内容如下
404
500 页面内容如下
500
controller 如下
@Controller
public class PageController {
// 跳转到登录页
@GetMapping(path = "/toLogin")
public String toLogin() {
int code = 1/0;
return "login";
}
}
404.html 页面测试
访问不存在的接口:http://localhost:8080/aaaa,结果如下
500.html 页面测试访问已存在的接口:http://localhost:8080/toLogin,结果如下
没有使用模板引擎如果没有使用 thymeleaf 等模板引擎时,springboot 会到静态资源文件夹寻找 404.htm、500.html的错误提示页面,命名同上。springboot 中默认的静态资源路径有 4 个,分别是
- classpath:/metaINF/resources/
- classpath:/resources/
- classpath:/static/
- classpath:/public/
优先级顺序为:meta-INF/resources > resources > static > public,以上 4 种路径创建 error 文件夹,再创建 404、500 错误提示页面如下
不用写额外的映射器,就能直接请求到



