我选择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规范)。码头有这个功能吗?
如果有,我丢失了什么步骤或配置或文件? 如果还没有,如何实现这个目标?
答案 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>