我似乎无法找到有关如何在一个应用程序中配置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。