处理在JPOS QBean下嵌入的Jetty(v 8)实例。为简单起见,我想使用配置onlly添加基于Jersey的基于servlet的REST Web服务,而无需编写servlet注册。我确实有JXB注释的POJO资源组件,其中指定了泽西包设置,但这并不重要。
简单来说,添加到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>
但是,似乎这个条目根本就没有注册,因为我看到只在日志中初始化了默认和jsp servlet。
我正在查看jetty.xml内容并添加了一个用于不同目的的自定义处理程序,但是不清楚是否可以通过Handler集合设置添加servlet。似乎内置的ServletHandler已经初始化并且正在加载默认和jsp servlet,所以我认为我不能在jetty.xml中列出添加我的servlet(即使我知道如何配置它)。 / p>
答案 0 :(得分:0)
事实证明,将Jersey servlet配置放入其自己的web.xml并将该文件放在配置的webapps根目录下就像这样简单:
web应用
^^^^根
^^^^^^^的index.html
^^^^^^^ WEB-INF
^^^^^^^^^^的web.xml