SPringboot 自定义404
时间: 2025-05-28 15:38:51 浏览: 9
### 如何在Spring Boot中配置自定义404错误页面
为了实现自定义的404错误页面,在`src/main/resources/templates/`目录下创建HTML文件,命名为`error.html`或更具体地针对HTTP状态码命名,比如`404.html`。当应用程序遇到相应的错误时会自动显示这些页面[^1]。
对于Thymeleaf模板引擎为例:
```html
<!-- src/main/resources/templates/404.html -->
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Page Not Found</title>
</head>
<body>
<h1>Error 404 - Page not found!</h1>
<p>The requested resource could not be found.</p>
<a href="/">Return to Home Page</a>
</body>
</html>
```
如果使用的是JSP视图,则应放置于`src/main/webapp/WEB-INF/views/error/404.jsp`路径之下。
另外一种方式是在全局异常处理类中通过`@ControllerAdvice`注解来捕获特定类型的异常并返回指定视图名称。这种方式更加灵活,允许开发者编写逻辑决定何时以及如何响应不同种类的客户端请求失败情况。
```java
// CustomErrorController.java
package com.example.springbootdemo;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class CustomErrorController implements ErrorController {
private static final String PATH = "/error";
@RequestMapping(value = PATH)
public String error(Model model) {
// 可选:向模型添加属性以便前端访问
model.addAttribute("customMessage", "This is a custom message from the server.");
return "404"; // 返回至templates下的404.html
}
@Override
public String getErrorPath() {
return PATH;
}
}
```
上述代码片段展示了两种不同的策略用于设置自定义404错误页面——静态资源映射和基于控制器的方法。前者适用于简单的场景而后者提供了更大的灵活性以满足复杂需求。
阅读全文
相关推荐
















