2013-03-26 65 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>