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/

SpringBoot——web开发静态资源映射规则_ico

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/ ",里放了我自己写的文件,如下图:

SpringBoot——web开发静态资源映射规则_jar_02

 

要访问 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)

SpringBoot——web开发静态资源映射规则_静态资源_03

重新运行项目,看到图标已经变为你自己设置的图片

SpringBoot——web开发静态资源映射规则_jquery_04

5、自己指定静态文件夹

注意:若自己指定了静态文件夹,则以上的静态资源都不起作用,即以上静态资源文件夹中文件都不能被访问!!!

在application.properties文件中,通过spring.resources.static-locations这个属性指定文件夹(可以指定多个文件夹,用逗号“,”分隔开)。

例如:指定了一个hello和other文件夹

spring.resources.static-locations=classpath:/hello/,classpath:/other/