SpringBoot访问静态资源(图片,html,js,jquery等)

这主要将resources下的文件夹的用处,上一篇文章讲SSM和Spring整合没怎么说访问静态资源,现在开始专门开一篇

访问静态资源(图片,html和jquery等)

Spring Boot默认将所有的静态资源映射到以下目录

classpath:/static 
classpath:/public 
classpath:/resources 
classpath:/META-INF/resources

看我的目录结构
在这里插入图片描述
这里有两个文件夹,把图片或者html放在static文件夹下,启动直接访问

http://localhost:8090/1.jpg

是可以显示图片的,就算换成html放在static里也一样
在这里插入图片描述
但是如果你直接访问

http://localhost:8090/first.html

在这里插入图片描述
以为Spring Boot 默认的访问静态资源的文件夹没有templates
除了static文件夹,还有三个
classpath:/public
classpath:/resources
classpath:/META-INF/resources

你自己创建一个把图片和html放进去直接访问,绝对能访问到,

但是templates能设置能直接访问吗?
肯定能

先别慌,你想到没有,如果在上面4个默认的能访问的文件夹里如果有名字重复的静态资源那先访问那个呢?
它们是由优先级的/META-INF/resources/>/resources/>/static/>/public/

设置templates文件夹也能访问静态资源,并且优先级最高

首先去application.yml 配置资源目录

spring:
  resources:
    static-locations: classpath:/templates/,classpath:/static/ 

,如果是application.properties 配置资源目录是

spring.resources.static-locations=classpath:/templates/,classpath:/static/

资源目录的顺序就代表着优先级的顺序

这没有设置访问的路径,采用默认的 ***/****,当然如果你需要当访问路径匹配某种特定的才能访问这些静态资源的话可以设置

spring.mvc.static-path-pattern= #这里设置静态资源匹配的url-pattern

比如我想url 必须包括 /login/ 那就可以写

spring.mvc.static-path-pattern= /login/*

我这没转成yml格式的,如果要用的话自己转成yml格式的就行

所以完全可以把html都放在templates下,而jsjquery放在static下,如果有图片也可以再创建个image文件夹,里面放图片
像下面这样

在这里插入图片描述
在这里插入图片描述
图片都可以src了,那比如jsjquery就更没问题了
这里叮嘱一句话,如果是关于用户特性化图片就不要放这了,比如头像什么的,
上传头像或者文件也不要往这里上传,会使项目臃肿效率低下

在这里放一些普遍性都用图片jsJQuery等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值