SpringBoot支持的目录映射包含(优先级从上到下,即若有相同文件资源时会先执行:
META-INF/resources/ > resource > static > public > / ,注意:自己指定静态资源路径时以上目录不起作用!):
classpath:/META-INF/resources/
classpath:/resources/
classpath:/static/
classpath:/public/
/:当前项目的根路径
1、(不推荐)所有 /webjars/** ,都去 classpath:/META-INF/resources/webjars/ 找资源。
webjars:以jar包的方式引入静态资源;http://www.webjars.org/
localhost:8080/webjars/jquery/3.3.1/jquery.js
<!‐‐引入jquery‐webjar‐‐>在访问的时候只需要写webjars下面资源的名称即可
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.3.1</version>
</dependency>
2、"/**" 访问当前项目的任何资源,都去(静态资源的文件夹)找映射
1、"classpath:/META‐INF/resources/",
2、"classpath:/resources/",
3、"classpath:/static/",
4、"classpath:/public/"
5、"/":当前项目的根路径
localhost:8080/abc === 去静态资源文件夹里面找abc
例如:在" classpath:/static/ ",里放了我自己写的文件,如下图:
要访问 http://localhost:8080/asserts/js/feather.min.js ====》去静态资源里面找feather.min.js
3、欢迎页/首页(即直接输入ip:port/项目名称默认进入的页面),静态资源文件夹下的所有index.html页面,被"/**"映射。
localhost:8080/
找index页面 ( localhost:8080/ ===》index.html )
4、所有的 **/favicon.ico 都是在静态资源文件下找。
例如:新建了一个public文件夹,方了一张图片(favicon.ico)
重新运行项目,看到图标已经变为你自己设置的图片
5、自己指定静态文件夹
注意:若自己指定了静态文件夹,则以上的静态资源都不起作用,即以上静态资源文件夹中文件都不能被访问!!!
在application.properties文件中,通过spring.resources.static-locations这个属性指定文件夹(可以指定多个文件夹,用逗号“,”分隔开)。
例如:指定了一个hello和other文件夹
spring.resources.static-locations=classpath:/hello/,classpath:/other/