我正在进行项目以升级我现有的 Web 应用程序,该应用程序是在 JAX-RS 1.12 中开发并在 tomcat 7 中运行的。现在我正在将其升级到 JAX-RS2.0。在 tomcat 服务器启动期间,我的资源未加载?
详情如下。 为 JAX-RS 2.0 添加了以下 jar
jersey-client-2.0-m07-1 Jersey -common-2.0-m07-1 Jersey 容器-servlet-2.0-m07-1 Jersey 容器-servlet-core-2.0-m07-1 泽西服务器-2.0-m07-1 javax.ws.rs-api-2.0-m10 osgi-资源定位器-1.0.1 javax.inject-2.1.28 javax.inject-1 hk2-utils-2.1.28 hk2-定位器-2.1.28 hk2-api-2.1.28 guava-13.0 cglib-2.1.28 asm-all-repackaged-2.1.28
在 Web.xml 中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>ConfigLiteJersey2</display-name>
<!-- Jersey Servlet to Support JAXRS Services -->
<servlet>
<servlet-name>ConfigLiteServices</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.core.Application</param-name>
<param-value>com.cisco.config.resource</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ConfigLiteServices</servlet-name>
<url-pattern>/config/*</url-pattern>
</servlet-mapping>
我的资源文件
@Path("/configset")
public class ConfigSetResource {
@POST
@Path("/id{configsetid: (/[^/]+?)?}")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public ConfigSetResponse getConfigSet(@PathParam("configsetid") String sConfigSetId) throws Exception {
//Code
}
}
尝试使用以下 URL 访问我的资源 API ip地址:8080/ConfigLiteJersey2/config/configset/id
获取 HTTP 状态 404 未找到。
看来我没有在 web.xml 中提供正确的 servletclass 映射。请分享您对此的看法
最佳答案
如果您希望 Jersey 扫描您的包中的资源,请将您的参数名称更改为:
<param-name>jersey.config.server.provider.packages</param-name>
关于java - 将 JAX-RS 1.1 升级到 JAX-RS 2.0 需要有关 web.xml 部署的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12604680/