在.net世界中,Java等效于Java服务(如Web服务但使用JSON而不是XML)是什么?
我正在寻找一种使用java创建和调用Web服务的方法。我更喜欢找到一种方法,允许我定义一个充当Web服务的方法。我不喜欢特定请求的“专用jsp或servlet”的解决方案。
有没有这样做?
答案 0 :(得分:2)
有很多框架可以帮助您实现这一目标。我个人更喜欢春天。 但您可以搜索“基于Java的RESTful Web服务框架”。以下是维基百科的此类框架列表:http://en.wikipedia.org/wiki/List_of_web_service_frameworks
享受。
答案 1 :(得分:2)
您可以使用Jersey或RESTeasy等库来实现Web服务。对于消费者,您可以使用相同库的内置类,或者,如果您愿意,可以使用Apache HttpClient
我个人更喜欢使用Jersey + HttpClient组合:)
答案 2 :(得分:1)
我更喜欢适合您需要的RESTful服务“我更愿意找到一种方法,允许我定义一个充当Web服务的方法。”只需使用REST注释您可以设置作为服务的方法。
Code Snippet simple REST
@Path( “/休息”) public Class 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 Services提供四项主要服务 - 得到 放 POST DELETE
答案 3 :(得分:0)
我会推荐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() {}
}
代码段只是一个例子。您可以在线找到更多资源来学习JAX-RS和JAX-WS。以下是一些链接:
注意:我提供了有关JAX-WS的信息仅供参考。您表示您想要构建JSON服务,这意味着REST