spring.mvc.static-path-pattern spring.resources.static-locations
1.1 spring.mvc.static-path-patterncss
這個配置項是告訴springboot,應該以什麼樣的方式去尋找資源。默認配置爲 /* 。換句話說,只有靜態資源知足什麼樣的匹配條件,Spring Boot纔會處理靜態資源請求html
好比下面這個配置spring
spring.mvc.static-path-pattern=/soul/*
若是原先訪問首頁的地址是:http://localhost:8888/index.html
那麼在你配置這個配置後,上面的訪問就失效了,如今訪問一樣的頁面須要這樣訪問:http://localhost:8888/soul/index.htmlspringboot
這個配置項是告訴springboot去哪找資源。mvc
# 默認值爲 spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
根據先後關係肯定優先級,也就是說若是/META-INF/resources/目錄和/resources都有一個index.html,那麼根據默認的優先級,會去訪問/META-INF/resources/下的資源。app
首先項目目錄是這個樣子的:static和tempaltes各有幾個頁面,其中有一個重名的test頁面用來測試優先級。測試
因爲如今創建的springboot項目,通常會將js、css等靜態文件放在static下,而將頁面放在templates下,因此配置上只配置了資源目錄,第一個配置使用默認的*/ **,具體以下。spa
spring.resources.static-locations=classpath:/templates/,classpath:/static/
配置完了啓動項目在8888端口,訪問http://localhost:8888/,根據上面理論應該會訪問到static下的index.html上,結果如圖:code
訪問:http://localhost:8888/test.html,目測會訪問到templates下的test.html上,由於配置中templates的優先級高於static,結果如圖htm
一樣的,若是有建文件夾的需求在對應目錄下建文件夾,並把靜態資源放進去便可訪問。