在以前開(kāi)發(fā)項(xiàng)目的時(shí)候靜態(tài)文件放在src/main/webapp,而springboot默認(rèn)的靜態(tài)文件的路徑是在classpath:[/META-INF/resources/,/resources/, /static/, /public/]。
看一個(gè)demo:
在resources下面新建一個(gè)public文件夾,文件夾下面新建一個(gè)login.html,一個(gè)css文件夾(文件夾下面新建main.css),一個(gè)js文件夾(文件夾下面新建web.js)
login.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link href="css/main.css" media="screen" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/web.js"></script>
</head>
<body>
<h1>public login html page</h1>
</body>
</html>
login.html中引入web.js和main.css窄驹,如果配置靜態(tài)文件生效狗唉,那么js文件和css文件將都會(huì)生效。
web.js:
alert('spring boot static resources');
main.css:
body {color: red;}
啟動(dòng)類(lèi)啟動(dòng):
package com.zhihao.miao;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
發(fā)現(xiàn)css和js都生效了摊册。
我們看源碼分析,org.springframework.boot.autoconfigure.web.ResourceProperties這個(gè)類(lèi)颊艳,
自定義靜態(tài)資源路徑
spring.resources.static-locations=classpath:/html/
在resources下面新建html文件夾茅特,下面reg.html靜態(tài)資源忘分,然后啟動(dòng)啟動(dòng)類(lèi),進(jìn)行訪問(wèn)白修,發(fā)現(xiàn)訪問(wèn)成功妒峦,則說(shuō)明配置正確了。
總結(jié)
spring boot 如何處理靜態(tài)資源
- src/main/webapp目錄下兵睛,就可以直接訪問(wèn)
- 默認(rèn)的靜態(tài)資源的路徑是:classpath:[/META-INF/resources/,/resources/, /static/, /public/]
- 可以通過(guò)spring.resources.staticLocations配置項(xiàng)修改默認(rèn)靜態(tài)資源路徑