在一个应用程序中配置Jersey和Struts 2

时间:2014-05-29 06:30:16

标签: struts2 jersey

我似乎无法找到有关如何在一个应用程序中配置Jersey和Struts 2的任何信息。我有以下web.xml:

   <servlet>
                <servlet-name>ServletAdaptor</servlet-name>
                <servlet-class>
                    com.sun.jersey.spi.container.servlet.ServletContainer
                </servlet-class>
                <load-on-startup>1</load-on-startup>
            </servlet>
            <servlet-mapping>
                <servlet-name>ServletAdaptor</servlet-name>
                <url-pattern>/ajax/*</url-pattern>
            </servlet-mapping>

            <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>
            </filter-mapping>

我正在为动作类,结果等使用Struts 2注释配置。但是,我仍然在src/中有一个struts.xml,它被放入WEB-INF / classes来配置一些东西。其中一个是关于告诉Struts忽略一个或多个URL模式的谷歌上不容易找到的选项。因此,我希望所有请求除了包含ajax/*的任何URL之外,对于Struts 2,我有上述内容并将ajax/*模式添加到struts.xml中,如下所示:

<struts>
    <constant name="struts.devMode" value="true" />
    <constant name="struts.convention.classes.reload" value="true" />
    <constant name="struts.enable.SlashesInActionNames" value="true" />
    <constant name="struts.action.excludePattern" value="/ajax/*?" />

    <package name="default" extends="struts-default" namespace="/">
        <action name="index">
            <result>/index.jsp</result>
        </action>
    </package>
</struts>

如您所见,excludePattern用于告诉Struts要忽略的内容。尽管如此,我无法获得泽西岛的任何要求以获得资源。他们正在加载..我看到他们在日志输出中是圆的。我得到的唯一错误是Struts没有映射到/ajax/somePath的操作。

所以,如果有人配置了Struts2和Jersey,我会非常感激地帮助我解决如何让它们一起工作,以便一条(或几条url路径)通过Jersey,其余的去Struts2。

0 个答案:

没有答案