Spring Boot无法在资源文件夹中找到index.html。

3
文件夹结构: enter image description here 我无法访问位于资源/静态文件夹下的test.html文件:
src-> main-> java-> resources -> static -> test.html

http://localhost:8080/test.html(无法工作)

但可以访问以下网址下的index.html:

src-> main-> java-> webapp-> index.html

http://localhost:8080/index.html(有效)

从Spring Boot文档中可以看出,我应该将所有静态内容放在 /src/main/resources/static 下。

额外信息:<packaging>war</packaging>

WAR文件中的WEB-INF:

enter image description here

有任何想法为什么我无法访问test.html吗?


2
test.htmlpublic 移动到 static。如果使用 ThymeLeaf,请将其移动到 src/main/resource/templates - Andreas
这里与Java和Maven标签相关吗? - Naman
嗨,我把它移动到静态文件夹了,但仍然得到404错误。 - Oron Bendavid
我有完全相同的问题,只是我得到了403禁止访问,而不是404。 - Lars Juel Jensen
3个回答

2
您必须添加文件扩展名:"index.html"。 另一个选择(如果您想使其在没有扩展名的情况下工作)是将thymeleaf依赖项添加到pom.xml中。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

0

你需要将内容放置在一个名为 static 的文件夹中。

层次结构应该是 src/main/resources/static/index.html


嗨,我把它移动到静态文件夹了,但仍然收到404错误。 - Oron Bendavid

0

现在你想把你的资源保存到不在

src-> main-> java

文件夹中的默认Spring-boot正在搜索.html文件:

src-> main-> resources-> templates

从您的话中我可以看出,您是在说将您的东西放入这里:

src-> main-> JAVA-> resources

这是错误的。

简单:

enter image description here

将您的控制器、服务、存储库等放入java文件夹中,将资源放入resources文件夹中。您可以在其中拥有一个static文件夹,用于css、字体、图像、js,以及一个templates文件夹,您应该将htmls保存在其中。

谢谢,但这不是情况。我将我的Java类放在src->main->java下,并使用Jersey而不是Spring-MVC。我还尝试将我的.html文件放在src-> main->resources->templates下,但仍然得到404错误。我只能在webapp文件夹下访问我的.html文件。 - Oron Bendavid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接