SpringBoot對靜態資源的訪問

在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 即可看到配置成功!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章