【问题标题】:Struts 1 mix url pattern *.do with regular urls web.xmlStruts 1 混合 url 模式 *.do 与常规 url web.xml
【发布时间】:2016-12-10 21:48:34
【问题描述】:

我在一个 struts 1 应用程序中有以下情况。

应用程序的旧功能适用于 struts 1,并具有以下 servlet 映射(我认为这是标准的做事方式)。

<servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
 </servlet-mapping>

我也在 struts 1 中使用 struts Actions 编写了一些新功能(json webservices)。

我希望这些 url 在没有 .do 扩展名的情况下可用,但旧 url 仍应与 *.do 扩展名一起使用。

我尝试了几种方法,例如 / url 模式,但这会破坏静态资源的加载。

有人知道怎么做吗?

【问题讨论】:

    标签: servlets web.xml struts-1 url-pattern servlet-mapping


    【解决方案1】:

    我以不同的方式解决了这个问题。我使用 tukey url 重写器来实现我的目标。

    http://www.tuckey.org/urlrewrite/

    我做了重写器重定向

    services/someService?parma1=value1&param2=value2 到 severices.someService.do?parma1=value1&param2=value2

    urlrewrite.xml 中的配置如下所示

    <urlrewrite use-context="true">
        <rule>
            <from>^/services/someService$</from>
            <to last="true">/someService.do?%{QUERY_STRING}</to>
        </rule>
    </urlrewrite>
    

    其余信息可在手册中找到。

    【讨论】:

      猜你喜欢
      • 2017-11-19
      • 2013-08-02
      • 2014-11-09
      • 2012-02-13
      • 1970-01-01
      • 2013-03-28
      • 2023-03-03
      • 1970-01-01
      • 2013-08-02
      相关资源
      最近更新 更多