前言
- 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
Wildcard | Description |
---|---|
? | 匹配任何单字符 |
* | 匹配0或者任意数量的字符 |
** | 匹配0或者更多的目录 |
Table Example Ant-Style Path Patterns
Path | Description |
---|---|
/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