2011-01-06 111 views
6

我只是想在Java中实现一个服务,将:网络服务的实施

  • 采取一些参数,然后在数据库中搜索

  • 回报所取得的数据的JSON对象

我需要帮助来确定我可以通过哪些方法来实现这件事。

例如假设我将本书的名称作为我想呈现的参数。

在服务部分,我必须获取书籍数据并将其转换为JSON并写入/返回响应。

我正在看Apache Axis2,但我不确定我是否朝着正确的方向前进。

所以,请帮助。

需要准则没有实施。

感谢

回答

7

我会建议使用基于JAX-RS的服务,这对于您的场景来说非常适合您想要的json数据。这些很容易开始。 Jersey是一个广泛使用的框架。另请参阅RESTEasy。

+0

对于REST Web服务+1。你也可以看看Apache Wink或Spring MVC(如果你使用Spring) – Tarlog 2011-01-06 08:30:24

2

如果您在返回JSON数据,那么你可能并不需要实现一个完整的Web服务,它使用XML的请求和响应两者。

正常的动态Web应用程序(写成Java Servlet)将能够读取HTTP有效内容中的请求参数并返回JSON编码的HTTP响应。

但是,您需要考虑您的客户;如果他们只能访问Web服务,那么你需要忘记一个JSON响应,并简单地将响应对象化。但是,如果客户端可以访问web资源而不会出现问题,那么请使用servlet方法。

如果您需要使用网络服务,请查看Metro 2 framework

0

Axis2可以处理/支持web服务相关的部分,IAW,转化Java对象转换为JSON,反之亦然,并提供用于所述通信部一个易于使用的API。

尽管使用JDBC将一些简单的SQL命令发送到数据库可能更容易(特别是在数据库已经存在的情况下),但Hibernate或JPA可能对数据库相关的任务很有用。

2

这样做的一种方法是保持其基于标准。

如果您使用的是JEE5/6的框架,你最好的选择是去与JAX-WS - 自带内置与JSE太(如果我没记错)
你真的只需要批注一个POJO与@WebService为了达成这个。

关于创建JSON响应,一个好的选择是坚持从http://code.google.com/p/google-gson/的实现;简单而直接的