【问题标题】:Rest Webservice with netbeans 8.2使用 netbeans 8.2 休息 Web 服务
【发布时间】:2019-01-18 15:20:34
【问题描述】:

我使用 Netbeans 8.2 创建了一个非常基本的 Java Web 应用程序

这是我已经完成的步骤:

  • “文件”>“新项目”:“Java Web”>“Web 应用程序”
  • 我通过右键单击项目名称创建了一个 Java 类。然后新建 > Java 类

这是我在这个 java 类中的内容:

package pkg1;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

public class TestService 
{
    @Path("/test")
    @GET
    @Produces("text/plain")
    public String methode_test() 
    {
        return "Hello test";
    }
}

我没有编译问题。 GlassFish 已启动,但如果我尝试转到 /test url,则会收到 404 错误...

有什么想法吗?

谢谢

【问题讨论】:

    标签: netbeans jax-ws


    【解决方案1】:

    我做了一些小改动,让您的代码在 Windows 10 上使用 NetBeans 8.2、JDK 8 和 Glassfish 4.1.1 运行:

    • 在类上添加@Path 注释以及methode_test()
    • pkg1 添加第二个名为 ApplicationConfig 的类,该类扩展 javax.ws.rs.core.Application,如下所示。

    这是修改后的TestService 类:

    package pkg1;
    
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    
    
    @Path("/demo")
    public class TestService
    {
        @Path("/test")
        @GET
        @Produces("text/plain")
        public String methode_test()
        {
            return "Hello test";
        }
    }
    

    这是您需要添加的附加类:

    package pkg1;
    
    import javax.ws.rs.core.Application;
    
    @javax.ws.rs.ApplicationPath("sample")
    public class ApplicationConfig extends Application {
    
    }
    

    我的项目名为 DemoService,因此具有 DemoService 的上下文根,但在您的情况下,要使用的 URL 可能是:http://localhost:8080/TestService/sample/demo/test

    注意事项:

    • 请参阅this answer 到 SO 问题 What is that Application class lifecycle of a rest service?,了解有关为什么需要创建扩展该 Application 类的类的更多详细信息。
    • 为方便起见,您可以在测试项目时设置在浏览器中使用的默认路径:

      • Projects 面板打开项目的 Properties 窗口。
      • 选择Run并根据需要设置Context PathRelative URL的值:

    • NetBeans 8.2 提供了一个基本的“Hello World”REST 应用程序,您可以使用项目向导在几秒钟内创建它:文件 > 新建项目... > 示例> Web 服务 > REST:Hello World

    【讨论】:

    • 谢谢你能告诉我这是否是 JAX-RS。我有疑问,因为导入名为 javax.wx.rs。是一样的吗?
    • @Bob5421 是的,这是 JAX-RS,它是“用于 RESTful Web 服务的 Java API”。如果您查看Javadoc for the JAX-RS specification,您会发现所有类和接口都驻留在以javax.ws.rs 开头的包中,其中(大概)ws 代表“Web 服务” 和 rs 代表 “RESTful”
    猜你喜欢
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 2022-01-08
    • 2011-12-16
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 2016-04-07
    相关资源
    最近更新 更多