【发布时间】:2012-11-30 20:43:33
【问题描述】:
处理嵌入在 JPOS QBean 下运行的 Jetty (v 8) 实例。为简单起见,我想仅使用配置添加基于 Jersey 的基于 servlet 的 REST Web 服务,而无需对 servlet 注册进行编程。我确实有 JXB 注释的 POJO 资源组件,其中 jersey packages 设置指向,但这并不重要。
在我看来,在 Jetty webdefault.xml 中添加以下内容应该可以解决问题:
<!-- JPOS As WebSvc -->
<servlet>
<servlet-name>jpos</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.test.rest.svc</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping> <servlet-name>jpos</servlet-name> <url-pattern>/jpos/*</url-pattern></servlet-mapping>
但是,这个条目似乎根本没有注册,因为我在日志中只看到了 default 和 jsp servlet 初始化。
我正在查看 jetty.xml 内容并添加了用于不同目的的自定义处理程序,但不清楚是否可以通过处理程序集合设置添加 servlet。似乎内置的 ServletHandler 已经初始化并且正在加载默认和 jsp servlet,所以我认为我不能在 jetty.xml 中列出它来添加我的 servlet(即使我知道如何配置它)。
【问题讨论】:
-
你是如何启动 Jetty 的? mvn码头:运行?如果是的话,那么看看这个? stackoverflow.com/questions/4988019/…
标签: servlets configuration jersey pojo embedded-jetty