springboot沒法加載靜態資源css和js文件

今天碰到的一個低級錯誤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>
相關文章
相關標籤/搜索