struts2 + urlrewrite 整合注意事项

这几天业余时间在玩百度云,百度的云还是不错的,但是对于我这样的.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也可以重写了,哈哈

非常感谢百度云,从一开始推去云计算我就在使用,随然现在开始收费了,但百度的费还是草根站长可以支付的起的,也是学习。

原文地址:https://www.cnblogs.com/hantianwei/p/3502493.html