无法在Jersey / java中调用webservice方法

时间:2016-05-29 10:34:24

标签: java web-services rest jersey jax-rs

我使用netbeans和jersey制作了一个准系统hello world webservice。 我的问题是当我将我的web服务部署到服务器时(我使用玻璃鱼)它将我带到索引页面,但是我无法调用我在java类中创建的方法。

我的玻璃鱼服务所使用的域名是

http://localhost:8080/HelloWorldApp/

要调用我的方法(从我读过的内容),这就是这样做的方法:

http://localhost:8080/HelloWorldApp/helloworld

然而,这给了我一个404.我已经关注了很多例子,但似乎无法在我的网络浏览器中调用该方法。

但是,当我在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) {
}

2 个答案:

答案 0 :(得分:1)

我查了另一个教程并找到了一些信息。这是一个创建的java类,名为&#34; ApplicationConfig.java&#34;具有此标记:@javax.ws.rs.ApplicationPath("webresources")

所以我不得不使用这个uri http://localhost:8080/HelloWorldApp/webresources/helloworld

调用该方法

答案 1 :(得分:0)

请分享您的web.xml和资源配置实现。如果您有任何自定义资源配置实现,那么您的资源文件必须在资源配置实现中注册。有关详细信息,请参阅http://cloudskol.com/index.php/2015/09/22/simple-get-method-implementation-in-restful-java/