SpringMVC 的使用映射路徑


以下是測試結果,可能存在紕漏,暫記錄一下。

使用springMVC時,一般將DispatcherServlet請求映射配置為"/",則Spring MVC將捕獲Web容器所有的請求,包括靜態資源的請求,Spring MVC會將它們當成一個普通請求處理,因此找不到對應處理器將導致錯誤。

靜態文件如  .js、.css、圖片等文件也會被攔截,所以需要在springMVC.xml 文件里配置映射路徑,

例如: 

<mvc:resources location="/static/css/" mapping="/css/**"></mvc:resources>

需要注意的是,之后引用 css 文件時,正確的寫法如下:

<link rel="stylesheet" href="/項目名/css/xxxxx.css" type="text/css"  />

錯誤的寫法如下:

<link rel="stylesheet" href="/css/xxxxx.css" type="text/css"  />   錯誤原因是  映射路徑是從項目內部開始的,也就是說  項目名 沒有辦法忽略掉,當然如果項目名為空,那么這么寫是可以的

<link rel="stylesheet" href="css/xxxxx.css" type="text/css"  />    如果項目名為空,這樣寫仍然是錯誤的, 少了一個  "/"。 以"/"開頭時,是指從項目根路徑開始,沒有"/"開頭的話,是相對路徑,從當前頁面開始。

 

另外,springMVC.xml 文件里配置映射路徑,無法替代 項目名,就是說 location 里包含 項目名  是沒有用的。如下寫法是錯誤的。換句話說,前端文件里引用靜態文件,項目名無法省略。

<mvc:resources location="/項目名/static/css/" mapping="/css/**"></mvc:resources>

 

另外參考:注意事項 Spring MVC靜態資源處理:<mvc:resources />


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM