Spring boot не может найти index.html в папке resoures

структура папок:

введите описание изображения здесь

Мне не удается получить доступ к test.html, который находится в папке resources / static:

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>

WEB-INF внутри файла войны:

введите описание изображения здесь

любая идея, почему я не могу достичь test.html?


person Oron Ben-David    schedule 15.12.2016    source источник
comment
Переместите test.html из public в static. Если вы используете ThymeLeaf, переместите его в src/main/resource/templates.   -  person Andreas    schedule 15.12.2016
comment
Актуальны ли здесь теги java и maven?   -  person Naman    schedule 15.12.2016
comment
Привет, я переместил его в статическую папку, но все еще получаю 404.   -  person Oron Ben-David    schedule 15.12.2016
comment
У меня точно такая же проблема, за исключением того, что я получаю 403 Forbidden, а не 404.   -  person Lars Juel Jensen    schedule 21.06.2019


Ответы (3)


Вам действительно нужно поместить контент в папку с именем static.

Иерархия будет src / main / resources / static / index.html.

person lane.maxwell    schedule 15.12.2016
comment
Привет, я переместил его в статическую папку, но все еще получаю 404 - person Oron Ben-David; 15.12.2016

Теперь вы хотите сохранить свои ресурсы в папке ресурсов, которой НЕТ в

src-> main-> java

По умолчанию Spring-boot ищет файлы .html в этом каталоге:

src-> main-> resources-> templates

Как я вижу, вы говорите, что вкладываете свой в:

src-> main-> JAVA-> resources

Что неверно.

Простой :

введите описание изображения здесь

Храните свои контроллеры, службы, репозитории и т. Д. В папке java, а ресурсы - в папке resources. Где вы можете иметь папку static для css, fonts, img, js и папку templates, в которой вы должны хранить свои htmls.

person Lazar Lazarov    schedule 16.12.2016
comment
Привет, спасибо, но это не так. Я помещаю в src- ›main-› java свои классы java и использую jersey без spring-mvc. Я также пытался поместить свой файл .html в src- ›main -› resources - ›templates, но все равно получаю 404. Я могу получить доступ к своим файлам .html только в папке webapp. - person Oron Ben-David; 16.12.2016

Вы должны добавить расширение файла: index.html. Другой вариант (если вы хотите, чтобы он работал без расширения) - это добавление зависимости тимелеафа к pom.xml.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
person Kike Lebowski    schedule 01.10.2020