Я новичок в Java и Spring. Как я могу сопоставить корень моего приложения http://localhost:8080/
со статикой index.html
? Если я перейду к нему, http://localhost:8080/index.html
он работает нормально.
Моя структура приложения:
Моя config\WebConfig.java
выглядит так:
@Configuration
@EnableWebMvc
@ComponentScan
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("/");
}
}
Я пытался добавить, registry.addResourceHandler("/").addResourceLocations("/index.html");
но не получилось.
java
spring
spring-boot
Shoham
источник
источник
http://localhost:8080/appName
но это не то, что мне нужно ...Ответы:
Если бы вы не использовали
@EnableWebMvc
аннотацию, это бы сработало из коробки . Когда вы это делаете, вы отключаете все, что Spring Boot делает за васWebMvcAutoConfiguration
. Вы можете удалить эту аннотацию или добавить обратно отключенный контроллер представления:источник
WebMvcConfigurerAdapte
r, но без@EnableWebMvc
»index.html
в/
. Но можно ли сделать так, чтобы браузер действительно изменил URL-адрес с/
на/index.html
?/
на/index.html
использование"redirect:/index.html"
вместо пересылки.Пример ответа Дэйва Сайера:
источник
если это приложение для загрузки Spring.
Spring Boot автоматически обнаруживает index.html в папке public / static / webapp. Если вы написали какой-либо контроллер,
@Requestmapping("/")
он переопределит функцию по умолчанию и не будет отображать,index.html
если вы не введетеlocalhost:8080/index.html
источник
источник
Обновление: январь-2019
Сначала создайте общую папку под ресурсами и создайте файл index.html. Используйте WebMvcConfigurer вместо WebMvcConfigurerAdapter.
источник
Если вы используете последнюю версию
spring-boot 2.1.6.RELEASE
с простой@RestController
аннотацией, вам не нужно ничего делать, просто добавьте свойindex.html
файл вresources/static
папку:Затем нажмите URL-адрес http: // localhost: 8080 . Надеюсь, что это поможет всем.
источник
Внутри
Spring Boot
я всегда помещаю веб-страницы в папку типаpublic
илиwebapps
илиviews
и помещаю их вsrc/main/resources
каталог, как вы можете видетьapplication.properties
также.и это мое
application.properties
:как только вы введете URL-адрес,
servername:15800
и этот запрос, полученный Spring Boot, занял диспетчер Servlet, он будет точно выполнять поиск,index.html
и это имя будет чувствительным к регистру, таким какspring.mvc.view.suffix
html, jsp, htm и т. д.Надеюсь, это поможет многим.
источник
Исходный код выглядит так -
источник
У меня такая же проблема. Spring boot знает, где находятся статические html-файлы.
источник
Вы можете добавить RedirectViewController как:
источник