1. 程式人生 > >SpringMVC mvc:resources訪問靜態資源實戰

SpringMVC mvc:resources訪問靜態資源實戰

該篇部落格實現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小寫時圖片載入不出,所以記得在這裡需要大小寫注意下

七、測試

結果:

這裡寫圖片描述

工程下載