【springboot】静态资源设置缓存时间

前言

  • springboot 2.0.0.RELEASE
  • springboot中(其实是spring)使用了Ant-style 正则表达式。形如:/**。
  • ResourceHandlers 路径就可以使用Ant-style 正则表达式
  • 指定png、jpg、jpeg、gif结尾的文件,缓存时间为24小时。

示例

@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {
	/* 
	 * 精确设定缓存资源。使用配置文件可以粗略设置缓存时间。
	 * 指定png、jpg、jpeg、gif结尾的文件,缓存时间为24小时。
	 */
	@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
		registry
        		.addResourceHandler("/**/*.png","/**/*.jpg","/**/*.jpeg","/**/*.gif")
        		.addResourceLocations("classpath:/static/")
        		.setCacheControl(CacheControl.maxAge(24, TimeUnit.HOURS).cachePublic());
    }
}

Ant-style 正则表达式(转)

Apache Ant样式的路径有三种通配符匹配方法(在下面的表格中列出)
这些可以组合出很多种灵活的路径模式
Table Ant Wildcard Characters

WildcardDescription
?匹配任何单字符
*匹配0或者任意数量的字符
**匹配0或者更多的目录

Table Example Ant-Style Path Patterns

PathDescription
/app/*.x匹配(Matches)所有在app路径下的.x文件
/app/p?ttern匹配(Matches) /app/pattern 和 /app/pXttern,但是不包括/app/pttern
/**/example匹配(Matches) /app/example, /app/foo/example, 和 /example
/app/**/dir/file.匹配(Matches) /app/dir/file.jsp, /app/foo/dir/file.html,/app/foo/bar/dir/file.pdf, 和 /app/dir/file.java
/**/*.jsp匹配(Matches)任何的.jsp 文件

参考

https://docs.spring.io/spring/docs/5.0.6.RELEASE/spring-framework-reference/core.html#resources-app-ctx-wildcards-in-resource-paths

### 回答1: 狂神Spring Boot是一个基于Spring框架的开源web应用程序开发框架,它可以帮助开发者快速地构建可靠的、高效的web应用程序,同时提高开发效率和代码可维护性。其中,静态资源是指web应用中不经常变更的文件,如样式表、JavaScript、图像等文件。Spring Boot提供了方便的方式来处理静态资源,开发者只需要在项目的资源文件夹下创建一个名为“static”的文件夹,Spring Boot就会自动地将该文件夹下的所有静态资源映射到根路径上。 在使用狂神Spring Boot处理静态资源时,需要注意以下几点: 1. 静态资源应该放置在项目资源文件夹下的static文件夹下,Spring Boot会根据该文件夹的路径将静态资源映射到根路径上。 2. 静态资源的名称、路径和URL路径应该是小写的,中间用短横线(-)分隔,这样可以避免在不同操作系统上的兼容性问题。 3. 如果需要在静态资源的URL中包含版本号,可以使用Spring Boot提供的方式自动生成版本号,具体可以参考官方文档。 4. Spring Boot还提供了对缓存控制的支持,开发者可以通过配置文件来设置静态资源缓存时间,以达到更好的性能和用户体验。 总之,狂神Spring Boot提供了便捷的方式来处理静态资源,开发者只需要了解一些基本的规则和注意事项,就可以轻松地实现web应用中的静态资源的管理和控制。 ### 回答2: Spring Boot是一种 Java 框架,可让您快速构建基于 Java 的应用程序。它支持多种特性和功能,其中之一就是处理静态资源。 Spring Boot的静态资源包括图像、CSS、JavaScript、HTML文件等。这些资源可以通过 HTTP 服务向客户端提供。在Spring Boot应用程序中,您可以使用@Controller和@RestController注解来暴露这些静态资源。 要配置Spring Boot应用程序来处理静态资源,您需要添加以下配置文件: - application.properties或application.yml文件 在这个配置文件中,您需要定义静态资源的位置和路径。例如,您可以使用如下代码片段定义一个资源路径: spring.resources.static-locations=classpath:/static/ 这将指向位于Classpath /static/目录中的静态资源。 另外,您可以使用以下注解来配置控制器来处理静态资源: - @Controller - @RestController 如果您想以 JSON 格式返回静态数据,可以使用@RestController注解。实际上,@RestController注解是@Controller注解和@ResponseBody注解的组合。 总之,Spring Boot框架为开发人员提供了全面的静态资源处理功能,您可以轻松地定义静态资源并用于您的应用程序或网站中。 ### 回答3: 狂神SpringBoot静态资源是指在SpringBoot框架下,可以通过配置一些静态资源来搭建网站的功能。这些静态资源可以是网站的图片、CSS样式、JavaScript代码等,通过SpringBoot的自动配置功能可以轻松地将这些资源添加到项目中,并对其进行管理和维护。 在SpringBoot中,我们可以将静态资源放置在/src/main/resources/static/目录下。这样,当我们启动应用时,SpringBoot会自动扫描该目录下的文件,并将其配置成静态资源。此外,我们还可以通过自定义资源处理器来添加自己的静态资源,并对其进行定制。 SpringBoot还提供了一些方便的注解来管理静态资源。例如,@RestController注解可以将一个类标记为RESTful服务,@RequestMapping注解则可以将URL映射到对应的控制器方法上。此外,@PostMapping、@GetMapping等注解也可以直接映射到对应的请求方法上。 总之,狂神SpringBoot静态资源为开发者提供了一种方便、快捷、灵活的方式来管理和配置网站的静态资源。无论是开发小型网站还是大型网站,都可以通过这种方式轻松地搭建出适合自己的网站。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值