SpringBoot资源文件的存放位置设置方式

2022-01-24 0 713
目录

SpringBoot默认的存放静态资源文件的位置是:

注:SpringBoot中的src/main/resources/资源文件夹对应classpath:

默认存放静态资源文件的位置

在SpringBoot项目中的文件夹位置为:

即:搜索文件夹的优先顺序和数组中的顺序一致

当我们访问IP地址:端口号/时,就相当于访问到了这四个文件夹。

如:访问:localhost:8080/123.jpg时,就会先去看src/main/resources资源文件夹下的META-INF下的resoures文件夹中是否有123.jpg,没 有的话再看src/main/resources资源文件夹下的resoures文件夹中是否有123.jpg,没有的话再看src/main/resources资源文件夹下的static文件夹中是否有123.jpg,没有的话再看src/main/resources资源文件夹下的public文件夹中是否有123.jpg。

手动配置其搜索资源文件的文件夹位置

把文件放在SpringBoot项目下的classpath中

方式一:通过配置类

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
 
/**
 * 主动设置URL匹配路径
 *
 * @author JustryDeng
 * @date 2018年8月4日 上午1:36:38
 */
@Configuration
public class MyURLPatternConfiguration extends WebMvcConfigurationSupport {
	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		registry.addResourceHandler(\"/fileData/**\").addResourceLocations(\"classpath:/myFile/\");
		super.addResourceHandlers(registry);
	}
}

此时:访问IP地址:端口号/fileData/时,就相当于到了src/main/resources资源文件夹下的myFile文件夹中了,图示说明:

注:此时默认的四个文件夹都失效了,如果想让默认的四个文件夹依然有效,那么可以在配置类中多次通过.addResourceHandler添加指定那四个文件夹。

方式二:通过配置文件

# 设置当URI为/fileData/**时,才进过静态资源
# 注:如果设置为/**,那么表示任何访问都会经过静态资源路径
spring.mvc.static-path-pattern=/fileData/**
 
# 自定义路径
# 注:自定义路径时,默认的四个文件夹下中的“META-INF下的resoures文件夹”仍然有效,其他三个文件夹失效
# (此时:访问ip:端口号/fileData/时,相当于访问到了 “自定义的文件夹”和 “META-INF下的resoures文件夹”);
# 注:搜索文件时,自定义的文件夹的优先级要高于默认的四个文件夹
 spring.resources.static-locations=classpath:/myFile/
 
# 提示:如果我们显式地把自定义文件夹  和 默认的四个文件夹都写出来,那么都会有效(此时,优先级 从左至右 依次降低)
#spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/myFile/

把文件放在项目jar包之外的服务器磁盘中的某个文件夹中

方式一:通过配置类

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
 
/**
 * 主动设置URL匹配路径
 *
 * @author JustryDeng
 * @date 2018年8月4日 上午1:36:38
 */
@Configuration
public class MyURLPatternConfiguration extends WebMvcConfigurationSupport {
	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		// 指定到D盘下的myFile文件夹
		// 注:如果是Linux的话,直接指定文件夹路径即可,不需要指定哪个盘(Linux就一个可用盘)
		registry.addResourceHandler(\"/fileData/**\").addResourceLocations(\"file:D:/myFile/\");
		super.addResourceHandlers(registry);
	}
}

此时:我们访问IP地址:端口号/fileData/时,就相当于到了服务器D盘下的myFile文件夹中了。

注:此时默认的四个文件夹都失效了,如果想让默认的四个文件夹依然有效,那么可以在配置类中通过 .addResourceHandler多次添加四个文件夹。

方式二:通过配置文件

# 设置当URI为/fileData/**时,才进过静态资源
# 注:如果设置为/**,那么表示任何访问都会经过静态资源路径
spring.mvc.static-path-pattern=/fileData/**
 
# 自定义路径
# 注:自定义路径时,默认的四个文件夹下中的“META-INF下的resoures文件夹”仍然有效,其他三个文件夹失效
# (此时:访问ip:端口号/fileData/时,相当于访问到了 “自定义的文件夹”和 “META-INF下的resoures文件夹”);
# 注:搜索文件时,自定义的文件夹的优先级要高于默认的四个文件夹
 spring.resources.static-locations=file:D:/myFile/
 
# 提示:如果我们显式地把自定义文件夹  和 默认的四个文件夹都写出来,那么都会有效(此时,优先级 从左至右 依次降低)
#spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:D:/myFile/

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可, 转载请附上原文出处链接。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 442469558@qq.com 进行处理!

猪小侠源码-最新源码下载平台 Java教程 SpringBoot资源文件的存放位置设置方式 http://www.20zxx.cn/297644/xuexijiaocheng/javajc.html

猪小侠源码,优质资源分享网

常见问题
  • 本站所有资源版权均属于原作者所有,均只能用于参考学习,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,建议提前注册好百度网盘账号,使用百度网盘客户端下载
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务