SpringMvc配置静态资源访问路径

文章介绍了SpringMVC中如何配置资源映射,包括通过WebMvcConfigurationSupport子类配置访问路径和资源目录,registry.addResourceHandler()用于添加路径模式并创建ResourceHandlerRegistration,而addResourceLocations()则用于指定资源位置。关键点在于路径匹配的灵活性和资源目录的顺序匹配原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 整体流程

1. 写一个配置类继承WebMvcConfigurationSupport
2. 利用 registry.addResourceHandler("访问路径").addResourceLocations("分配资源目录");
   将想要映射的访问路径令其去访问分配的资源路径当中

  核心:会将前面匹配的( ** )当中的路径作为相对路径,动态的添加到后面的目录路径当中去,将两个路径连起来去动态访问资源
  前后的访问路径和资源目录的书写一定要可以匹配连接上,会将前面匹配路径作为相对路径去资源目录当中进行寻找(非常关键)

@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
	@Override
	protected void addResourceHandlers(ResourceHandlerRegistry registry) {
		registry.addResourceHandler("/Test/**").addResourceLocations("classpath:/D1/"+"");
	}
}

2. registry.addResourceHandler()

2.1 函数分析

 a. 该函数允许对于指定匹配的pathPatter添加一个资源处理程序(ResourceHandlerRegistration),对于与指定路径匹配的资源路径将调用该资源处理程序
 b. 允许添加多个匹配的路径, 合法满足一个即可

public ResourceHandlerRegistration addResourceHandler(String... pathPatterns) {
	ResourceHandlerRegistration registration = new ResourceHandlerRegistration(pathPatterns);
	this.registrations.add(registration);
	return registration;
}

2.2 结果演示

 关键a:对于路径资源只需要匹配其中一个即可进行访问
 关键b: 对于可能存在包含的路径,系统会自动先将更精确的路径进行优先匹配
在这里插入图片描述

3. ResourceHandlerRegistration.addResourceLocations()

3.1 函数分析

 a. 对于成功匹配的路径,添加一个或多个资源位置(有效的目录),从中提供静态内容。按照书写的顺序进行依次匹配
 b. 允许添加多个资源路径,逐个匹配

	public ResourceHandlerRegistration addResourceLocations(String... locations) {
		this.locationValues.addAll(Arrays.asList(locations));
		return this;
	}

3.2 结果演示

 关键a:允许匹配多个路径资源目录里
在这里插入图片描述

在这里插入图片描述
 关键b: 会按顺序匹配资源目录(这个不同于上面路径匹配无序不影响结果,这个资源目录的匹配与书写顺序有关,优先匹配写在前面的资源目录)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

psudd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值