SpringBoot訪問web中的靜態(tài)資源的方式小結(jié)
總體來講 SpringBoot 訪問web中的靜態(tài)資源,有兩個方式:
1、classpath 類目錄 (src/mian/resource)
classpath 即 WEB-INF 下面的 classes 目錄 ,在 SpringBoot 項目中是 src/main/resource 目錄。
2、ServletContext 根目錄下( src/main/webapp )
一、SpringBoot 訪問web中的靜態(tài)資源
SpringBoot默認指定了一些固定的目錄結(jié)構(gòu),靜態(tài)資源放到這些目錄中的某一個,系統(tǒng)運行后瀏覽器就可以訪問到。
1、SpringBoot 默認指定的可以存放靜態(tài)資源的目錄有哪些?
- classpath:/META-INF/resources/ ## 需創(chuàng)建/META-INF/resources/ 目錄
- classpath:/resources/ ## 需創(chuàng)建/resources/目錄
- classpath:/static/ ## 工具自動生成的static目錄,也是用的最多的目錄
- classpath:/public/ ## 需創(chuàng)建/public/ 目錄
- / ## 指的是 src/main/webapp/ 需創(chuàng)建/webapp/ 目錄
查看源碼可以找到靜態(tài)資源攔截的自動化的配置信息:在 WebMvcAutoConfiguration 類中的 addResourceHandlers方法。


2、在全局配置文件中自定義--修改這些默認的目錄
注意: 修改后,除配置的目錄以外其他目錄就不可以再訪問靜態(tài)資源了(SpringBoot 2.1.4 試了好像可以)
方式一:配置文件修改
YAML 文件:
server:
port: 80
spring:
resources:
static-locations:
- classpath:resources
- classpath:static
mvc:
static-path-pattern: /**properties 文件
server.port=80 spring.resources.static-locations=classpath:resources,classpath:static spring.mvc.static-path-pattern=/**
第一行配置表示定義資源位置,第二行配置表示定義請求 URL 規(guī)則。
方式二:配置類修改
@Configuration
public class WebMVCConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/","classpath:/aa");
}
}訪問的時候就需要寫完整路徑 http://127.0.0.1:8080/static/abc23.jpg。
3、SpringBoot 默認的首頁是放在任一個靜態(tài)資源目錄下的index.html
4、SpringBoot 默認的web頁面圖標是放在任一靜態(tài)資源目錄下的favicon.ico
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h4>SpringBoot訪問web中的靜態(tài)資源</h4>
<img src="abc23.jpg" width="300px" height="250px">
</body>
<script src="jquery-1.12.4.js"></script>
<script type="text/javascript">
$(function () {
alert("hello 首頁!");
})
</script>
</html>

將靜態(tài)資源放在上面指定的目錄中,即可訪問 index.html
二、把靜態(tài)資源打成jar包引入系統(tǒng)后供訪問
常用的靜態(tài)資源jar包的maven依賴網(wǎng)站:http://www.webjars.org

把依賴配置到maven的pom.xml中,就可以在網(wǎng)站根目錄/webjars/jquery/1.12.4/jquery.js訪問到資源!


index.html 正常引用 js,也正常訪問到。
以上就是SpringBoot訪問web中的靜態(tài)資源的方式小結(jié)的詳細內(nèi)容,更多關(guān)于SpringBoot訪問web靜態(tài)資源的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解決@Autowired注入空指針問題(利用Bean的生命周期)
這篇文章主要介紹了解決@Autowired注入空指針問題(利用Bean的生命周期),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
Spring使用@Async出現(xiàn)循環(huán)依賴原因及解決方案分析
在Spring框架中,啟用異步功能需要在應(yīng)用主類上添加@EnableAsync注解,當項目中存在循環(huán)引用時,如一個異步類MessageService和一個常規(guī)類TaskService相互引用,并且這兩個類位于同一包內(nèi),這種情況下可能會觸發(fā)Spring的循環(huán)依賴異常2024-10-10

