我在GlassFish服务器上创建了一个简单的RESTful Web服务,并根据此tutorial在IntelliJ IDE中运行它。根据提供的说明,此方法运行良好。我还有两个问题,
a。本教程使用下面提供的服务类
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/helloworld")
public class HelloWorld {
@GET
@Produces("text/plain")
public String getClichedMessage() {
return "Hello World";
}
}
我可以从提供的URL
中访问它,
http://localhost:8080/AppointmentManager_war_exploded/helloworld
然后,我在同一目录中添加一个新类
@Path("/")
public class App {
@GET
@Produces("text/plain")
public String getMessage() {
return "Hello, Berlin";
}
}
我希望从打开的URL "Hello, Berlin"
的浏览器中看到消息http://localhost:8080/AppointmentManager_war_exploded/
,但是,我得到了所提供的错误
HTTP Status 404 - Not Found
type Status report
messageNot Found
descriptionThe requested resource is not available.
GlassFish Server Open Source Edition 5.0
这是什么问题?
b。如何将URL AppointmentManager_war_exploded
的部分更改为其他内容,例如appointment
等?下面提供了项目设置中的artifact
标签,
我编辑了它,但是,它的更改与预期不符。
在完成本教程后,我将项目更改为maven
构建,但是并未为此创建问题。如果有人感兴趣,您也可以尝试一下,因为它将需要一分钟才能运行。
谢谢。
答案 0 :(得分:1)
第一
我希望从打开的URL http://localhost:8080/AppointmentManager_war_exploded/的浏览器中看到消息“ Hello,Berlin”,但是,我得到了提供的错误
在教程提供的MyApplication
类中,您还应该添加新类:
@ApplicationPath("/")
public class MyApplication extends Application{
@Override
public Set<Class<?>> getClasses() {
HashSet h = new HashSet<Class<?>>();
h.add(HelloWorld.class);
h.add(App.class); // Add your new class here
return h;
}
}
然后,您将可以在http://localhost:8080/AppointmentManager_war_exploded/
上看到预期的页面
第二
如何将URL AppointmentManager_war_exploded的部分更改为其他内容,例如约会等?
URL包含工件AppointmentManager_war_exploded
的名称。该工件自动复制到glassfish应用程序目录中。您可以检查glassfish\domains\domain1\applications\__internal
。
只需在此处的项目结构窗口中更改它即可:
更新
请不要忘记在应用的配置设置中更改开始网址: