静态资源的默认访问路径:
在ResourceProperties类中的CLASSPATH_RESOURCE_LOCATIONS变量中定义了springboot默认访问静态资源的路径,优先级从高到低排列分别是:
- “classpath:/META-INF/resources/”
- “classpath:/resources/”
- “classpath:/static/”
- “classpath:/public/”
还有一个是项目的根目录:“/”
如果需要自定义配置静态资源访问路径:
那么可以通过yaml或者Java配置对象路径:
配置资源访问路径
mvc:
static-path-pattern: /自定义的资源访问路径/**
#配置静态资源的存储路径,也可以从D盘中去找
resources:
static-locations:
#resource下的kates文件夹放置资源文件
- classpath:/kates/
- file:D:\J21\File
如果我们配置了自定义的静态资源映射,那么springboot中默认的静态资源映射就会失效,只会保留根目录
但是如果我们需要自己对404 报错进行管理,那么就需要关闭掉静态资源映射:
表示出现404的时候直接抛出异常给我们捕捉,而不是直接跑404页面
throw-exception-if-no-handler-found: true
add-mappings: false
因为如果页面请求的路径出错之后,开启了映射的话服务器就会去静态资源里找,要是没找到仍然会报404
Java配置的优先级较高,但是yaml较为灵活