泽西与tomcat给出404错误

时间:2013-02-01 10:33:05

标签: java eclipse tomcat jersey

我正在使用泽西与tomacat 6和eclipse Juno。

我的文件名是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错误。

我也试过版本=“3.0”,但它没有用。 请帮帮我。

2 个答案:

答案 0 :(得分:3)

你应该给你的网址如下;

http://localhost:8080/<your-war-name>/rest/hello/<your-param>

答案 1 :(得分:0)

您的示例的地址是:

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

这将输出:

Jersey say : stranger

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