spring boot 2.4.1 中对静态资源的设置:有两个参数:
spring.mvc.static-path-pattern=/**
spring.web.resources.static-locations=classpath:/META-INF/resources/**,classpath:/resources/**,classpath:/static/**,classpath:/public/**,
网上有很多资料,在2.4.1这个版本下都不正确。
我根据自己的实验得出如下结果:
spring.web.resources.static-locations 这个参数配置的是:静态资源的位置。 这里文件夹后面 不 可 加 ** 这里只是说明哪些文件 是 静态资源文件。
spring.mvc.static-path-pattern=/** 配置的是访问的模式: /** 代表 是该级目录以及所包含的所有子目录。
因此:如果想配置资源目录(resources)下某个目录xxx,以及所包含的所有目录应该是这样:
spring.mvc.static-path-pattern=/**
spring.web.resources.static-locations=classpath:/xxx/
而
spring.mvc.static-path-pattern=/ 这是这个选项默认配置,只能访问当前的目录,而不包括子目录
spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/, 这个是这个选项的默认配置
如果
想要自定义文件夹作为静态资源文件,则先定义文件路径:
web.upload-path=C:/temp/study13/
然后在默认后面加上:,file:${web.upload-path}
spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}