SpringMvc配置静态资源访问路径

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring MVC中,可以通过配置静态资源处理器来处理静态资源,包括样式表、脚本、图像等等。静态资源处理器可以将这些资源映射到Web应用程序的相对路径中,使得客户端能够通过浏览器直接访问这些资源。 以下是一些配置静态资源的方法: 1. 使用<mvc:resources> 标签 在Spring MVC中,可以使用<mvc:resources>标签配置静态资源。该标签需要设置location属性和mapping属性,表示静态资源的位置和映射路径。例如: ``` <mvc:resources mapping="/static/**" location="/static/" /> ``` 上面的配置将/static/目录下的所有静态资源映射到相对路径/static/中,即客户端可以通过浏览器直接访问/static/目录下的静态资源。 2. 配置DefaultServletHttpRequestHandler Spring MVC默认提供了一个DefaultServletHttpRequestHandler来处理静态资源,可以通过配置该处理器来处理静态资源。例如: ``` @Configuration @EnableWebMvc public class WebConfig implements WebMvcConfigurer { @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } } ``` 上面的配置启用了默认的DefaultServletHttpRequestHandler来处理静态资源。 3. 配置WebMvcConfigurer 可以通过实现WebMvcConfigurer接口来配置静态资源处理器。例如: ``` @Configuration @EnableWebMvc public class WebConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("/static/"); } } ``` 上面的配置将/static/目录下的所有静态资源映射到相对路径/static/中,即客户端可以通过浏览器直接访问/static/目录下的静态资源。 以上是三种常见的配置静态资源的方法,具体选择哪种方法,可以根据具体的需求来选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

psudd

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

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

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

打赏作者

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

抵扣说明:

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

余额充值