Spring Boot和自定义404错误页面

在我的Spring Boot" title="Spring Boot">Spring Boot应用程序中,我试图配置自定义错误页面,例如404,我在应用程序配置中添加了以下Bean:

@Bean

public EmbeddedServletContainerCustomizer containerCustomizer() {

return new EmbeddedServletContainerCustomizer() {

@Override

public void customize(ConfigurableEmbeddedServletContainer container) {

container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));

}

};

}

此外,我还创建了以下简单的Thymeleaf模板:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">

<head>

<title>404 Not Found</title>

<meta charset="utf-8" />

</head>

<body>

<h3>404 Not Found</h3>

<h1 th:text="${errorCode}">404</h1>

<p th:utext="${errorMessage}">Error java.lang.NullPointerException</p>

<a href="/" th:href="@{/}">Back to Home Page</a>

</body>

</html>

并将其添加到/resources/templates/文件夹中。现在,在404错误上,我只能看到白屏。

我在做什么错以及如何正确设置404页面?此外,是否可以将模板而不是仅将静态页面用于自定义错误页面?

回答:

在Spring Boot 1.4.x中,你可以添加一个自定义错误页面:

如果要显示给定状态代码的自定义HTML错误页面,请将文件添加到文件/error夹。错误页面可以是静态HTML(即添加到任何静态资源文件夹下),也可以使用模板构建。文件名应为确切的状态代码或系列掩码。

例如,要将404映射到静态HTML文件,你的文件夹结构应如下所示:

src/

+- main/

+- java/

| + <source code>

+- resources/

+- public/

+- error/

| +- 404.html

+- <other public assets>

以上是 Spring Boot和自定义404错误页面 的全部内容, 来源链接: utcz.com/qa/410394.html

回到顶部