我有一个用Stripes开发的Web应用程序。现在我需要在同一个应用程序中开发RESTful webservices(可能使用JAX-RS)。如何集成我的Stripes应用程序以包含这些Web服务,是否有可用的示例或除JAX-RS之外的任何其他方法?
答案 0 :(得分:3)
由于Stripes是一个Web应用程序框架(即主要是表示层),而JAX-RS是一个执行RESTful Web服务的标准(即主要是业务逻辑层),我很想有两个独立的servlet,一个用于Stripes部分,一个用于JAX-RS部分。然后Stripes部分将访问JAX-RS部件作为其后端。
可能可以将两个部件部署在同一个容器中,但我对此没有多少经验。
(你会想要选择你很早就使用的JAX-RS实现。我所知道的是Jersey和CXF,他们有足够的差异 - 来自不同的用例集 - 你赢了'我想在它们之间切换。)
答案 1 :(得分:0)
我现在遇到同样的问题。 JAX-WS servlet应该与Stripes servlet结合使用,这就是问题所在。
web.xml摘录:
<servlet>
<servlet-name>StripesDispatcher</servlet-name>
<servlet-class>net.sourceforge.stripes.controller.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<filter-mapping>
<filter-name>StripesFilter</filter-name>
<servlet-name>StripesDispatcher</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<servlet-mapping>
<servlet-name>StripesDispatcher</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>WebConnectorService</servlet-name>
<servlet-class>my.sample.application.WebConnectorService</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WebConnectorService</servlet-name>
<url-pattern>/ws</url-pattern>
</servlet-mapping>
在这种情况下,JAX-WS servlet正在运行,但Stripes不处理所有其他请求。 有没有人对此问题有任何新的更新?感谢。
更新:我已经发现两个servlet都处理了请求,但问题是因为现在应用程序的上下文根等于WAR包的名称。但是我有
<context-root>/</context-root>
在jboss-web.xml中,如果不包含WebConnector servlet,它的行为与预期的一样。只要Web.xml中包含WebConnector servlet,就会忽略上面的配置。