REST新手 - 将Web服务类实例添加到hashSet

时间:2014-02-20 14:51:31

标签: java web-services rest

我一直在浏览this tutorial,他们在hashSet中添加了一个Web服务类实例,如下所示:

public class MessageApplication extends Application {
private Set<Object> singletons = new HashSet<Object>();

public MessageApplication() {
    singletons.add(new MessageRestService());
}

@Override
public Set<Object> getSingletons() {
    return singletons;
}

}

我不明白它的目的是什么......我以为你可以通过URL访问网络服务

2 个答案:

答案 0 :(得分:0)

是的,您可以通过URL访问Web服务,但服务器需要知道如何处理对某个URL的调用。

你的是告诉应用服务器在哪里寻找JAX-RS资源的一种方式(引导版本):http://www.mastertheboss.com/resteasy/resteasy-tutorial(步骤#4)

有一个(更新的)替代方案,具体取决于您使用的服务器和RESTeasy版本,它依赖于自动扫描某些注释。对于JBoss上的RESTeasy,它在我链接的教程页面的底部进行了描述。

答案 1 :(得分:0)

你创建了一个类,这个类能够处理Web请求。但是这个课必须在某个地方举办。这意味着,此类必须由URL路由激活。在这种情况下,您使用的是JBOSS。

在本教程的第一个选项中,MKyong向您展示了如何配置RESTEasy Bootstrap(用于加载引用的引导程序)以将URL映射到您的类。这是在web.xml中完成的,并配置某种扫描仪,它会将某个URL映射到您的班级。

第二个选项不使用RESTEasy Bootstrap,您必须手动将类添加到应用程序中的长生命对象集合中。这样做是为了定义Application(MessageAplication)并在web.xml中定义它。