SpringBoot中静态资源放哪里

使用SpringBoot开发web时,静态资源放在那里?
静态资源的存放路径,通过源码中WebMvcAutoConfiguration类中的addResourceHandlers()方法指定:"/webjars/**"目录下
SpringBoot项目中放入的 js、css等静态资源,不像maven中放在webapp下,SpringBoot是把这些文件打成jar包引入,以 jar 包的形式提供静态资源。
webjar官网中获取依赖,引入到pom文件即可
在这里插入图片描述
此时已经引入了jquery的jar包,在访问时直接从webjars开始写相关路径。

在这里插入图片描述
那么要是自己写静态资源文件该怎么办呢?
源码中WebMvcAutoConfiguration类中的进入getResourceLocations中,最后可以看见

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[]
{"classpath:/META-INF/resources/",
 "classpath:/resources/", 
 "classpath:/static/",
  "classpath:/public/"}

可以看见我们可以在SPringBoot项目中的resources文件夹中创建如下四种文件来存放我们自己的静态资源,SpringBoot会自动扫描这些文件,当然我们也可以把自己写的文件打成 jar 再引入,但是我们的目录结构就必须和别人的一样,就很麻烦(所以不推荐)

- resources
	- /META-INF/resources/
	- /resources/
	- /static/
	- /public/

我们该如何设置欢迎页呢?
在源码中,WebMvcAutoConfiguration类中的getWelcomePage()-> getIndexHtml() 方法中可以看见location + “index.html”,而location就是上面的CLASSPATH_RESOURCE_LOCATION 一大堆位置,也就是说我们在上面这四个文件夹中的index.html文件就是欢迎页

我们怎么设置网页标签的 logo ?
网页标签logo有固定的名字:favicon.ico
我们只需要将favicon.icon文件放在上面四个文件夹中的任意一个即可。

那如何自定义静态资源存放目录呢?
一般来说约定优于配置,不遵守约定,就自己配置。我们可以直接修改存放路径,在properties文件中,可以一次配置多个,用逗号隔开

spring.resources.static-locations=classpath:/res/, classpath:/img/

注意:自定义静态资源路径后,默认存放路径会失效

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值