關於SpringMVC下無法引用外部的js,css檔案錯誤
阿新 • • 發佈:2019-01-07
環境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 靜態資源的處理方式