我遵循几个教程来设置一个非常简单的Jersey Webservice,这些对我来说都不是很清楚。无法获得简单的RS webservice与Eclipse一起工作Mars
有时候本教程正在讨论关于更改web.xml的问题,其他人说只需要在您的服务类中有某些注释。
所以我结束了以下结论:
使用新泽西2.x的你就不必做具体的事情在你的web.xml,才有球衣容器,把servlet.jar你的classpath和创建服务类,如下所示:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@ApplicationPath("rest")
public class RestService extends Application {
@GET
@Path("/sayhello")
@Produces(MediaType.TEXT_PLAIN)
public Response sayHello() {
return Response.ok("Hello World").build();
}
}
这应该允许我使用访问API http://localhost:8080/EETest/rest/sayhello
我仔细检查了该项目已经部署,没有错误, Tomcat7服务器正在运行。所有的运动衫罐和依赖项都在我的lib文件夹中,并且已经添加到项目库中。修改后的index.html在拨打http://localhost:8080/EETest
时显示正常但Web服务没有响应(而是显示404页面)。
我知道它一定是非常基本的东西我在这里做错了...我用尽了选择。
编辑:这是我的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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>EETest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
它的工作大有与
register
方法注册个人类,你可以触发包扫描(这是不一样的类路径扫描)。我对这些改变感到非常惊讶,因为我使用Jersey创建了一个Rest Webservice,但它是1.x我猜是因为我必须在web.xml中设置配置,并且没有“Application”或“ApplicationPath “涉及 – devnull69