2011-01-06 192 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/的實現;簡單而直接的