默認路徑
在官方文檔中Springboot查找默認首頁是在靜態資源的跟路徑查找index.html頁面或模板頁面。默認的靜態資源路徑配置在類ResourceProperties
中如下圖所示
image.png
修改默認靜態資源路徑
從上面基本原理可知,只要我們自己配置一下靜態資源路徑,覆蓋默認路徑就可以了。如下圖所示
image.png
。注意這是個配置參數是個字符串列表,所以使用 - xxxx方式
如何修改默認首頁名稱?
默認情況下首頁只能使用index這個名稱。在springboot中有個專門處理的默認首頁的bean叫WelcomePageHandlerMapping
,在這個類里面寫死了index不能修改。如果有強迫癥,非要修改怎么辦?
由于WelcomePageHandlerMapping是final類型,意味著著官方并不打算讓你修改它或者繼承。那只能自己按照WelcomePageHandlerMapping源碼自定義一個自己的welcome page了,相對于官方復雜的實現,demo里簡單的代碼如下:
@Component
public class LuonetWelcomePageHandlerMapping extends AbstractUrlHandlerMapping {
private static final Log logger = LogFactory.getLog(LuonetWelcomePageHandlerMapping.class);
public LuonetWelcomePageHandlerMapping() {
setRootViewName("forward:hello.html");
}
private void setRootViewName(String viewName) {
ParameterizableViewController controller = new ParameterizableViewController();
controller.setViewName(viewName);
setRootHandler(controller);
setOrder(2);
}
}
后話
雖然可以通過自定義實現這些騷操作,但是生產實踐中不建議這么玩!費老大勁折騰這些干嘛呢,炫技??好像很low啊!這是我今天突然想試試能否修改配置達到這目的,發現不行,自己使用了這個騷操作而已