無線&移動互聯網技術研發

          換位思考·····
          posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Urlrewrite與Struts2.x結合使用

          Posted on 2010-09-07 15:17 Gavin.lee 閱讀(1474) 評論(0)  編輯  收藏 所屬分類: web 積累(前端 + 后臺)

              之前在struts1.x中就已經使用過urlrewrite(下載地址http://tuckey.org/urlrewrite/#download)這個jar包的了,有這個urlrewrite的目的就是為了簡化與美觀及對SEO,搜索引擎收錄等方面都有好處。最近改版系統,由struts1.x升級為struts2.x,在使用時urlrewrite這個時,直接將xml文件及jar復制過來,然后就開始運行,但好遺憾的時,沒有起到作用,于是上網查,查到一大堆的資料,基本上都是說加多兩個配置選項,于是一樣的照抄過,所以我的WEB.XML文件的配置如下(過濾器部分):

          <!-- 字符過濾器 -->
          <filter>
          <filter-name>encodingFilter</filter-name>
          <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
          <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
          </init-param>
          <init-param>
          <param-name>forceEncoding</param-name>
          <param-value>true</param-value>
          </init-param>
          </filter> 
          <filter-mapping>
          <filter-name>encodingFilter</filter-name>
          <url-pattern>/*</url-pattern>
          </filter-mapping>
          <!-- Hibernate Open Session In View filter(開啟OSIV)-->
          <filter>
          <filter-name>hibernateOpenSessionInViewFilter</filter-name>
          <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
          </filter>
          <filter-mapping>
          <filter-name>hibernateOpenSessionInViewFilter</filter-name>
          <url-pattern>/*</url-pattern>
          </filter-mapping>
          <!-- UrlRewriteFilter簡化URL,有利于搜索引擎收錄 -->
          <filter>
          <filter-name>UrlRewriteFilter</filter-name>
          <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
          <init-param>
          <param-name>logLevel</param-name>
          <param-value>WARN</param-value>
          </init-param>
          </filter>   
          <filter-mapping>
          <filter-name>UrlRewriteFilter</filter-name>
          <url-pattern>/*</url-pattern>
          </filter-mapping>
          <!-- Struts2 核心過濾器 -->
          <filter>
          <filter-name>struts2CleanupFilter</filter-name>
          <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
          </filter>
          <filter-mapping>
          <filter-name>struts2CleanupFilter</filter-name>
          <url-pattern>/*</url-pattern>    
          <dispatcher>REQUEST</dispatcher>  
          <dispatcher>FORWARD</dispatcher>
          <dispatcher>INCLUDE</dispatcher>
          </filter-mapping>
          <filter>
          <filter-name>struts2Filter</filter-name>
          <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
          </filter>
          <filter-mapping>
          <filter-name>struts2Filter</filter-name>
          <url-pattern>/*</url-pattern>  
          <dispatcher>REQUEST</dispatcher>  
          <dispatcher>FORWARD</dispatcher>
          <dispatcher>INCLUDE</dispatcher>
          </filter-mapping>


          保存,運行,還是不成功!感覺就好似urlrewrite.jar這個包沒啟動成功一樣,但我已經時時按網上的配置配好的了,加載順序為:
          1, encodingFilter
          2, opensessionInviewfilter
          3, UrlRewriteFilter
          4, struts2-Cleanup
          5, struts2

          這已經是沒有錯的了,為什么會不成功的呢?于是再google,終于在http://wiki.springside.org.cn/display/SpringSide3/View這個頁里看到一句:首先在web.xml中加入url rewrite filter,注意需放到struts2 filter的前面,然后在WEB-INF/下放一個urlrewrite.xml進行定義,然后在WEB-INF/下放一個urlrewrite.xml, 于是馬上查看了一下,發現我自己的竟然寫在src目錄下,那些在WEB-INF目錄下就是在classes生成urlrewrite.xml,于是將src目錄下的刪除,再將classes目錄下移至WEB-INF目錄下再運行。淚奔中.....實在太操心意了。 
              原文出處http://it.chinawin.net/softwaredev/article-c88e.html

          主站蜘蛛池模板: 长岭县| 公安县| 同江市| 五原县| 丹巴县| 赞皇县| 绥中县| 明光市| 太和县| 湖州市| 抚顺市| 门源| 黄平县| 金乡县| 东台市| 高平市| 织金县| 曲沃县| 乌什县| 河南省| 东乡| 安图县| 吴川市| 故城县| 上栗县| 加查县| 突泉县| 扶余县| 方正县| 宜昌市| 平舆县| 郎溪县| 永康市| 新巴尔虎左旗| 工布江达县| 永丰县| 榆树市| 泾源县| 防城港市| 将乐县| 息烽县|