用 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...