【发布时间】:2017-04-21 08:02:22
【问题描述】:
我遵循了一些教程来设置一个非常简单的 Jersey Webservice,这对我来说不是很清楚。
有时本教程谈论更改 web.xml,其他人则说只需要在您的服务类中具有某些注释。
所以我最终得出以下结论:
使用 Jersey 2.x,您无需在 web.xml 中执行任何特定操作,只需在类路径中添加 jersey-container-servlet.jar 并按如下方式创建服务类:
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();
}
}
这应该允许我使用 http://localhost:8080/EETest/rest/sayhello 访问 API
我仔细检查了项目已经部署,没有错误,并且 Tomcat7 服务器正在运行。所有的 jersey jar 和依赖项都在我的 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>
【问题讨论】:
标签: java eclipse jax-rs tomcat7 jersey-2.0