當使用spring Boot來架設服務系統時,有時候也須要用到前端頁面,固然就不可或缺地須要訪問其餘一些靜態資源,好比圖片、css、js等文件。那麼如何設置Spring Boot網站能夠訪問獲得這些靜態資源,以及靜態資源如何佈局?css
這裏引用stackoverflow網站的問題截圖:[http://stackoverflow.com/questions/27381781/java-spring-boot-how-to-map-my-my-app-root-to-index-html]
以及config/WebConfig.Java
的內容以下:html
@Configuration @EnableWebMvc @ComponentScan public class WebConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**").addResourceLocations("/"); } }
最多見的就是官方給出的方案:http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html
具體位置在26.1.4 Static Content
可是通過檢驗 src/main/resources目錄下的資源文件不能被直接訪問到。圖片說明以下: 前端
其實官方解釋沒有說起一點,就是不能使用@EnableWebMvc,固然若是Spring Boot在classpath裏看到有 spring webmvc 也會自動添加@EnableWebMvc (http://spring.io/guides/gs/rest-service/)java
若是@EnableWebMvc了,那麼就會自動覆蓋了官方給出的/static
, /public
, META-INF/resources
, /resources
等存放靜態資源的目錄。而將靜態資源定位於src/main/webapp
。當須要從新定義好資源所在目錄時,則須要主動添加上述的那個配置類,來Override addResourceHandlers
方法。web