我选择jetty堆栈作为我的项目的webserver运行servlet。现在,我尝试添加Jax-rs与jersey的实现,发现"Servlet可移植机制“不起作用,而且在jetty的文档中也没有提到。
在泽西的文档中:https://jersey.java.net/documentation/latest/deployment.html#deployment.servlet.3
4.7.2.3.Servlet可移植机制 Servlet框架可插拔机制是Servlet3.0规范中引入的一种特性。它简化了构建在Servlets之上的各种框架的配置。与其让一个web.xml文件作为所有配置选项的中心点,还可以使用所谓的web片段的概念来模块化部署描述符--几个特定且有重点的web.xml文件。一组web片段基本上构建了最终的部署描述符。这种机制还提供SPI挂钩,使web框架能够在Servlet容器中注册自己,或者以其他方式定制Servlet容器部署过程。本节描述JAX和泽西如何利用Servlet可插拔机制。
通过启用该机制,您可以省略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支持Servlet3.1规范)中无法工作。码头有特色吗?
如果有,我丢失了什么步骤、配置或文档?如果没有,如何做到这一点?
发布于 2015-11-06 16:12:32
Servlet可移植机制存在于jetty.中
这是一个愚蠢的问题,我忽略了应该添加到POM.xml中的“jersey容器-servlet”。
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.22.1</version>
</dependency>https://stackoverflow.com/questions/33570861
复制相似问题