2013-10-28 278 views
0

我發展與MySQL數據庫Java桌面應用程序,我在網上搜索了好幾天,我需要做到以下幾點:發送請求到服務器端

  • 客戶)客戶端桌面應用程序將有GUI。
  • 服務器)帶Servlet的Tomcat服務器。
  • 數據庫)MySQL數據庫服務器。

客戶端發送請求在servlet中查詢,然後servlet響應客戶端,結果將填充到數據庫中。

  • 客戶端不存在SQL查詢,更新,插入,刪除等等,都將存在於servlet中。

  • 這是使3層應用程序的最佳方式?

  • 我可以使用另一種想法或技術來實現嗎?
  • 我不想去網絡應用程序。

我需要客戶端發送請求到服務器中,將連接到數據庫&得到結果,然後送他們回客戶端,而不讓客戶端直接連接到數據庫。

注意:客戶端將由同一局域網中的多個用戶使用。

+0

是不是有一個原因,你不想去一個Web應用程序?桌面應用程序更難以更新。在一天結束時,您的桌面應用程序將仍然通過HTTP或其他協議與服務器進行通信。 – Ashalynd

+0

使用Tomcat服務器,您的客戶端 - 服務器協議將爲HTTP。您可能會發現RMI(JRMP)協議更高效且更易於使用桌面(Swing/JavaFX)客戶端進行編程。 JBoss/WildFly或GlassFish可能比Tomcat更適合您的特殊情況。 – richj

回答

1

託管在服務器上的Web應用程序通常使用HTTP作爲通信協議。所以,如果你想用Java構建你的GUI,那麼你將發送用戶操作的http請求,並接收http響應,並將其轉換爲GUI上的更新。你應該使用一個庫,例如Apache HttpComponents來發送/接收http響應。爲了創建/部署servlet Web應用程序,您可以找到很多教程。然而現在人們使用MVC框架,比如Spring MVC,Struts,JSF等作爲一個Web應用程序框架,它可以幫助開發Web應用程序。

由於您的要求是您的客戶端不應該有任何與SQL數據訪問相關的代碼,所有的數據訪問都需要在服務器端完成,並且您的服務器端應該發送一個可接受的數據格式(xml/json )到你需要解析的http響應中的GUI(有許多庫來解析xml/json)並從中提取信息。 所以你的GUI不會做任何結果集處理。這將由服務器完成(在Web應用程序內部),Web應用程序會將xml/json響應發送到您的GUI請求。

您正在嘗試在典型瘦客戶機體系結構中開發的體系結構。您可以將您的Java GUI想象成Web瀏覽器的替代品。

+0

這真的很好,但我有一個問題,查詢我的數據庫的servlet會如何保留我的ResultSet?如何閱讀這個結果集並填充我的JTable。? –

+0

請看我更新的答案。 – Shailendra

+0

正是我在找什麼,我在哪裏可以找到一些例子向他們學習?我已經有一個應用程序準備好了,想用JSON來改變它,所以我可以做一些測試。我會公佈結果,以便其他人可以從中受益。 –