gpt4 book ai didi

java - 为什么我在现有源上使用 Spring-boot 和 thymeleaf 时会收到错误 404?

转载 作者:行者123 更新时间:2023-12-04 14:50:34 25 4
gpt4 key购买 nike

我有一个使用 spring boot 和 thymeleaf 在 java 8 上编写的简单 Web 应用程序,具有以下依赖项:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>serving-web-content-initial</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>serving-web-content-initial</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>

只有一个 Controller :

@Controller
public class GreetingController {

@GetMapping("/greeting")
public String greeting(@RequestParam(name = "name", required = false, defaultValue = "World") String name, Model model) {
model.addAttribute("name", name);
return "greeting";
}

}

在同一模块的资源文件夹下 (resources/templates/greeting.html) 我有一个示例 html :

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Getting Started: Serving Web Content</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<p th:text="'Hello, ' + ${name} + '!'"/>
</body>
</html>

应用程序属性基本上是空的,仅包含以下行:logging.level.org.springframework.web=DEBUG

无论使用http还是https访问,无论使用何种浏览器,对http://localhost:8080/greeting的请求总是返回错误404。

我是不是遗漏了一部分配置或者是错误的?这可能是什么原因造成的?会不会和我的项目无关,是我电脑的其他配置导致的?任何建议将不胜感激。

附言我已经将spring-boot-starter-parent的2.5.2版本降级到2.4.10的低版本,问题已经解决。

最佳答案

只需在 application.properties 中添加:

spring.thymeleaf.prefix= classpath:/templates/
spring.thymeleaf.suffix= .html

关于java - 为什么我在现有源上使用 Spring-boot 和 thymeleaf 时会收到错误 404?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69130284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com