今天碰到的一個低級錯誤css
若是springboot沒法加載靜態資源css和js文件,有如下可能出現的狀況,而我是最後一種!!!html
(1)未設置靜態掃描路徑,這有兩種方式java
第一個方式:web
建立一個MyConfig類繼承WebMvcConfigurerAdapterspring
package com.bo.bookdb;
/**
* @author:hgt
* @version:1.0
* @date:2020/5/12
* @description:com.bo.bookdb
*
* 由於默認路徑雖然是在static下,
* 但並無包含static 下的各個文件夾,
* 所以當咱們把靜態文件移入這些文件夾後,
* spring boot就不認識了。
* 所以,爲了讓spring boot認識,
* 咱們須要添加一個配置類來把咱們本身的路徑添加進去,
* 具體代碼以下
*/
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class MyConfig extends WebMvcConfigurerAdapter{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
}
第二個方式:
在application.properties當中添加
spring.resources.static-locations=classpath:/resources/,classpath:/static/,classpath:/templates/
(2)你設置了掃描路徑,卻依舊在html文件href路徑中增長了static等字眼。這是不對的!!!
正確示例:<link href="/css/hello.css" rel="stylesheet"/>
(3)第三個錯:link標籤的屬性未添加rel="stylesheet"
正確示例:<link href="/css/hello.css" rel="stylesheet"/>
額外話題:
若是感受本身寫的都對,能夠先試試清理瀏覽器緩存,這個真的很煩人
補充:次日又測試了一下,發現了static的資源又訪問不了,而後我又稍微作了些修改,
發現只要你的static裏面還有子包,你均可以href路徑添加../ 就OK了
示例:<link href="../css/index.css" rel="stylesheet">
如此終於獲得解決!!!
若是你的系統的html單純的輸入地址而沒法找到,也許你須要在pox.xml中配置以下(放在build標籤裏面):
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/webapp</directory> <!--注意這次必需要放在此目錄下才能被訪問到 --> <targetPath>META-INF/resources</targetPath> <includes> <include>**/**</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*</include> </includes> </resource></resources>