SpringBoot深入探究四种静态资源访问的方式
作者:zh_Tnis 发布时间:2021-11-30 02:42:46
1.默认的静态资源目录
/static
/public
/resources
/META-INF/resources
动态资源目录:/templates
2.resources静态资源目录图片存放
3. 静态资源访问
3.1.通过路径访问静态资源
http://localhost:8080/a.jpg
http://localhost:8080/b.jpg
http://localhost:8080/c.png
http://localhost:8080/d.jpg
3.2.通过配置类配置路径访问本地静态资源
1.config
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//自定义路径mypic, addResourceLocations指定访问资源所在目录
registry.addResourceHandler("/mypic/**").addResourceLocations("file:C:\\Users\\Administrator\\Desktop\\images1\\");
//自定义路径webjars访问,addResourceLocations映射该路径下的资源,resourceChain资源链
// registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/").resourceChain(true);
}
}
2.访问结果展示
路径:http://localhost:8080/mypic/huangshanpic.webp
3.3.通过配置文件配置路径访问静态资源
(1).application.yml
web.pic-path=C:/Users/Administrator/Desktop/images1/
spring.mvc.static-path-pattern=/mypic/**
spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/public/,classpath:/static/,file:${web.pic-path}
web.pic-path:访问路径
spring.mvc.static-path-pattern:采用全部映射到mypic路径的方式
spring.web.resources.static-locations:配置允许访问的静态资源目录
(2).访问路径格式
http://localhost:8080/mypic/a.jpg
http://localhost:8080/mypic/b.jpg
http://localhost:8080/mypic/c.png
http://localhost:8080/mypic/d.jpg
http://localhost:8080/mypic/web.pic-path配置本地路径下的图片名称
3.4.通过引入打包静态资源的jar包形式访问
(1).静态资源打jar包
创建一个新的web工程,只存放静态资源
1).pom.xml
<artifactId>WWebjarsdemo</artifactId>
<version>1.0</version>
<build>
<resources>
<resource>
<!--
directory 将该路径下的资源(example/0.0.3/资源)打包
targetPath 成该路径下存储
-->
<directory>${project.basedir}/src/main/resources</directory>
<targetPath>${project.build.outputDirectory}/META-INF/resources/webjars</targetPath>
</resource>
</resources>
</build>
2).静态资源目录结构
3).package点击打包
4).install到本地仓库
(2).主项目中引入依赖包
1).pom.xml
<!--导入依赖的自定义静态资源webjars包-->
<dependency>
<groupId>com.openlab</groupId>
<artifactId>WWebjarsdemo</artifactId>
<version>1.0</version>
</dependency>
<!--为了不再管理版本号-->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>webjars-locator-core</artifactId>
<version>0.35</version>
</dependency>
(3).路径访问
未引入webjars-locator-core的jar包:http://localhost:8080/webjars/example/版本号/huangshan.webp
引入webjars-locator-core的jar包:
http://localhost:8080/webjars/example/huangshan.webp
注意:如果主程序和引入打包的jar包静态资源下具备相同的目录结构,如:META-INF\resources\webjars\example\0.0.1\**,可能会出现路径访问失败的情况。
解决方法:clean主程序项目,重新运行。
(4).访问结果
来源:https://blog.csdn.net/zh_tnis/article/details/124897683
猜你喜欢
- Google 发布的Material Design支持库,对我们的APP设计有很大的影响,如果重新设计APP,支持库应该直接用V4提升到V7
- 使用idea进行JavaWeb开发时,在前端与后台交互常常出现乱码问题,包括日志/控制台输出乱码,参数乱码等问题,归根结底是编码格式不对,解
- 要求环境信息:WIN2008SERVER 开发工具:VS2015 开发语言:C#要求: 1.点击同步数据后接口获取数
- 一、jaxb是什么 JAXB是Java Architecture for XML Bindi
- 本文实例讲述了Android编程实现向桌面添加快捷方式的方法。分享给大家供大家参考,具体如下:有时候为了使用方便,需要在桌面上添加快捷方式,
- 前言 为什么在kotlin要使用协程呢,这好比去了重庆不吃火锅一样的道理。协程的概念并
- springboot2启动时执行,初始化(或定时任务)servletContext需求:springboot 启动后自动执行,初始化数据,并
- 一、背景假如:黑客黑进了数据库,或者离职人员导出了数据,那么就可能导致这些敏感数据的泄漏。因此我们就需要找到一种方法来解决这个问题。二、解决
- Android init.rc文件详解本文主要来自$ANDROID_SOURCE/system/init/readme.txt的翻译.1 简
- 死信队列:没有被及时消费的消息存放的队列,消息没有被及时消费有以下几点原因:1.有消息被拒绝(basic.reject/ basic.nac
- 一.内部类的介绍 内部类: 一个类定义在 另一个类 的 内部。 &
- 一. struts2读取进度原理分析(作为草稿存了好久,刚刚发布出来......)1.在strut2中控制文件上传信息的类是实现MultiP
- JetpackJetpack,我觉得翻译为“飞行器”更好听,因为Google针对编程历史乱象,整理出
- 上次简单的说了一下CoordinatorLayout的基本用法(android特性之CoordinatorLayout用法探析实例)。其中C
- DebugLZQ在网上搜索相关文件加密的程序,发现给出的基本都是针对“字符创”、“文本”的加密与解密。对视频文件、图片等一般文件的加密解密程
- 概述从今天开始, 小白我将带大家开启 Jave 数据结构 & 算法的新篇章.链表链表 (Linked List) 是一种递归的动态数
- 1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,
- 本文实例讲述了Java简单验证身份证功能。分享给大家供大家参考,具体如下:package org.cxy.csdn.example;impo
- 本文实例讲述了Java实现的简单音乐播放器功能。分享给大家供大家参考,具体如下:应用名称:Java简单的音乐播放器用到的知识:Java GU
- 本文实例讲述了C#图像处理之图像均值方差计算的方法。分享给大家供大家参考。具体如下://本函数均是基于RGB颜色空间计算//定义图像均值函数