2017-01-31 10 views
0

私のweb.xmlファイル: Web.xml 私は単純なジャージの安らかなwebserviceのこんにちは世界をしようとしていますが、それは動作しません。誰かが私が間違っていることを確認できますか?私は単純なジャージーの安らかなwebserviceのこんにちは世界をしようとしているが、動作していない。誰かが私が間違っていることを確認できますか?

http://localhost:8080/learning1/rest/firstRest/User1マイrestfulwebservice Javaファイル

<?xml version="1.0" encoding="UTF-8"?> 
<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" id="WebApp_ID" version="3.0"> 

    <servlet> 
    <servlet-name>Learn</servlet-name> 
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
    <!-- Register resources and providers under com.vogella.jersey.first package. --> 
    <init-param> 
     <param-name>jersey.config.server.provider.packages</param-name> 
     <param-value>org.java.learning1</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>Learn</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 

</web-app> 

: Serverは、HTTPステータスコード404で応答しているjavaファイルが:見つからない

package org.java.learning1; 

import javax.websocket.server.PathParam; 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.Context; 
import javax.ws.rs.core.HttpHeaders; 

@Path("/firstRest") 
public class firstRest { 

    @GET 
    @Produces("MediaType.TEXT_HTML") 
    @Path("{name}") 
    public String sendResponse(@Context HttpHeaders httpHeaders, @PathParam("name") String name){ 
     String greeting = "hello"; 
     return greeting; 
    } 
} 
+0

@ProducesアノテーションはStringをとるが、MediaType.TEXT_HTMLまたは "text/html"のいずれかを使用します。あなたが持っているものは理解されません。私はそれがあなたの唯一の問題であることは確かではありませんが、それは問題です。 – stdunbar

答えて

0

私は、下記のURLを使用しています

こんにちはuser7481861とstackoverflowへようこそ!

コードに2つのエラーがあります。私はそれらを修正し、それぞれに間違っていると言ってコメントを追加しました。

package org.java.learning1; 

//import javax.websocket.server.PathParam; <-- incorrect import 
import javax.ws.rs.PathParam; // <<-- correct import 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.Context; 
import javax.ws.rs.core.HttpHeaders; 

@Path("/firstRest") 
public class firstRest { 

    @GET 
    @Produces(MediaType.TEXT_HTML) // No quotes like stdunbar said in the comments 
    @Path("/{name}") // missing slash before name 
    public String sendResponse(@Context HttpHeaders httpHeaders, @PathParam("name") String name){ 
     String greeting = "hello " + name; // concatenate the string with the variable name 
     return greeting; 
    } 
} 
+0

追加情報スラッシュ「/」は、この場合はパラメータの前では必須ではありません。 – FrAn

+0

@pabrantes、それは今うまくいきます。ありがとう。上記のコードでは、html URI、つまり「名前」を介して得た値をどのように印刷できますか。 – user7481861

+0

ええ "/"は必須ではありません – user7481861

関連する問題