Java WebService

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

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

有没有这样做的扫管笏?

有很多框架可以帮助您实现这一目标。 我个人更喜欢spring。 但您可以搜索“基于Java的RESTful Web服务框架”。 以下是维基百科的此类框架列表: http : //en.wikipedia.org/wiki/List_of_web_service_frameworks

请享用。

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

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

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

代码片段简单REST

@Path(“/ rest”)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提供四种主要服务 – GET PUT POST DELETE

我推荐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教程

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