spring訪問靜態資源檔案

2021-08-27 21:37:00 字數 984 閱讀 8318

用 spring mvc 開發應用程式,對於初學者有乙個很頭疼的問題,那就是程式資料都已經查詢出來了,但介面樣式仍然十分醜陋,載入不了 css,js,等資源檔案。當你在瀏覽器上直接輸入某個css檔案的路徑時,直接得到404錯誤,而路徑肯定沒有錯,其原因就在於在web.xml 中配置了類似如下的 spring servlet:

程式** 程式**

mvc-dispatcher

org.springframework.web.servlet.dispatcherservlet1/

請注意 / 這表示這個servlet 攔截了所有的請求,包括css,js等。所以出現上面描述的情況。如何解決這個css,js等路徑問題呢,有如下幾種解決方案.

1. 使用spring mvc resource 去讀取靜態檔案

比如在 wen-inf 下建立static 資料夾,並在 static 資料夾裡面建立css 資料夾,然後建立 1.css 檔案.

修改 mvc-dispatcher-servlet.xml 檔案

程式** 程式**

2. 採用 default servlet

在 web.xml 裡面配置

程式** 程式**

/static/*

3. 通過副檔名進行處理

在 web.xml 裡面配置

程式** 程式**

*.png

*.js

*.css

4. 對spring servlet 不用restful 風格。在url 上加上字首

程式** 程式**

5. 對spring servlet 不用restful 風格。在url 上加上字尾

程式** 程式**

*.do

這樣做的目的是讓 dispatchservlet 只攔截*.do 的url. 並不攔截css,js等。

上面介紹的5種方法,根據情況自己任意選擇一種,現在沒辦法說那種好,那種方法不好,都有可取之處,用在不同的場景而已。

靜態資源檔案管理

我們知道不同於apache的是,nodejs中檔案的實體地址與其真實的位址完全沒有關係,也就是說,如果你在位址列輸入 我們可以訪問到乙個真實位址完全沒有關係的檔案,這是為什麼嘞?因為我們可以在 中這樣寫 現在我們想實現乙個目標,就是我們在位址列輸入路徑輸入的就是對應我們需要的檔案 檔案結構如下 在s...

SpringBoot靜態資源檔案

spring boot對靜態資源對映提供了預設配置 spring boot預設將 所有訪問對映到一下目錄 classpath static classpath public classpath resources classpath meta inf resources 在resources目錄下新...

spring的靜態資源訪問

一 springmvc 方式一 使用mvc的default servlet handler spring.xml中配置 方式二 使用mvc的resources spring.xml中配置 方式三 啟用tomcat的預設排程器default 要寫在dispatcherservlet的前面,讓defau...