Java 泽西总是返回404
我已经建立了一个用于实践、学习和测试的项目,代码中没有错误,但无论我如何努力,我都无法在testGet.java中找到URI路径,即GET方法,这是一个测试页面,我总是遇到404错误,我搜索了Google几个小时,但我没有找到答案。我的代码在这里 这是我的web.xmlJava 泽西总是返回404,java,jersey,web.xml,Java,Jersey,Web.xml,我已经建立了一个用于实践、学习和测试的项目,代码中没有错误,但无论我如何努力,我都无法在testGet.java中找到URI路径,即GET方法,这是一个测试页面,我总是遇到404错误,我搜索了Google几个小时,但我没有找到答案。我的代码在这里 这是我的web.xml Restful Web应用程序 Restful Web应用程序 com.sun.jersey.spi.container.servlet.ServletContainer com.sun.jersey.config.prop
Restful Web应用程序
Restful Web应用程序
com.sun.jersey.spi.container.servlet.ServletContainer
com.sun.jersey.config.property.packages
服务
1.
Restful Web应用程序
/webapi/*
这是我的testGET.java
套餐服务;
导入javax.ws.rs.GET;
导入javax.ws.rs.Path;
导入javax.ws.rs.products;
导入javax.ws.rs.core.MediaType;
@路径(“/test”)
公共类testGet{
@得到
//@路径(“/test”)
@产生({MediaType.APPLICATION_JSON+“charset=utf-8”})
公共字符串Hello()
{
返回“测试”;
}
}
问题:
有人做过相关工作吗?
我做错了什么?
我认为这可能是一个bug,当使用多个@Path时,一个在类中,另一个在方法中。
任何提示都非常感谢
关于您是否使用
Maven
作为依赖项?如果没有,我会建议你使用它,它会让你的生活更轻松
我们可以指出的一点是,您使用的是jersey 2.19
。但是,在web.xml
中,您正在使用
Restful Web应用程序
com.sun.jersey.spi.container.servlet.ServletContainer
com.sun.jersey.config.property.packages
服务
1.
这是fromjersey 1.x
。在jersey 2.x中,它已更改为:
Restful Web应用程序
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
服务
1.
然后尝试将.jar
添加到WebContent/WEB-INF/lib
(如建议的那样)
但是,您的testGet.java
应该是正确的(请注意,我将其重命名为testGet.java
)。
启动服务时,您应该能够通过以下方式访问:
http://host:port/rest/test
希望它能帮助你 正确的URL应该是:
http://{server}:{port}/{context-root}/{servlet-mapping}/{path}
在您的示例中:
={server}
localhost
={port}
8080
={context root}
?(通常是war文件的名称)服务
={servlet映射}
webapi
={path}
测试
http://localhost:8080/service/webapi/test
如果URL不可用,则部署可能失败。检查您的服务器日志(了解war文件的部署时间)。您使用的哪个URL返回404状态?感谢您的回复。您的web.xml配置不正确。您使用的是Jersey 1.x配置,但您使用的是Jersey 2.x JAR。查看我尝试过的正确配置,它们都不起作用检查服务器日志(在服务器启动时)是否有错误。可能是,应用程序的部署失败。