1. 程式人生 > >關於SpringMVC下無法引用外部的js,css檔案錯誤

關於SpringMVC下無法引用外部的js,css檔案錯誤

環境Spring Tool suite。

spring 3.2.9 +hibernate 3

問題描述:

需要在一個頁面引用bootstrap這個外掛(這是一個做頁面的吧,我也採用,感覺逼格挺高啊),然後在引用的時候總是會出現

  • No mapping found for HTTP request with URI 這個錯誤,然後我開啟firebug這個工具(firefox上面的,逼格也高)。發現是引用的幾個外部js,css檔案沒有找到。

原因:
的/把所有的請求都交給spring去處理了,而所有available的請求url都是在Controller裡使用類似@RequestMapping(value = “/login/{user}”, method = RequestMethod.GET)這樣的註解配置的,這樣的話對js/css/jpg/gif等靜態資源的訪問就會得不到。摘自

解決方案:

你的spring-servlet.xml配置檔案下加入

<mvc:annotation-driven/>

這個好像是針對spring3以上的。

<servlet-mapping>
     <servlet-name>default</servlet-name>
     <url-pattern>*.css</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>default</servlet-name
>
<url-pattern>*.gif</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name
>
<url-pattern>*.js</url-pattern> </servlet-mapping>

2

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->

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

這個配置告訴spring 靜態資源的處理方式