SpringMVC mvc:resources訪問靜態資源實戰
阿新 • • 發佈:2019-01-05
該篇部落格實現SpringMVC的< mvc :resources location=”” mapping=”“/ >訪問靜態資原始檔,也記錄了一些坑
一、專案目錄
注意清楚目錄結構,筆者第一次的時候在這個上面填坑填了好久,這個坑文後會提出來
二、web.xml配置
注意:/ 會匹配所有url,但不包括 * .jsp,* .html,* .js這樣的檔案這樣的檔案。也就是*.jsp不會進入Spring的DispatcherServlet
,所以需要在springmvc中來載入指定靜態資原始檔,之後在配置springmvc配置檔案中會解釋
三、建立靜態資原始檔(注意要在根目錄下,即WebContent目錄下)
四、建立spring配置檔案
注意:
- 必須有,否則會使requestMapping失效。
- location:指location指定的目錄不要攔截,直接請求,這裡指在根目錄下的resources檔案下的所有檔案
- mapping:值在resources檔案下的所有檔案(**代表所有檔案)
- 所有意思就是在根目錄下resources的所有檔案不會被DispatcherServlet攔截,直接訪問,當做靜態資源交個Servlet處理
五、請求處理控制器
六、建立檢視
可以看到返回控制器success,根據springmvc配置檔案字首字尾,在WEB-INF下建立views,建立success.jsp檔案
注意(之前在這裡遇坑了):該jsp頁面載入了一張圖片和一個index.css檔案
1、首先知道該success.jsp頁面在WEB-INF下,之前一直採用:resources/css/index.css和resources/images/tt.jpg,但一直找不到,無法載入css檔案和圖片,後來才發現,如果success.jsp檔案在webcontent根目錄下的話這樣是對的,但此時在根目錄下的WEB-INF下,所以需要回到根目錄利用(../)(注意因為控制器中是需要寫兩個地址:springmvc/mvcsources,如果沒有@RequestMapping(“/springmvc”),那麼直接就resources/images/tt.jpg就可以了)
2、原始照片的字尾是JPG大寫,我寫路徑時寫為jpg小寫時圖片載入不出,所以記得在這裡需要大小寫注意下
七、測試
結果: