1

Tomcat 7.0 で Jersey と Servlet 3.0 を実装した非常に単純な REST サーバーをテストしています。簡単な PoJo をプログラムしました。

package toplevel;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("/pojo")
public class PoJo {

    @GET
    @Produces("text/plain") 
    public String hello() {

        return "Hello, World"; 
    }
}

WEB-INF/web.xml ファイル (サーブレット 3.0 で実行) に以下を追加しました。

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

<display-name>RestTest</display-name>    

  <servlet> 
    <servlet-name>toplevel.PoJo</servlet-name>
  </servlet>

  <servlet-mapping>
    <servlet-name>toplevel.PoJo</servlet-name>
    <url-pattern>/pojo</url-pattern>
  </servlet-mapping>

</web-app>  

デプロイすると、HTTP ステータス 500 応答が返されます。これは、Web サーバーが /pojo から何かを提供する必要があることを認識しているように見えますが、対応するクラス PoJo が見つかりません。ジャージ固有の jar (バージョン 1.17) は、WEB-INF/lib ディレクトリにあります。

activation-1.1.1.jar   jersey-client-1.17.jar  junit-4.9.jar
asm-3.3.1.jar          jersey-core-1.17.jar    persistence-api-1.0.2.jar
jaxb-api-2.2.4.jar     jersey-server-1.17.jar  stax-api-1.0-2.jar
jaxb-impl-2.2.4-1.jar  jsr311-api-1.1.1.jar

誰もこれを認識していますか?

4

2 に答える 2