【发布时间】:2016-03-05 11:13:26
【问题描述】:
我们将创建一个客户端-服务器端应用程序,其中客户端最初被请求为桌面应用程序。我们没有使用 Java 创建这些应用程序的经验,但我们已经开始考虑我们将要使用的工具。
例如,我们决定使用Spring 作为框架来接收请求,处理它们,最终从数据库(MySQL)中获取数据,然后返回响应。
我还不确定这些响应(以及来自客户端应用程序的请求)的格式是什么,但它应该尽可能独立于客户端,以便如果客户改变意见并决定他/她想要一个网络或移动应用程序,我们不需要更改处理所有请求的服务器端代码。
通过查看我们其中一位已经在该领域具有一定经验的项目的源代码,显然他使用了HttpServletRequest和HttpServletResponse对象作为控制器所有方法的参数。我认为这是一个服务器端的 Spring 应用程序。在这种情况下,具体来说,它将是一个控制器类,它处理对某个 URL 的请求。
代码更容易理解,因为它类似于我之前使用 Javascript、Node、Express 和 Mongo 的方式。这一切都基于 MVC 模式。在那种环境中,请求是通过在浏览器上写入 URL 或使用 XMLHttpRequest (AJAX) 发出的。
现在,我的疑惑和问题是:
如果我们真的需要创建一个桌面应用程序,例如使用 Swing,我们将如何向 Spring 控制器发出请求?
将服务器端代码与客户端代码分离的最佳方法是什么? JSON在这里有用吗?如果是,大概会使用多少?
我们是否应该在客户端也使用一个框架,该框架负责在必要时向 Spring 控制器发出请求,或者以某种方式对请求进行硬编码就足够了?这个框架最终会如何处理 Swing?
JDBC 适合在哪里?我想在服务器端代码中。但是我们应该在什么时候准确地使用它呢?
抱歉,这些问题很多,但我们之前没有接触过这些环境,所以我们不知何故迷路了。
【问题讨论】:
-
您可以使用hc.apache.org/httpcomponents-client-ga 在客户网站上进行请求。只需将您的请求序列化为 JSON,将其发送到服务,然后取消序列化来自服务器的 JSON。
标签: java spring swing spring-mvc jdbc