我正在尝试使用JAXRS和Jersey 2.x包来实现基本的hello应用程序,但是遇到了@Path的问题。当我使用Jersey 1.x库@Path以及hello world应用程序正常工作时。
我遵循的步骤:
使用注释@Path
创建了一个java类import javax.ws.rs.GET;
import javax.ws.rs.Path;
@Path("/hello")
public class TestJerseyBundle {
public TestJerseyBundle() {
super();
}
@GET
public String getStatus(){
return "hello Jersey 2.x";
}
}
现在@Path中有一个警告。当我们将光标放在@Path上时,它会显示"在web.xml"
中未配置jersey servlet请查看以下图片
默认情况下,它配置了com.sun.jersey.spi.container.servlet.ServletContainer,它是Jersey 1.x包的一部分。但在我的应用程序中,我使用的是Jersey 2.x.所以我用以下信息修改了web.xml:
图像
中的默认和修改的web.xml
现在,servlet-class元素下的警告符号已经消失。
在web.xml更改之前和之后,我可以在@Path
我尝试使用@Path问题部署我的应用程序:因此应用程序已成功部署
当我点击URL时,如:localhost:port / RestAppJersey-RestAppOD-context-root / hello则抛出404错误。
有人可以建议如何使用Jersey 2.x libs在Jdev 11g第2版中开发RESTful Web服务。(我尝试使用最新版本的lib版本,但仍然面临同样的问题)。
默认情况下,为什么要在web.xml中配置com.sun.jersey.spi.container.servlet.ServletContainer?
由于
答案 0 :(得分:0)
您有url-pattern
/jersey/*
。因此,您需要成为您尝试访问的网址的一部分。
localhost:port/RestAppJersey-RestAppOD-context-root/jersey/hello
就你的IDE问题而言,我不知道。我不使用那个IDE