我們將創建一個客戶端 - 服務器端應用程序,客戶端最初被要求爲桌面應用程序。我們沒有使用Java創建這些應用程序的經驗,但我們已經開始思考我們將要使用的工具。如何從客戶端桌面應用程序請求服務器端的Spring應用程序?
例如,我們決定使用Spring
作爲接收請求,處理它們的框架,最終從數據庫(MySQL)中獲取數據,然後返回響應。
我不確定這些響應(以及來自客戶端應用程序的請求)的格式是什麼,但它應該儘可能與客戶端獨立,以便客戶如果更改意見,並決定他/她想要一個網絡或移動應用程序,我們不需要更改處理所有請求的服務器端代碼。
通過查看一個項目的源代碼,我們中的一個人已經有了一些這方面的經驗,顯然他使用了HttpServletRequest
和HttpServletResponse
對象作爲控制器所有方法的參數。我認爲這是一個服務器端的Spring應用程序。在這種情況下,具體來說,它將是一個控制器類,它處理對某個URL的請求。
該代碼更容易理解,因爲它與我以前使用JavaScript,Node,Express和Mongo的方式類似。它都基於MVC模式。在該環境中,請求通過在瀏覽器上編寫URL或使用XMLHttpRequest
(AJAX)進行。
現在,我的疑惑和問題是:
如果我們真的需要創建一個桌面應用程序,例如與Swing,我們怎麼辦請求到春節控制器?
將服務器端代碼與客戶端代碼分離的最佳方式是什麼? JSON在這裏有用嗎?如果是的話,它會被粗略地使用嗎?
我們是否應該在客戶端也使用一個框架,這個框架在需要的時候向Spring控制器發出請求的具體工作,或者它足以以某種方式硬編碼請求?這個框架最終如何處理Swing?
JDBC在哪裏適合?我想在服務器端代碼中。但是,我們應該什麼時候使用它?
對不起,這些是很多問題,但我們之前沒有介紹到這些環境中,所以我們不知何故丟失了。
您可以使用https://hc.apache.org/httpcomponents-client-ga/在客戶端網站上進行請求。只需將您的請求序列化爲JSON,發送它即可提供服務,並對JSON進行非序列化,這將來自服務器。 –