Spring Boot - 带有独立tomcat的自定义404页面

作者:编程家 分类: spring 时间:2025-09-12

使用Spring Boot可以快速搭建一个独立的Web应用,并且内置了Tomcat作为默认的Servlet容器。在开发过程中,我们常常需要自定义404页面,让用户在访问不存在的URL时能够得到友好的提示信息。本文将介绍如何在Spring Boot中实现自定义404页面,并提供一个案例代码来帮助读者更好地理解。

首先,我们需要在Spring Boot项目中创建一个自定义的错误处理器类,用于处理404错误。可以通过实现ErrorController接口来实现这个功能。在这个类中,我们可以定义一个方法来处理404错误,并返回一个自定义的404页面。

接下来,我们需要创建一个HTML模板文件,用于展示自定义的404页面。可以在resources/templates文件夹下创建一个名为"error.html"的文件,并在这个文件中编写自定义的HTML代码。在这个页面中,我们可以根据需求添加任何我们想要展示的内容,比如一些友好的提示信息、导航链接等等。

接下来,我们需要在Spring Boot的配置文件中配置全局的错误页面。可以在application.properties或application.yml文件中添加如下配置:

spring.mvc.throw-exception-if-no-handler-found=true

spring.resources.add-mappings=false

这样配置之后,当用户访问不存在的URL时,就会触发404错误,然后我们的自定义错误处理器就会捕获到这个错误,并返回自定义的404页面。

下面是一个完整的案例代码,以帮助读者更好地理解:

java

import org.springframework.boot.web.servlet.error.ErrorController;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class CustomErrorController implements ErrorController {

private static final String PATH = "/error";

@RequestMapping(value = PATH)

public String handleError() {

// 返回自定义的404页面

return "error";

}

@Override

public String getErrorPath() {

return PATH;

}

}

html

自定义404页面

404 - 页面不存在

抱歉,您访问的页面不存在,请检查您输入的URL是否正确。

您可以返回首页继续浏览。

在这个案例中,我们创建了一个CustomErrorController类,实现了ErrorController接口,并定义了一个handleError方法来处理404错误。在这个方法中,我们返回了一个名为"error"的HTML模板,用于展示自定义的404页面。

在HTML模板中,我们使用了一些简单的HTML标签来构建页面内容,比如h1标签用于显示404错误信息,p标签用于显示一些提示信息和导航链接。

通过以上步骤,我们就可以在Spring Boot中实现自定义的404页面了。读者可以根据自己的需求,在自定义的404页面中添加更多的内容和样式。这样,当用户访问不存在的URL时,就能够得到一个友好的提示,提高用户体验。