📅  最后修改于: 2023-12-03 14:50:14.338000             🧑  作者: Mango
在创建 Web 应用程序时,会遇到后端服务无法找到请求的情况。一种常见的错误是 404 页面未找到错误。当没有找到相关的页面或资源时,Web 服务器会返回一个默认的错误页面或消息。但是,我们可以自定义 404 错误控制器来提供更好的用户体验。本文将介绍如何创建一个 Spring 404 错误控制器。
我们需要创建一个控制器类来处理 404 错误。这个类需要实现 Spring 的 ErrorController
接口。这个接口只有一个方法 getErrorPath()
,用于返回错误路径。
@RestController
public class MyErrorController implements ErrorController {
@RequestMapping("/error")
public String handleError(HttpServletRequest request) {
//do something like logging
return "<h1>Custom 404 Page Not Found</h1>";
}
@Override
public String getErrorPath() {
return "/error";
}
}
默认情况下,Spring Boot 会自动为 404 错误返回一个默认的错误页面。为了让我们的自定义错误页面生效,需要在 application.properties
中禁用默认错误页面。
spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false
当访问一个不存在的页面时,应该会显示我们自定义的 404 页面。
我们通过实现 Spring 的 ErrorController
接口,在应用程序中创建了一个自定义的 404 错误控制器。我们还禁用了 Spring Boot 默认的错误页面。现在,我们的应用程序会默认显示我们自定义的错误页面,这提供了更好的用户体验。
需要注意的是,如果正在使用 Spring Boot 并且希望自定义其他错误页面,可以使用相同的方法来创建其他错误控制器,例如500错误或403错误控制器。