您好,登錄后才能下訂單哦!
這篇文章主要講解了“Springboot靜態資源的訪問方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Springboot靜態資源的訪問方法是什么”吧!
在線文檔
只要靜態資源放在類路徑下: /static 、 /public 、 /resources 、 /META-INF/resources 可以被直接訪問- 對應文件 WebProperties.java
直接放到resources目錄下是訪問不到的,這里的 /resources是指在resource目錄的創建resources目錄
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[]{"classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/"};
常見靜態資源:JS、CSS 、圖片(.jpg .png .gif .bmp .svg)、字體文件(Fonts)等
訪問方式 :默認: 項目根路徑/ + 靜態資源名 比如 http://localhost:8080/hi.jpg . - 設置 WebMvcProperties.java
/** * Path pattern used for static resources. */ private String staticPathPattern = "/**";
1.創建 SpringBoot 項目 springbootweb
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.llp</groupId> <artifactId>springBootweb</artifactId> <version>1.0-SNAPSHOT</version> <!--導入springboot父工程-規定寫法--> <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.5.3</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> </project>
2.創建相關靜態資源目錄, 并放入測試圖片, 沒有目錄,自己創建即可, 完成測試
靜態資源訪問原理:靜態映射是 /**, 也就是對所有請求攔截,請求進來,先看 Controller 能不能處理,不能處理的請求交給靜態資源處理器,如果靜態資源找不到則響應 404 頁面
改變靜態資源訪問前綴,比如我們希望 http://localhost:8080/llp/* 去請求靜態資源, 應用場景:靜態資源訪問前綴和控制器請求路徑沖突
(1)創建src\main\resources\application.yml
spring:
mvc:
static-path-pattern: /llp/**
(2)重啟應用,完成測試, 瀏覽器輸入: http://localhost:8080/llp/4.jpg
改變默認的靜態資源路徑,比如希望在類路徑下增加 llpimg 目錄 作為靜態資源路徑 , 并完成測試.
(1)如圖所示
(2)配置src\main\resources\application.yml
spring:
mvc:
static-path-pattern: /llp/**
web:
resources:
#修改/指定 靜態資源的訪問路徑/位置
#
static-locations: ["classpath:/llpimg/","classpath:/META-INF/resources/",
"classpath:/resources/", "classpath:/static/", "classpath:/public/"] #String[] staticLocations
(3)測試訪問http://localhost:8080/llp/5.png
(4)如果你配置 static-locations, 原來的訪問路徑就被覆蓋,如果需要保留,你再指定一下即可
spring:
mvc:
static-path-pattern: /llp/**
web:
resources:
#修改/指定 靜態資源的訪問路徑/位置
#
static-locations: ["classpath:/llpimg/","classpath:/META-INF/resources/",
"classpath:/resources/", "classpath:/static/", "classpath:/public/"] #String[] staticLocations
感謝各位的閱讀,以上就是“Springboot靜態資源的訪問方法是什么”的內容了,經過本文的學習后,相信大家對Springboot靜態資源的訪問方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。