2016-05-29 13 views
0

私はnetbeansとjerseyを使ってbarebones hello world webserviceを作っています。 私の問題は、Webサービスをサーバーにデプロイするときです(私はガラス魚を使用しています)。インデックスページに移動しますが、Javaクラスで作成したメソッドを呼び出すことはできません。Jersey/javaでwebserviceメソッドを呼び出せません

私のガラスの魚のサービスが使用しているドメインが、これはそれを行う方法である(IVEが読んだから)私のメソッドを呼び出すには

http://localhost:8080/HelloWorldApp/

です:

http://localhost:8080/HelloWorldApp/helloworld

しかし、これは私に404を与えます。Iveは多くの例を追っていますが、私のWebブラウザではこのメソッドを呼び出すことはできません。

しかし、私がnetbeansでテストRESTful Webservicesをクリックすると、このメソッドを呼び出すことができます。私は別のチュートリアルを見て、いくつかの情報を見つけ

package HelloWorldResource; 

import javax.ws.rs.core.Context; 
import javax.ws.rs.core.UriInfo; 
import javax.ws.rs.Consumes; 
import javax.ws.rs.PUT; 
import javax.ws.rs.Path; 
import javax.ws.rs.GET; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 

@Path("/helloworld") 
public class Hellworld { 

@Context 
private UriInfo context; 

/** 
* Creates a new instance of Hellworld 
*/ 
public Hellworld() { 
} 

/** 
* Retrieves representation of an instance of HelloWorldResource.Hellworld 
* @return an instance of java.lang.String 
*/ 
@GET 
@Produces(MediaType.TEXT_HTML) 
public String getHtml() { 
    //TODO return proper representation object 
    return "<HTML>Hello</HTML>"; 
} 

/** 
* PUT method for updating or creating an instance of Hellworld 
* @param content representation for the resource 
*/ 
@PUT 
@Consumes(MediaType.TEXT_HTML) 
public void putHtml(String content) { 
} 
+0

その他の設定はありますか?リソースクラスだけでは不十分です。 web.xml設定またはJava設定が必要です。構成がない場合は、[this](https://jersey.java.net/documentation/latest/deployment.html#deployment.servlet)をご覧ください –

+0

このガイドに従っています:https:// docs.oracle.com/cd/E19776-01/820-4867/ghmsj/明らかに、netbeansはすべてのweb.xmlを設定していますか?私は間違っているかもしれないが、それはガイドのそのファイルを上回らなかった – user3712476

+0

それは非常に良いチュートリアルではない。必要なコンフィグレーションについては何も言及していません。アプリケーションを作成する手順の1つでは、web.xml(必要なJersey設定あり)またはJAX-RS Applicationサブクラスのいずれも作成されない場合は、これを自分で追加する必要があります。たぶん、より良いチュートリアルを探してください。 –

答えて

1

:ここ

は、私はメソッドを定義する方法です。このタグを持っている「ApplicationConfig.java」と呼ばれる作成のJavaクラスTheresは:私はこのURI http://localhost:8080/HelloWorldApp/webresources/helloworld

0

を使用してメソッドを呼び出す必要があった@javax.ws.rs.ApplicationPath("webresources")

を使用すると、設定の実装をweb.xmlファイルとリソースを共有してください。カスタムリソースコンフィグレーションを実装している場合は、リソースファイルをリソースコンフィグレーション実装に登録する必要があります。詳細はhttp://cloudskol.com/index.php/2015/09/22/simple-get-method-implementation-in-restful-java/を参照してください。

関連する問題