java - 将 JAX-RS 1.1 升级到 JAX-RS 2.0 需要有关 web.xml 部署的帮助

标签 java rest jakarta-ee jquery jax-rs

我正在进行项目以升级我现有的 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/

相关文章:

java - 我在哪里可以下载 JSTL jar

java - Spring MVC Rest URL 和 URL 重定向

java - 许多Keycloak快速启动在测试阶段失败

java - 像俄罗斯娃娃一样验证和订购阈值列表

java - 使用 http 请求 GET android 发送阿拉伯语单词

java - 如何设计 Spring MVC REST 服务?

java - 无法找到用于删除 azure vm 端点的 Rest api 引用

java - EJB 3.0。为客户端提供接口(interface)

logging - 如何在 J2EE 应用程序中全局捕获错误、记录错误并向用户显示错误页面

java - 如何在Java中声明一个常量层次数据结构?