私は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) {
}
その他の設定はありますか?リソースクラスだけでは不十分です。 web.xml設定またはJava設定が必要です。構成がない場合は、[this](https://jersey.java.net/documentation/latest/deployment.html#deployment.servlet)をご覧ください –
このガイドに従っています:https:// docs.oracle.com/cd/E19776-01/820-4867/ghmsj/明らかに、netbeansはすべてのweb.xmlを設定していますか?私は間違っているかもしれないが、それはガイドのそのファイルを上回らなかった – user3712476
それは非常に良いチュートリアルではない。必要なコンフィグレーションについては何も言及していません。アプリケーションを作成する手順の1つでは、web.xml(必要なJersey設定あり)またはJAX-RS Applicationサブクラスのいずれも作成されない場合は、これを自分で追加する必要があります。たぶん、より良いチュートリアルを探してください。 –