我有一个Spring启动应用程序和一个位于src / main / resources / static
中的静态index.html文件我的控制器很直接,看起来像这样
@Controller
@Log4j
public class StartController {
@Autowired
OwnerRepository ownerRepository;
@RequestMapping("/")
public String index() {
return "index";
}
}
我唯一的配置是主配置,它只有@SpringBootApplication 我点击URL时得到404,根据我的理解,不需要进一步的配置 顺便说一句,在启动日志中看到以下内容
请求[/ index]的URI模板变量是{}
这是我的POM
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.datasol</groupId>
<artifactId>alquifacil</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>AlquiFacil</name>
<description>spring boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.1.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</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>
答案 0 :(得分:1)
在你的pom.xml上,我没有看到像Thymeleaf,Velocity ecc这样的模板引擎,但是你有 spring-boot-starter-web ,所以基本上你资源文件夹可以配置, 但是您应该将文件index.html放在模板文件夹中。静态文件夹用于包含您的资产文件。
如果您在当地工作,请尝试: localhost:8080/或localhost:8080/alquifacil/假设您正在使用端口8080或在pom.xml中添加模板引擎依赖项,例如Thymeleaf
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
答案 1 :(得分:1)
html是一种静态资源 所以你可以通过“localhost:8080 / index.html”访问 要么 使用“转发”关键字
@RequestMapping("/")
public String index() {
//has to be without blank spaces
return "forward:index.html";
}
答案 2 :(得分:1)
请删除目标文件并重新运行。这可能是一个兑现问题。