Ich bin neu in Java und im Frühling. Wie kann ich mein App-Stammverzeichnis http://localhost:8080/
einer statischen index.html
Datei zuordnen ? Wenn ich zu ihm navigiere, http://localhost:8080/index.html
funktioniert es einwandfrei.
Meine App-Struktur lautet:
Mein config\WebConfig.java
sieht so aus:
@Configuration
@EnableWebMvc
@ComponentScan
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("/");
}
}
Ich habe versucht hinzuzufügen, registry.addResourceHandler("/").addResourceLocations("/index.html");
aber es schlägt fehl.
java
spring
spring-boot
Shoham
quelle
quelle
http://localhost:8080/appName
aber es ist nicht das, was ich brauche ...Antworten:
Es hätte sofort funktioniert, wenn Sie keine
@EnableWebMvc
Anmerkungen verwendet hätten. Wenn Sie das tun, schalten Sie alle Dinge aus, die Spring Boot für Sie erledigtWebMvcAutoConfiguration
. Sie können diese Anmerkung entfernen oder den von Ihnen ausgeschalteten Ansichts-Controller wieder hinzufügen:quelle
WebMvcConfigurerAdapte
r hinzufügen , jedoch ohne@EnableWebMvc
"index.html
auf/
. Aber ist es möglich, auch den Browser zu machen eigentlich die URL ändern von/
zu/index.html
?/
zu/index.html
verwenden ,"redirect:/index.html"
anstatt nach vorn.Ein Beispiel für die Antwort von Dave Syer:
quelle
wenn es sich um eine Spring Boot App handelt.
Spring Boot erkennt index.html automatisch im Ordner public / static / webapp. Wenn Sie einen Controller geschrieben haben,
@Requestmapping("/")
überschreibt dieser die Standardfunktion und zeigt ihn nur an,index.html
wenn Sie ihn eingebenlocalhost:8080/index.html
quelle
quelle
Update: Januar 2019
Erstellen Sie zuerst einen öffentlichen Ordner unter Ressourcen und erstellen Sie die Datei index.html. Verwenden Sie WebMvcConfigurer anstelle von WebMvcConfigurerAdapter.
quelle
Wenn Sie die neueste Version
spring-boot 2.1.6.RELEASE
mit einer einfachen@RestController
Anmerkung verwenden, müssen Sie nichts tun. Fügen Sie einfach Ihreindex.html
Datei unter demresources/static
Ordner hinzu:Dann klicken Sie auf die URL http: // localhost: 8080 . Hoffe, dass es allen helfen wird.
quelle
Im Inneren
Spring Boot
lege ich die Webseiten immer in einen Ordner wiepublic
oderwebapps
oderviews
und lege sie in einsrc/main/resources
Verzeichnis, wie Sie auch sehen könnenapplication.properties
.und das ist mein
application.properties
:Sobald Sie die URL "Gefällt mir"
servername:15800
und diese vom Spring Boot besetzten Servlet-Dispatcher empfangene Anfrage eingegeben haben, wird genau nach dem gesucht,index.html
und dieser Name wird bei Groß- und Kleinschreibung als "."spring.mvc.view.suffix
HTML, JSP, HTML usw. eingestuft.Hoffe es würde vielen helfen.
quelle
Der Quellcode sieht aus wie -
quelle
Ich hatte das gleiche Problem. Spring Boot weiß, wo sich statische HTML-Dateien befinden.
quelle
Sie können einen RedirectViewController wie folgt hinzufügen:
quelle