我正在尝试运行我的第一个 HelloWorld Jersey 项目,阅读了一堆关于它的教程,我认为理论上它应该可以工作,但我当然做错了,页面给了我 404 错误。这是我所拥有的:
我从 Eclise 中的 DynamicWebProject 开始,并使用插件将其转换为 Maven 项目。并将这些添加到 POM 文件中:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.8</version>
</dependency>
</dependencies>
然后我还添加了一个像这样的非常小的类来添加一些 Jersey 注释:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/hello")
public class HelloWorldResource {
@GET
@Produces("application/plain")
public String getMessage() {
// Forward request to service layer.
return "Hello World";
}
}
我还在 web.XML 文件中用这些注册了 Jersey:
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>JerseyREST</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
注意:那里已经创建了一些,我还没有碰过它们。他们还在那里。
因此,使用此配置,我做了一个在服务器上运行并转到
http://localhost:8080/JerseyREST/rest/hello
但得到一个讨厌的 HTTP 状态 404 - /JerseyREST/jerseyrest/rest/hello 错误。而且我无法弄清楚我做错了什么。我有什么建议或地方吗?
非常感激。