规则一: ./webjars/下的所有路径** 资源都在 classpath:/META-INF/resources/webjars/
规则二:/ 的所有路径**资源都在:
1.clasapath:/META-INF/resources
2.classpath:/resources/
3.classpath:/static/
4.classpath:/public/
所有的静态资源都定义了缓存规则,[浏览器访问过一次,就会缓存一段时间,但此功能参数是无默认值的]--->可以通过配置文件修改默认值(spring.web)
1.period:缓存间隔 默认0s
2.cacheControl:缓存控制,默认无{私有缓存, 共享缓存}
3.userLastModified: 是否使用lastModified头 默认false
源码:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!this.resourceProperties.isAddMappings()) {
logger.debug("Default resource handling disabled");
return;
}
//1、
addResourceHandler(registry, this.mvcProperties.getWebjarsPathPattern(),
"classpath:/META-INF/resources/webjars/");
addResourceHandler(registry, this.mvcProperties.getStaticPathPattern(), (registration) -> {
registration.addResourceLocations(this.resourceProperties.getStaticLocations());
if (this.servletContext != null) {
ServletContextResource resource = new ServletContextResource(this.servletContext, SERVLET_LOCATION);
registration.addResourceLocations(resource);
}
});
}