springboot 静态资源默认是在resource下的也就是classpath类路径下的

/static/public/resources/META-INF/resources

 

template应该不包括在内没有说明

拿5张图片测试下

经过测试templates里面的图片确实无法访问其他都可以

 

 但是静态资源名和controller请求路径名一样怎么办呢?

 

 现在我们知道了他的请求优先为controller 优先 controller没有后再去静态资源找

静态资源没有后就会报错

那当一个项目需要将静态资源不公开设置一个前缀并使用filter或intercepter来拦截静态资源的请求该怎么做呢?

在官方文档中

我们的静态资源的路径经过整合所以我们不许要在url中指明文件夹让他帮我们自动搜索

但现在我们要设置拦截他,且不能拦截所有Controller所以我们就给他的资源路径上加个前缀

是在yml或properties中修改spring.mvc.static-path-pattern

实例是/resources/**你可以修改为:

 这样访问静态资源就得在前面加上个/res

但是你的项目资源文件夹不用改变

 

 之前静态资源路径]的修改可以通过spring.resource.static-location来实现改变的但现在是这个方法弃用了

 现在是web下的resources的static-locations

他是一个数组式的参数他可以有多个目录

当然你配置之后之前的默认public static这些目录就会失效了

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐