一般src/man/resources作为类路径即classpath。该目录下如果同时配置了static、resources等。访问时不需要加前缀,直接访问:http://localhost:8080/XXX.html
同时存在同名静态资源时,resources比static优先级高
配置欢迎页:
在WebMvcAutoConfiguration类下面有个WelcomePageHandlerMapping的方法。该方法用来设置欢迎页。层层深入发现调用的是任意一个静态资源目录(上节中的四个默认路径)下名为index.html文件(WebMvcAutoConfiguration-->WelcomePageHandlerMapping-->getIndexHtml-->location+"index.html")
网站中 网页标签的Logo是固定名字: favicon.ico
自定义 favicon.ico:通过读源码得知,只需要将favicon.ico放入任意静态资源目录里
总结:1. 通过源码发现静态资源的目录
2. 用静态资源,只需要将静态资源放入以上目录即可
3.其他特定的文件(欢迎页、ico),只需要根据约定(index.html favicon.ico)放入该路径
如何自定义静态资源目录:
spring.resources.static-locations=classpath:/res/,classpath:/img/
以上即自定义了静态资源目录。注意自定义后默认约定的路径都失效了