struts2 + urlrewrite 整合注意事項

韓天偉發表於2014-01-02

這幾天業餘時間在玩百度雲,百度的雲還是不錯的,但是對於我這樣的.NET程式設計師,有點不公平,沒有.net虛機,不過也不是百度一家沒有,基本都沒有,有的都是那種開放雲,自已在雲端來部署安裝軟體的。

所以也來玩玩JAVA,對於JAVA並不陌生,隨不是我主業程式,但也是駕輕就熟,對於Struts Spring  hibernate 等也是很熟悉,弄了個SSH來做個小應用,但在URLREWRIT上遇到了困難,怎麼沒有引數有可以重寫,有引數的無法重寫,哎,在網上找了半天才發現

  一、兩個過濾器的順序放反了,應該URLREWRITE放在前面

  

   <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
  <filter>
    <filter-name>StrutsCleanUpFilter</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>StrutsCleanUpFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>struts-default.xml,struts-plugin.xml,/com/wms/resources/struts.xml</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    <dispatcher>INCLUDE</dispatcher> 
  </filter-mapping>

 

  二、沒有對Struts做處理

  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    <dispatcher>INCLUDE</dispatcher> 
  </filter-mapping>

這樣對有引數的URL也可以重寫了,哈哈

非常感謝百度雲,從一開始推去雲端計算我就在使用,隨然現在開始收費了,但百度的費還是草根站長可以支付的起的,也是學習。

 

相關文章