2017-06-25 20 views
0

私はちょうどhello worldプログラムでRest APIのコンセプトです。私はいくつかのチュートリアルのビデオに従っていて、同じプログラムを試していますが、期待した結果が得られません。Rest WSのHTTPステータス404エラー

は、ここに私のBook.java

package com.book; 

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

@Path("/book")  //URI 
public class Book { 

    @GET 
    @Produces(MediaType.TEXT_XML) 
    public String sayHelloXML() { 
     String response = "<?xml version='1.0'?>" + "<hello>Hello World</hello>"; 
     return response; 
    } 

} 

<?xml version="1.0" encoding="UTF-8"?> 
<element> 
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> 
     <display-name>WSdemo</display-name> 
     <welcome-file-list> 
     <welcome-file>index.html</welcome-file> 
     <welcome-file>index.htm</welcome-file> 
     <welcome-file>index.jsp</welcome-file> 
     <welcome-file>default.html</welcome-file> 
     <welcome-file>default.htm</welcome-file> 
     <welcome-file>default.jsp</welcome-file> 
     </welcome-file-list> 

     <servlet> 
     <servlet-name>JAVA WS</servlet-name> 
     <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 

     <init-param> 
      <param-name>jersey.config.server.provider.packages</param-name> 
      <param-value>book</param-value> 
     </init-param> 

     <load-on-startup>1</load-on-startup> 
     </servlet> 

     <servlet-mapping> 
      <servlet-name>JAVA WS</servlet-name> 
      <url-pattern>/*</url-pattern> 
     </servlet-mapping> 

    </web-app> 
</element> 

web.xmlそして、私が使用しているTomcat v8.0サーバーです。 しかし、私はアプリケーションを実行すると、私は外に出ていますRestErrPic

誰かが私にRESTfull Webサービスの概念を学ぶための重要なアイデアを教えてくれますか?

+0

' com.book 'にする必要があります。https://stackoverflow.com/questions/22994690/which-init-param-to-use-jersey-config-server-provider-packages- or-javax-ws-rs-a – PeterMmm

答えて

0

のweb.xml

私は私のweb.xmlを編集した

に正しい設定があるはず:

<?xml version="1.0" encoding="UTF-8"?> 
<!-- <element> --> 
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> 
     <display-name>WSdemo</display-name> 
     <welcome-file-list> 
     <welcome-file>index.html</welcome-file> 
     <welcome-file>index.htm</welcome-file> 
     <welcome-file>index.jsp</welcome-file> 
     <welcome-file>default.html</welcome-file> 
     <welcome-file>default.htm</welcome-file> 
     <welcome-file>default.jsp</welcome-file> 
     </welcome-file-list> 

     <servlet> 
     <servlet-name>JAVA WS</servlet-name> 
     <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 

     <init-param> 
      <param-name>jersey.config.server.provider.packages</param-name> 
      <param-value>com.book</param-value> 
     </init-param> 

     <load-on-startup>1</load-on-startup> 
     </servlet> 

     <servlet-mapping> 
      <servlet-name>JAVA WS</servlet-name> 
      <url-pattern>/*</url-pattern> 
     </servlet-mapping> 

    </web-app> 
<!-- </element> --> 

と私はあなたに感謝output

として正しい出力を得ました。

関連する問題