我的项目是Struts2+spring3+hibernate的。我想实现url的伪静态。也就是当访问一个地址的时候
本来是:http://www.sss.com/detail.html?id=1
现在要变成:http://www.sss.com/detail/1.html
也就是把参数id=1包含到url里面来。
应该怎么进行配置好呢?
   因为是SSH整合的项目,所以没思路了。

解决方案 »

  1.   

    我博客了有这简单例子,urlerwrite重写的例子,非常简单,看看能不能有啥帮助
      

  2.   

    嗯嗯 的确是很简单的例子  谢谢你。  我的项目用到的时候 出现了问题。  在访问一个http://192.168.0.87/livesource/index.html
    能够访问到action  但是出错了:HTTP Status 404 - There is no Action mapped for action name livesource_index.
    livesource_index.其实是一个struts.xml里面的
    <result name="success" >/WEB-INF/index/index.jsp</result>
    这个问题怎么解决呀
      

  3.   

    看你的提示是没有配置livesource_index  的action,你再看看struts的配置有没有问题,还有就是,如果出现问题了,要把代码和错误贴出来,别还要人家提醒你,你不贴出来,别人哪知道错哪了
      

  4.   

    在你的web.xml里struts2的filter之前再配一个filter,在此filter里可以调用request的转发操作
    request.getDispacher().forward(url)。
      

  5.   

    我已经说的很清楚了
    错误就是:action 但是出错了:HTTP Status 404 - There is no Action mapped for action name livesource_index.不是个Action,是一个<result name="success">/WEB-INF/livesource/livesource_index.jsp</result> 
      

  6.   


    谢谢你的提醒:我访问http://192.168.0.87/livesource/index.html的时候,正常跳转到了<action name="index" class="com.gboooo.action.livesource.LivesourceIndexAction"> 然后return SUCCESS.
    就在<result name="success">/WEB-INF/livesource/livesource_index.jsp</result> 的时候,服务器似乎把livesource_index.当做一个Action来解析。  所以肯定是配置的问题。  第一次遇到,就是不知道需要修改哪里
      

  7.   

    我另外配置了一个Filter,还是会出现那个错:<!-- UrlRewriteFilter的过滤器 -->  
        <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>debug</param-value>  
            </init-param>  
        </filter>  
        <filter-mapping>  
            <filter-name>UrlRewriteFilter</filter-name>  
            <url-pattern>/*</url-pattern>  
        </filter-mapping>   <!-- Struts2.1.8的清理 -->  
        <filter>  
            <filter-name>Struts2CleanUp</filter-name>  
            <filter-class>  
                org.apache.struts2.dispatcher.ActionContextCleanUp  
            </filter-class>  
        </filter>  
        <filter-mapping>  
            <filter-name>Struts2CleanUp</filter-name>  
            <url-pattern>/*</url-pattern>  
            <dispatcher>REQUEST</dispatcher>
        </filter-mapping>  
      
        <!-- Struts2.1.8配置文件 -->  
        <filter>  
            <filter-name>struts2</filter-name>  
            <filter-class>  
                org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  
            </filter-class>  
        </filter>  
        <filter-mapping>  
            <filter-name>struts2</filter-name>  
            <url-pattern>/*</url-pattern>  
            <dispatcher>REQUEST</dispatcher>   
            <dispatcher>FORWARD</dispatcher>   
        </filter-mapping>  
      

  8.   

    试试我的web.xml配置!urlrewrite.xml放在WEB-INF下<!--url重写 -->
    <filter>
       <filter-name>UrlRewriteFilter</filter-name>
       <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    <filter-mapping>
       <filter-name>UrlRewriteFilter</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping><!--url重写 end-->
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>        
        </filter>    <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST </dispatcher>  
    <dispatcher>FORWARD </dispatcher>  
    <dispatcher>INCLUDE </dispatcher> 
        </filter-mapping>