gpt4 book ai didi

java - Java 中的简单 REST Jersey 示例不起作用

转载 作者:行者123 更新时间:2023-12-01 18:39:56 25 4
gpt4 key购买 nike

我使用 Jersey 编写了一个非常简单的示例。我从 jersey 网站下载了最新的 jar 文件到 WEB-INF 中的 lib 文件夹中。我的类和 web.xml 如下。

当我提供 URL localhost:8080/SimpleJersey/rest/test 时,我收到 404 错误(未找到)

但是当我使用 Maven 时,它可以工作。我使用 Eclipse Kepler、Glassfish 4 服务器和 Java 7。

我在非 Maven 版本中做错了什么?

谢谢。

类(class):

package com.simplejersey;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("/test")
public class MyResources
{

@GET
@Produces("text/plain")
public String getIt()
{
return "Hello there!";
}
}

Web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">


<display-name>SimpleJersey</display-name>

<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.simplejersey</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>jersey-servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>

</web-app>

最佳答案

我在 Michal Gajdos 的这篇文章中找到了解决方案:Jersey REST Web Service, Tomcat, Eclipse and 404's

问题是(引用上述帖子):

Jersey 2.0 does not recognize init-param with name com.sun.jersey.config.property.packages (web.xml). Try to change it to jersey.config.server.provider.packages as described in ServerProperties.PROVIDER_PACKAGES (link)."

从显示旧解决方案或版本的网站复制 web.xml 时要小心(就像我所做的那样)。 Jersey 也在更新...

关于java - Java 中的简单 REST Jersey 示例不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20364039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com