0

我正在使用带有 tomacat 6 和 eclipse Juno 的 Jersey。

我的文件名是 HelloWorldService :

package com.mkyong.rest;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;

@Path("/hello")
public class HelloWorldService {

@GET
@Path("/{param}")
public Response getMsg(@PathParam("param") String msg) {

    String output = "Jersey say : " + msg;

    return Response.status(200).entity(output).build();

  }

}

Web.xml:

<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>Restful Web Application</display-name>

<servlet>
    <servlet-name>jersey-serlvet</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>com.mkyong.rest</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>jersey-serlvet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

当我使用 Apache 作为服务器运行我的项目时,它会转到这个 url:

http://localhost:8080/Test/WEB-INF/classes/com/mkyong/rest/HelloWorldService.java

我收到 404 错误。

我也尝试使用 version="3.0" 但它没有用。请帮帮我。

4

2 回答 2

3

你应该给你的网址如下;

http://localhost:8080/<your-war-name>/rest/hello/<your-param>
于 2013-02-01T10:47:04.120 回答
0

您的示例的地址是:

http://localhost:8080/Test/rest/hello/stranger

这将输出:

Jersey say : stranger

PS 我猜你的 WAR 名称是 Test.war,因为你的部署路径是 localhost:8080/Test

于 2013-02-03T10:13:37.880 回答