Soy nuevo en Java y Spring. ¿Cómo puedo asignar la raíz de mi aplicación http://localhost:8080/
a una estática index.html
? Si navego a http://localhost:8080/index.html
su funciona bien.
La estructura de mi aplicación es:
Mi config\WebConfig.java
aspecto es este:
@Configuration
@EnableWebMvc
@ComponentScan
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("/");
}
}
Traté de agregar registry.addResourceHandler("/").addResourceLocations("/index.html");
pero falla.
java
spring
spring-boot
Shoham
fuente
fuente
http://localhost:8080/appName
pero no es lo que necesito ...Respuestas:
Hubiera salido de la caja si no hubieras usado
@EnableWebMvc
anotaciones. Cuando haces eso, apagas todas las cosas que Spring Boot hace por tiWebMvcAutoConfiguration
. Puede eliminar esa anotación, o puede volver a agregar el controlador de vista que apagó:fuente
WebMvcConfigurerAdapte
r, pero sin@EnableWebMvc
"index.html
a las/
. Pero, ¿es posible hacer que el navegador realmente cambie la URL de/
a/index.html
?/
que/index.html
su uso"redirect:/index.html"
en lugar de hacia adelante.Un ejemplo de la respuesta de Dave Syer:
fuente
si es una aplicación de arranque Spring.
Spring Boot detecta automáticamente index.html en la carpeta public / static / webapp. Si ha escrito algún controlador
@Requestmapping("/")
, anulará la función predeterminada y no mostrará el aindex.html
menos que escribalocalhost:8080/index.html
fuente
fuente
Actualización: enero-2019
Primero cree una carpeta pública en recursos y cree el archivo index.html. Utilice WebMvcConfigurer en lugar de WebMvcConfigurerAdapter.
fuente
Si usa lo último
spring-boot 2.1.6.RELEASE
con una@RestController
anotación simple, entonces no necesita hacer nada, simplemente agregue suindex.html
archivo en laresources/static
carpeta:Luego presione la URL http: // localhost: 8080 . Espero que ayude a todos.
fuente
En el interior
Spring Boot
, que siempre puso las páginas web dentro de una carpeta comopublic
owebapps
oviews
y colocarlo dentrosrc/main/resources
del directorio como se puede ver enapplication.properties
también.y este es mi
application.properties
:tan pronto como ponga la URL como
servername:15800
y esta solicitud recibida por el despachador de Servlet ocupado de Spring Boot, buscará exactamenteindex.html
y este nombre será sensible en caso despring.mvc.view.suffix
que sea html, jsp, htm, etc.Espero que ayude a muchos.
fuente
El código fuente se ve así:
fuente
Yo tuve el mismo problema. Spring boot sabe dónde se encuentran los archivos html estáticos.
fuente
Puede agregar un RedirectViewController como:
fuente