Saya baru di Jawa dan Musim Semi. Bagaimana saya bisa memetakan root aplikasi saya http://localhost:8080/
ke statis index.html
? Jika saya menavigasi ke http://localhost:8080/index.html
berfungsi dengan baik.
Struktur aplikasi saya adalah:
config\WebConfig.java
Penampilan saya seperti ini:
@Configuration
@EnableWebMvc
@ComponentScan
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("/");
}
}
Saya mencoba menambahkan registry.addResourceHandler("/").addResourceLocations("/index.html");
tetapi gagal.
java
spring
spring-boot
Shoham
sumber
sumber
http://localhost:8080/appName
tetapi bukan itu yang saya butuhkan ...Jawaban:
Itu akan bekerja di luar kotak jika Anda tidak menggunakan
@EnableWebMvc
anotasi. Ketika Anda melakukan itu, Anda mematikan semua hal yang Spring Boot lakukan untuk AndaWebMvcAutoConfiguration
. Anda bisa menghapus anotasi itu, atau Anda bisa menambahkan kembali pengontrol tampilan yang Anda matikan:sumber
WebMvcConfigurerAdapte
r, tetapi tanpa@EnableWebMvc
"index.html
di/
. Tetapi mungkinkah juga membuat peramban benar-benar mengubah url dari/
menjadi/index.html
?/
ke/index.html
penggunaan"redirect:/index.html"
bukannya maju.Contoh jawaban Dave Syer:
sumber
jika itu adalah aplikasi boot Spring.
Spring Boot secara otomatis mendeteksi index.html di folder public / static / webapp. Jika Anda telah menulis kontroler apa pun,
@Requestmapping("/")
ia akan mengabaikan fitur default dan tidak akan menampilkanindex.html
kecuali Anda mengetiklocalhost:8080/index.html
sumber
sumber
Pembaruan: Jan-2019
Pertama buat folder publik di bawah sumber daya dan buat file index.html. Gunakan WebMvcConfigurer alih-alih WebMvcConfigurerAdapter.
sumber
Jika Anda menggunakan yang terbaru
spring-boot 2.1.6.RELEASE
dengan@RestController
anotasi sederhana maka Anda tidak perlu melakukan apa pun, cukup tambahkanindex.html
file Anda di bawahresources/static
folder:Kemudian tekan URL http: // localhost: 8080 . Semoga itu akan membantu semua orang.
sumber
Di dalam
Spring Boot
, saya selalu meletakkan halaman web di dalam folder likepublic
atauwebapps
atauviews
dan menempatkannya di dalamsrc/main/resources
direktori seperti yang Anda lihatapplication.properties
juga.dan ini milik saya
application.properties
:segera setelah Anda meletakkan url like
servername:15800
dan permintaan ini diterima oleh Spring Boot yang ditempati operator Servlet itu akan mencari persisindex.html
dan nama ini akan dalam hal sensitif sebagaispring.mvc.view.suffix
yang akan menjadi html, jsp, htm dll.Semoga ini bisa membantu orang lain.
sumber
Kode sumbernya terlihat seperti -
sumber
Saya memiliki masalah yang sama. Spring boot tahu di mana file html statis berada.
sumber
Anda dapat menambahkan RedirectViewController seperti:
sumber