SpringBoot项目中js、css、图片等静态资源文件引用访问问题

SpringBoot之所以能简化WEB应用开发, 就是因为它遵循了“约定优于配置”这一基本原则。怎么理解这句话呢?大白话就是这个东西只要你按SpringBoot的约定放在这里,那么你在任何地方都可以使用,而且是不用配置就可以使用,这就是“约定优于配置”,因为已经约定好了,你懂,SpringBoot也懂,那还配置干嘛,用就行。

言归正传:

有的朋友在从网上学习这一块的时候可能会看到有的是这么说的,
需要在application.properties配置:

#设定静态文件路径包括js,css等(springboot默认的静态资源文件是在static目录下,也可以自定义添加路径)
spring.mvc.static-path-pattern=/static/**  

这种操作可以实现静态资源的访问,但是总感觉有点自己束缚自己,因为这样配置的话,静态资源就只能放在这个路径下了。

其实,Spring Boot的默认静态资源(js,css,图片)的路径为以下四个:
classpath:/META-NF/resources/
classpath:/resources/
classpath:/static/
classpath:/public/
这四个路径的优先级从上往下依次降低,如果你用springboot默认的路径存放静态资源的话,什么都不用配置,并且这四个路径都可以使用。
我们来测试下,顺便测试一下这几个路径的优先级:
1、四张图片
在这里插入图片描述
图片中我分别写了这四个路径,我会把它们的名称都改成1.png,然后分别放到这四个路径下:

图片我已经放进去了,并且没有在application.properties文件中做任何相关静态资源的配置。
2、编写页面展示图片。
在这里插入图片描述
页面代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<img src="${basePath}/1.png">
</body>
</html>

①运行测试1(四个路径下分别都有一张名称为1.png的图片):
在这里插入图片描述
可以看到页面中展示的是存放在classpath:/META-INF/resources路径中的图片

②运行测试2(删掉classpath:/META-INF/resources路径下的1.png):
在这里插入图片描述
可以看到页面中展示的是存放在classpath:/resources路径中的图片

③运行测试3(删掉classpath:/resources路径下的1.png):
在这里插入图片描述
可以看到页面中展示的是存放在classpath:/static路径中的图片
④运行测试4(删掉classpath:/static路径下的1.png):
在这里插入图片描述
可以看到页面中展示的是存放在classpath:/public路径中的图片

其实springboot给我们默认的配置就够用了,多余配置只会限制自己,当然你要是愿意把这几个路径都配置上去也可以达到这种效果,可是何必呢?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值