默认路径
在官方文档中Springboot查找默认首页是在静态资源的跟路径查找index.html页面或模板页面。默认的静态资源路径配置在类ResourceProperties
中如下图所示
修改默认静态资源路径
从上面基本原理可知,只要我们自己配置一下静态资源路径,覆盖默认路径就可以了。如下图所示
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啊!这是我今天突然想试试能否修改配置达到这目的,发现不行,自己使用了这个骚操作而已
网友评论