2013-03-26 67 views
1

我无法访问我的样本宁静服务。请让我知道问题在哪里。使用Maven + Eclipse + Tomcat开发球衣restfull web服务。 404问题

以下是代码片段:

的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>com.sample</groupId> 
<artifactId>RestFulService</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>war</packaging> 

<name>RestFulService</name> 
<url>http://maven.apache.org</url> 

<dependencies> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.4</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet.jsp</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-servlet</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-bundle</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.0.2</version> 
     </plugin> 
    </plugins> 
</build> 

的web.xml

<servlet> 
    <servlet-name>RestfulContainer</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.sample</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>RestfulContainer</servlet-name> 
    <url-pattern>/resources/*</url-pattern> 
</servlet-mapping> 

如果我尝试访问我的样本服务与URL下面,我结束了404错误。

RestFulService - >是生成的war文件,我可以在tomcate manager页面看到该应用程序。

HTTP:// <>:8080/RestFulService /资源/ sayHello的

谢谢, 吉里什ķ

+0

什么是你的Java服务指定的路径值? – Adi 2013-03-26 23:53:09

+0

sayHello路径上的资源是什么?它是一个Java类。 – greenkode 2013-03-27 07:11:58

+0

请参阅下面的代码片断 @Path( “/ HelloService的”) 公共类HelloService的{ \t @GET \t @Path( “/你好”) \t公共字符串的sayHello() \t { \t \t String result =“来自JAX-RS的Hello”; \t \t返回结果; \t} } – Kodaganti 2013-03-27 16:57:39

回答

2

提供范围是仅在汇编和测试类路径,并且不传递的。

尝试使用这些依赖

<dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.17</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-servlet</artifactId> 
     <version>1.17</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.ws.rs</groupId> 
     <artifactId>jsr311-api</artifactId> 
     <version>1.1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-client</artifactId> 
     <version>1.17</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-json</artifactId> 
     <version>1.17</version> 
    </dependency> 
    <dependency> 
     <groupId>org.codehaus.jettison</groupId> 
     <artifactId>jettison</artifactId> 
     <version>1.3.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.codehaus.jackson</groupId> 
     <artifactId>jackson-jaxrs</artifactId> 
     <version>1.9.12</version> 
    </dependency>