jetty是否具有" Servlet Pluggability Mechanism" servlet 3.0的功能?

时间:2015-11-06 16:05:15

标签: java servlets jetty jetty-9

我选择jetty stack作为webserver为我的项目运行servlet。 现在我尝试用jersey添加Jax-rs工具,找到" Servlet Pluggability Mechanism"不起作用,并没有在jetty的文件中提及。

在球衣的文件中:https://jersey.java.net/documentation/latest/deployment.html#deployment.servlet.3

  

4.7.2.3。 Servlet可插拔机制

     

Servlet框架可插拔性机制是Servlet 3.0规范引入的一个特性。它简化了构建在Servlet之上的各种框架的配置。不是将一个web.xml文件作为所有配置选项的中心点,而是可以通过使用所谓的Web片段的概念来模块化部署描述符 - 几个特定的​​和专注的web.xml文件。一组Web片段基本上构建了最终的部署描述符。此机制还提供了SPI挂钩,使Web框架能够在Servlet容器中注册自己,或以其他方式自定义Servlet容器部署过程。本节描述了JAX-RS和Jersey如何利用Servlet可插拔性机制。

启用该机制后,您可以省略explict servlet-class标记声明。

<web-app>
    <servlet>
        <servlet-name>org.foo.rest.MyApplication</servlet-name>
    </servlet>
    ...
    <servlet-mapping>
        <servlet-name>org.foo.rest.MyApplication</servlet-name>
        <url-pattern>/resources</url-pattern>
    </servlet-mapping>
    ...
</web-app>

我发现它不适用于jetty 9当前快照版本(jetty 9支持servlet 3.1规范)。码头有这个功能吗?

如果有,我丢失了什么步骤或配置或文件? 如果还没有,如何实现这个目标?

1 个答案:

答案 0 :(得分:0)

Servlet Pluggability Mechanism在jetty中。

这是一个愚蠢的问题,我错过了“jersey-container-servlet”,它将添加到POM.xml中

    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
        <version>2.22.1</version>
    </dependency>