3

私は初めての 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";
    }
}

また、Jersey を web.XML ファイルに登録しました。

  <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>

注:そこにはすでにいくつか作成されていましたが、まだ触れていません。彼らはまだそこにいます。

したがって、この構成でRun On Serverを実行し、に行きました

http://localhost:8080/JerseyREST/rest/hello

しかし、厄介な HTTP ステータス 404 - /JerseyREST/jerseyrest/rest/hello エラーが発生します。そして、どの部分が間違っているのかわかりません。私が見ている提案や場所はありますか?

とても有難い。

4

2 に答える 2

1

このリンクをたどって、最初のJersey Web Serviceを実装しました:REST in Java Tomcat v7.0で実行しましたが、うまくいきました。Tomcatで試しましたか?そうでない場合は、試してみることをお勧めします。404エラーが永続的に発生することが時々ありました。エラーを修正するために、Tomcat を削除して新しいサーバー ウィザードを作成すると、問題なく動作します。

@Tomが言ったように、に関連している可能性があり"application/plain"ます。MediaType.TEXT_PLAIN代わりに使用してください。

/ WEB-INF / lib/ の下に次の asm-3.1jarjackson-core-asl-1.9.2ファイルjackson-jaxrs-1.9.2を追加jackson-mapper-asl-1.9.2する必要jackson-xc-1.9.2があります。jersey-client-1.11jersey-core-1.11jersey-json-1.11jersey-server-1.11jersey-servlet-1.11jettison-1.1jsr311-api-1.1.1

于 2012-07-26T15:58:15.190 に答える