隨筆-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 菠蘿大象 閱讀(5244) 評論(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里面的嗎?你把它寫在你的應用里面了?  回復  更多評論
            
          主站蜘蛛池模板: 惠州市| 甘谷县| SHOW| 九龙县| 齐齐哈尔市| 新化县| 上林县| 敖汉旗| 兴义市| 固始县| 明水县| 威信县| 通辽市| 利津县| 长治县| 兴化市| 嘉禾县| 青川县| 银川市| 白沙| 长治县| 兰坪| 尚义县| 连城县| 延吉市| 松江区| 辽中县| 常州市| 包头市| 曲沃县| 秦皇岛市| 通渭县| 来宾市| 克东县| 吴忠市| 汤原县| 和平县| 甘肃省| 康平县| 宁武县| 长沙市|