隨筆-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 菠蘿大象 閱讀(5235) 評論(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里面的嗎?你把它寫在你的應用里面了?  回復  更多評論
            
          主站蜘蛛池模板: 清水河县| 长岭县| 仙居县| 安远县| 武清区| 崇义县| 建宁县| 察雅县| 临湘市| 兴城市| 周口市| 石家庄市| 阿鲁科尔沁旗| 隆尧县| 中卫市| 民权县| 锦屏县| 白银市| 赤壁市| 安乡县| 嘉黎县| 通渭县| 哈巴河县| 山阳县| 永平县| 南城县| 仪陇县| 盘锦市| 康保县| 峨眉山市| 麦盖提县| 唐海县| 安丘市| 元谋县| 东港市| 常州市| 凯里市| 旺苍县| 蒲城县| 柳林县| 苏尼特右旗|