SpringBoot基于Web的开发(三)

本文详细介绍了在SpringBoot中如何正确配置静态资源路径,包括使用webjars管理第三方库,自定义静态文件存放位置,以及如何处理欢迎页和图标文件的映射。

前言

在了解了SpringBoot中如何使用Web开发以及其背后的原理后,我们来做一个总结----关于SpringBoot中我们该如何设置静态资源的路径才能让框架调用到。

1.外部导入的 jquery,js文件等

在没使用SpringBoot开发前我们习惯吧 jquery,js等包放到 webapp目录下后,使用import语句进行使用。而我们的SpringBoot框架并没有提供该目录。一个boot开发的web项目的目录如下:
在这里插入图片描述
在官方文档中,boot提倡我们使用webjars的形式使用这些静态资源文件(webjars就是以jar包的形式导入这些文件,方便管理和操作)我们以jquery为例:(在pom.xml文件上)

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

这时我们发现依赖包下会有
在这里插入图片描述
这时我们可以通过 localhost:8080/webjars/jquery/3.3.1/jquery.js 对该文件进行访问
在这里插入图片描述

2.访问自己写的html,css,js等文件

上面的是导入一些官方的包,可以说是静态资源文件的一种特殊情况,那我们自己写的静态资源文件应该放到哪呢?
也就是所谓的(/**)
源码中说明了,如果我们访问了http://localhost:8080/项目的任何路径
那么它会去项目中的这些路径进行寻找

"classpath:/META-INF/resources/",  // resources/META-INF/resources/
"classpath:/resources/",     // resources/resources/
"classpath:/static/", 		//  resources/static
"classpath:/public/"		//  resources/public
"/"							//  根目录	

在这里插入图片描述
也就是我们只要把静态资源文件放到上面的目录下便可以进行相关访问。
举个例子,比如我们要访问 resources/public/index.html
在这里插入图片描述
在这里插入图片描述
我们只需访问 http://localhost:8080/index.html
在这里插入图片描述

3.欢迎页的隐射

上面所说的欢迎页也就是我们在静态资源文件下写的所有index.html页面都会被 /** 映射
静态资源文件为:
在这里插入图片描述
例如:我们还是要访问 上面说的 resources/public/index.html
在这里插入图片描述我们可以直接通过 http://localhost:8080/ 进行访问
在这里插入图片描述
通俗来说,我们直接访问 http://localhost:8080/ 而没有其他文件目录的话,他会默认去所有静态资源文件夹下找 index.html。

4. 图标文件的映射

我们所访问的图标可以放在 静态资源的目录下,并以 favicon.ico命名,那么浏览时即可访问到。
在这里插入图片描述
比如我们上图放了一个图标,那我们在访问我们的静态资源文件时,图标都会是它。
在这里插入图片描述
如上图 标红的地方所示。

5. 自定义静态资源的映射路径

在配置文件application.properties下(配置我们自定义的路径)

# 这里可以定义自己静态资源文件夹所放的路径
spring.resources.static-locations= classpath:/hello/, classpath:/gs/

通过上面的配置,我们只需要把静态资源文件(html,css,js等)放在 resources/hello/, resources/gs下就可以了
(补充说明一下classpath不仅有resources,还有java,不过我们习惯把静态资源丢在resources下)

小结

如果对SpringBoot基于Web开发相关的源码感兴趣的可以参照
SpringBoot基于Web的开发(一)
SpringBoot基于Web的开发(二)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值