【问题标题】:Java WebServiceJava 网络服务
【发布时间】:2012-02-28 14:30:40
【问题描述】:

.net 世界中的 Java 等价于脚本服务(如 Web 服务,但使用 JSON 而不是 XML)?

我正在寻找一种使用 java 创建和调用 Web 服务的方法。我更喜欢找到一种方法,让我可以定义一个充当 Web 服务的方法。对于特定请求,我不喜欢“专用 jsp 或 servlet”的解决方案。

有什么办法吗?

【问题讨论】:

    标签: java asp.net .net web-services


    【解决方案1】:

    有很多框架可以帮助您做到这一点。我个人更喜欢春天。 但是您可以只搜索“基于 Java 的 RESTful Web 服务框架”。以下是来自 Wikipedia 的此类框架列表:http://en.wikipedia.org/wiki/List_of_web_service_frameworks

    享受吧。

    【讨论】:

      【解决方案2】:

      您可以使用 JerseyRESTeasy 之类的库来实现 Web 服务。对于消费者,您可以使用相同库的内置类,或者如果您愿意,可以使用Apache HttpClient

      我个人更喜欢使用 Jersey + HttpClient 组合:)

      【讨论】:

        【解决方案3】:

        我更喜欢 RESTful 服务,它适合您的“我更喜欢找到一种方法,允许我定义一个充当 Web 服务的方法。”只需使用 REST 注释即可设置方法即服务。

        代码片段简单 REST

        @Path("/rest") 公共类 MyFirstService {

        //Method without Path parameters
        @GET
        @Path("/name")
        @Produces("application/json")
        public String getMyName()
        {
            return "My Name:";
        }
        
        //Method with Path parameters
        @GET
        @Path("/name/{id}")
        @Produces("application/json")
        public String getMyName(@Pathparam("id")String Id)
        {
            if(Id.equals("1")
                 return "My Name:";
            else
                 return "None";
        }
        

        }

        RESTful 服务提供四大服务: 得到 放 邮政 删除

        【讨论】:

          【解决方案4】:

          我会推荐 JEE6,特别是如果您将重点放在基于 REST 的服务上。 Glassfish 3 和 JBoss 7 现在与它们的实现并驾齐驱,两者都是不错的选择(尽管 JBoss 是我个人的偏好)。使用 JAX-RS 和 JAS-WS 规范,您只需对类进行注释,它们就可以成为 Web 服务:

          使您的 bean 成为基于 SOAP 的 Web 服务:

          @WebService
          public class AccountImpl {
          
              // You can explicitly mark the methods you want to make available in your WSDL
              @WebMethod
              public BigDecimal getBalance() {}
          }
          

          使您的 bean 成为基于 REST 的 Web 服务:

          @Path("/rs/account")
          public class AccountImpl {
          
              @GET
              @Path("/balance")
              @Produces("application/json")
              public BigDecimal getBalance() {}
          }
          

          代码 sn-p 只是一个示例。您可以在线找到更多学习 JAX-RS 和 JAX-WS 的资源。这里有几个链接:

          注意:我包含有关 JAX-WS 的信息仅供参考。您表示要构建 JSON 服务,这意味着 REST

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-12-26
            相关资源
            最近更新 更多