StevenBot-Saltsam

          眼睛能裝下世界,為何卻裝不下眼淚? 一只風(fēng)箏一輩子只為一根線冒險。 那不是一場游戲,為何總有一根線牽著心懷,隱隱作疼? 那不是一段邂逅,為何飄在橋上的影子,總纏進(jìn)夢鄉(xiāng)? 那不是一個夢境,為何你的溫柔私語,總是不經(jīng)意的響起?

          導(dǎo)航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          datas link

          OSChinal Sources codes Library

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          Spring3中js/css/jpg/gif等靜態(tài)資源無法找到(No mapping found for HTTP request with URI)問題解決

          最近項(xiàng)目中使用到Spring3,在感嘆Spring3注解配置清爽的同時竟然出現(xiàn)了這個不和諧的事情,實(shí)在無法忍受

          問題:部署項(xiàng)目后程序加載或用瀏覽器訪問時出現(xiàn)類似的警告,2011-01-19 10:52:51,646 WARN [org.springframework.web.servlet.PageNotFound] -<No mapping found for HTTP request with URI [/sandDemo001/images/1.jpg] in DispatcherServlet with name 'spring'>,主要看尖括號內(nèi)部分。

          問題原因:罪魁禍?zhǔn)资莣eb.xml下對spring的DispatcherServlet請求url映射的配置,原配置如下:

          <servlet>
              <servlet-name>spring</servlet-name>
              <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
              <load-on-startup>1</load-on-startup>
           </servlet>
           <servlet-mapping>
                  <servlet-name>spring</servlet-name>
                  <url-pattern>/</url-pattern>
           </servlet-mapping>

          分析原因:<servlet-mapping><url-pattern>/</url-pattern>把所有的請求都交給spring去處理了,而所有available的請求url都是在Constroller里使用類似@RequestMapping(value = "/login/{user}", method = RequestMethod.GET)這樣的注解配置的,這樣的話對js/css/jpg/gif等靜態(tài)資源的訪問就會得不到。

          解決方法:在web.xml里添加如下的配置

          <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:在spring的配置文件中添加如下一行:

          <mvc:default-servlet-handler/>

          注意,需要是spring3.0.5以上版本

          解決方法3

          <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
           
           <mvc:resources mapping="/resources/**" location="/resources/" />
           
          這個配置告訴spring 靜態(tài)資源的處理方式

          posted on 2011-10-15 09:45 Steven_bot 閱讀(67705) 評論(4)  編輯  收藏 所屬分類: spring

          評論

          # re: Spring3中js/css/jpg/gif等靜態(tài)資源無法找到(No mapping found for HTTP request with URI)問題解決[未登錄] 2012-08-14 11:27 1

          11111  回復(fù)  更多評論   

          # re: Spring3中js/css/jpg/gif等靜態(tài)資源無法找到(No mapping found for HTTP request with URI)問題解決 2014-01-08 10:42 王林

          正解  回復(fù)  更多評論   

          # re: Spring3中js/css/jpg/gif等靜態(tài)資源無法找到(No mapping found for HTTP request with URI)問題解決 2015-09-10 20:34 未登錄

          萬能的神啊!! 感謝您  回復(fù)  更多評論   

          # re: Spring3中js/css/jpg/gif等靜態(tài)資源無法找到(No mapping found for HTTP request with URI)問題解決 2015-09-10 20:38 未登錄

          我的QQ:2602200571

          大神,就是不知道能不能通配,要是圖片文件夾有很多的話,豈不是要配置好多次?  回復(fù)  更多評論   

          主站蜘蛛池模板: 仙居县| 巨鹿县| 永仁县| 洪泽县| 贺兰县| 宁远县| 亳州市| 德令哈市| 偏关县| 壤塘县| 贺兰县| 军事| 黄大仙区| 德令哈市| 乌海市| 广平县| 定州市| 石泉县| 溆浦县| 玉山县| 常州市| 麦盖提县| 河池市| 阳信县| 和顺县| 浦县| 苏尼特左旗| 元朗区| 西华县| 长宁县| 景谷| 兰考县| 德令哈市| 克东县| 平阴县| 临湘市| 河源市| 井冈山市| 曲靖市| 炉霍县| 略阳县|