在springboot中對於靜態資源的訪問默認提供在以下4個地方:
- classpath:/META-INF/resources/
- classpath:/resources/
- classpath:/static/
- classpath:/public/
其優先級依次降低
訪問:http://localhost:8093/uploads.html
然後刪除META-INF/resources/uploads.html,再訪問頁面或者是(ctrl+F5:強制刷新)
以此也可以驗證訪問靜態資源的優先級
**
源碼:
**
springboot對mvc的自動化配置都放在 WebMvcAutoConfiguration中,靜態資源文件存放在addResourceHandlers方法中
默認靜態資源目錄:
當然也可以修改默認規則:
- 在配置文件中配置
(1)在application.properties中配置如下:
spring.mvc.static-path-pattern=/zxf/**
spring.resources.static-locations=classpath:/zxf/
(2) 在resources下建存放靜態資源的文件夾:
瀏覽器訪問:http://localhost:8093/uploads.html (注意清緩存)
- 通過java編碼配置
實現 WebMvcConfigurer 接口重寫addResourceHandlers 方法
@Configuration
public class MyWebMvcConfig implements WebMvcConfigurer{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// TODO Auto-generated method stub
WebMvcConfigurer.super.addResourceHandlers(registry);
registry.addResourceHandler("/zxf/**").addResourceLocations("classpath:/zxf/");
}
}
重新啓動項目,訪問 http://localhost:8093/zxf/uploads.html 即可看到配置成功!