Struts 1 混合 url 模式 *.do with regular urls web.xml

Struts 1 mix url pattern *.do with regular urls web.xml

我在 struts 1 个应用程序中遇到以下情况。

应用程序的旧功能适用于 struts1 并具有以下 servlet 映射(我认为这是标准的处理方式)。

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

我也在 struts 1 中使用 struts 操作编写了一些新功能(json 网络服务)。

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

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

有人知道怎么做吗?

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

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

我使重写器重定向

services/someService?parma1=value1¶m2=value2 到 severices.someService.do?parma1=value1¶m2=value2

urlrewrite.xml 中的配置如下所示

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

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