SpringBoot从入门到精通—Spring Boot 对静态文件的默认映射规则

1、Webjars(官网:http://www.webjars.org/)

webjars:以jar包的方式引入静态资源;Spring Boot中所有/webjars/** ,都去 classpath:/META-INF/resources/webjars/ 找资源。推荐使用Webjars的三大理由:

  • 将静态资源版本化,更利于升级和维护。
  • 剥离静态资源,提高编译速度和打包效率。
  • 实现资源共享,有利于统一前端开发。
1.1 使用Webjars引入公共的静态资源

使用Webjars在POM文件中很方便的引入静态资源文件,比如JQuery、Vue.js.....例如引入jqueryBootStrap,这样引入后,我们可以像管理Java依赖一样管理静态文件依赖。

<!--引入jquery-->
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.3.1-1</version>
</dependency>

<!--引入BootStrap-->
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>bootstrap</artifactId>
    <version>4.0.0</version>
</dependency>

引入之后我们可以尝试访问一下BootStrap里面的东西,在地址栏输入localhost/webjars/bootstrap/4.0.0/webjars-requirejs.js

2、引入自己的静态资源文件

使用Webjars是好,但是没办法引入我们自己编写的静态资源文件。别急!SpringBoot开发者早已想到这个问题了,SpringBoot规定可以放在以下几个地方放置静态文件:

"classpath:/META-INF/resources/"  
"classpath:/resources/"   //resources是所有资源文件的根目录,不仅仅是页面资源文件
"classpath:/resources/static/"   //系统默认生成的
"classpath:/resources/public/"     //这个目录默认没有,如果需要可以自己建
"classpath:/resources/templates/"   //默认是用来方式HTML模板文件的,目录的名字就说明了其作用
"/":当前项目的根路径下

3、给网页标签栏设置小图标

Spring Boot支持给网页标签栏设置图标的功能,方法十分简单只需要将图标命名为favicon.ico,然后放在静态资源文件夹根目录下,SpringBoot在启动的时候就会扫描到并设置到网页中。

classpath:/public/放一个我自己的图标

启动来看看效果

很nice!我们的小图标被用上了。

4、使用spring.resources.static-locations改变静态资源文件夹位置

在Spring Boot的主配置文件中,我们可以使用spring.resources.static-locations来指定静态资源文件的位置,可以指定多个,多个路径之间用","(逗号)隔开。需要注意的是,我们这么指定后,那些默认的资源文件夹就会失效。

debug=true
server.port=80
spring.resources.static-locations=classpath:/webapps,classpath:/pages

在resources下新建webapps文件夹,把静态资源放在里面。

启动来看看效果:

留言区

还能输入500个字符