【问题标题】:Add Servlet to Jetty using Configuration only?仅使用配置将 Servlet 添加到 Jetty?
【发布时间】: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(即使我知道如何配置它)。

【问题讨论】:

标签: servlets configuration jersey pojo embedded-jetty


【解决方案1】:

结果很简单,只需将 Jersey servlet 配置放入其自己的 web.xml 中,然后将该文件放在已配置的 webapps 根目录下,如下所示:
网络应用
^^^^根
^^^^^^^index.html
^^^^^^^WEB-INF
^^^^^^^^^^web.xml

【讨论】:

    猜你喜欢
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 2015-06-26
    • 2016-12-21
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多