隨筆-67  評論-522  文章-0  trackbacks-0
              在使用Spring MVC做開發時,一般都要使用靜態資源文件,例如jscssjpg等等數據,如果不加配置,一般都會加載失敗,解決這個問題的辦法很簡單,有需要的童鞋可以看看。
              大象以ssm3為例,web.xml這個文件里面,我們配置了DispatcherServlet,它的servlet-mapping映射如下:
              <servlet-mapping>

                 <servlet-name>ssm3</servlet-name>

                 <url-pattern>/</url-pattern>

            </servlet-mapping>
              請注意這里<url-pattern>/</url-pattern>,它將所有的請求都匹配了,并且交給DispatcherServlet作轉發。知道了問題出在哪里就好辦了,我們可以將靜態資源交給服務器處理,那么服務器處理靜態資源的是什么東東咧?以Tomcat為例,在它的web.xml里面開頭有這樣一段配置:
              
              org.apache.catalina.servlets.DefaultServlet就是用來處理靜態資源的。于是,我們就可以在項目的web.xml里面加入相應的靜態資源文件處理配置。

          <servlet-mapping>

                 <servlet-name>default</servlet-name>

                 <url-pattern>*.js</url-pattern>

              </servlet-mapping>

             

              <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>*.ico</url-pattern>

              </servlet-mapping>

           

              <servlet-mapping>

                 <servlet-name>default</servlet-name>

                 <url-pattern>*.png</url-pattern>

              </servlet-mapping>

           

              <servlet-mapping>

                 <servlet-name>default</servlet-name>

                 <url-pattern>*.htm</url-pattern>

              </servlet-mapping>

              上面只列出了一部分,如果還有其它的靜態資源需要過濾,可以繼續添加。
              本文為菠蘿大象原創,如要轉載請注明出處。http://www.aygfsteel.com/bolo
          posted on 2013-11-22 16:12 菠蘿大象 閱讀(5236) 評論(4)  編輯  收藏 所屬分類: Spring3

          評論:
          # re: 解決Spring MVC框架靜態資源文件顯示問題 2013-11-30 17:15 | dsadm
          怎么不使用mvc:resources定義呢?  回復  更多評論
            
          # re: 解決Spring MVC框架靜態資源文件顯示問題 2013-12-02 09:18 | 菠蘿大象
          @dsadm
          因為這個直接使用服務器進行處理,比用框架要簡單和快。而且你不覺得mvc:resources配置起來還比較麻煩嗎?如果將這些靜態資源放到一個單獨的服務器上,mvc:resources里的mapping和location該如何設置?  回復  更多評論
            
          # re: 解決Spring MVC框架靜態資源文件顯示問題 2015-03-03 13:52 | yzbh
          我們在用HTML5做視頻播放網頁時發現,這樣做靜態文件轉發大文件,訪問時會很慢。
          <mvc:resources mapping="/videos/**" location="/videos/"/>

          但改成這樣寫會快很多,拖拉播放進度條可以很快響應。
          <servlet>
          <servlet-name>default</servlet-name>
          <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
          <init-param>
          <param-name>debug</param-name>
          <param-value>0</param-value>
          </init-param>
          <init-param>
          <param-name>listings</param-name>
          <param-value>false</param-value>
          </init-param>
          <load-on-startup>1</load-on-startup>
          </servlet>
          <servlet-mapping>
          <servlet-name>default</servlet-name>
          <url-pattern>*.mp4</url-pattern>
          </servlet-mapping>  回復  更多評論
            
          # re: 解決Spring MVC框架靜態資源文件顯示問題 2015-03-04 08:42 | 菠蘿大象
          @yzbh
          你上面那一段<servlet></servlet>不是web.xml里面的嗎?你把它寫在你的應用里面了?  回復  更多評論
            
          主站蜘蛛池模板: 五大连池市| 金平| 永德县| 蕲春县| 青神县| 新丰县| 阳曲县| 高邑县| 阜宁县| 建宁县| 屯昌县| 黎平县| 黄骅市| 开原市| 伊金霍洛旗| 威海市| 通城县| 宜丰县| 舒兰市| 龙胜| 黄平县| 象州县| 东台市| 鹿泉市| 丁青县| 姜堰市| 贵德县| 平邑县| 景东| 永春县| 隆子县| 宁安市| 湛江市| 湟源县| 高碑店市| 栾川县| 从江县| 民和| 临汾市| 马鞍山市| 信宜市|