客户机-服务器应用程序-Java中的最佳方法

客户机-服务器应用程序-Java中的最佳方法,java,client,Java,Client,需要创建一个客户机-服务器应用程序,两者都必须与数据库通信。RMI、Socket编程等哪种方法适用于此…当我在大学学习关于客户机-服务器应用程序的第一个模块时,他们教了我关于RMI和Socket编程的知识。在我看来,如果您想了解客户机-服务器通信的基本知识,RMI和Socket编程应该很有用。然而,如果您需要一个将带到生产系统中的解决方案,您应该看看JSP/JSF。如果服务器与数据库通信,我认为客户端不应该(根据层/层的思想:)。 或者,如果您的客户机直接使用数据库,则可以避免使用服务器。 对于

需要创建一个客户机-服务器应用程序,两者都必须与数据库通信。RMI、Socket编程等哪种方法适用于此…

当我在大学学习关于客户机-服务器应用程序的第一个模块时,他们教了我关于RMI和Socket编程的知识。在我看来,如果您想了解客户机-服务器通信的基本知识,RMI和Socket编程应该很有用。然而,如果您需要一个将带到生产系统中的解决方案,您应该看看JSP/JSF。

如果服务器与数据库通信,我认为客户端不应该(根据层/层的思想:)。 或者,如果您的客户机直接使用数据库,则可以避免使用服务器。 对于客户机-服务器通信,您可以使用很多选项:RMI、套接字、Web服务等。
如果您有java web应用程序的经验,我建议您使用webservices,如果没有-RMI。

在我的情况下,服务器将向客户端发送请求,客户端将执行任务,并在完成任务后将状态返回给服务器。更多的数据库操作将在服务器端完成。在您的概念中,客户机可以将响应文本发送到服务器吗?在客户机-服务器概念中,通常情况下,客户机将向服务器发送请求。然后服务器将执行一些任务并将结果发送回客户端。为什么服务器需要向客户端发送请求?服务器正在请求每个客户端执行一项作业。一旦客户端完成了,它应该告诉服务器它可以执行下一个任务。只有服务器知道所有信息。为什么任务在客户端执行,而不是在服务器上执行?@Palani:为了更紧密地遵循客户端-服务器的概念,客户端应该是第一个启动通信的客户端,告诉服务器他们已经准备好执行任务。然后服务器返回,比如说一个字符串,说明客户端需要做什么工作。完成任务后,客户端将调用服务器的一些函数,将结果提供给服务器。我已经使用struts1.2完成了一些web应用程序。但我对web服务不熟悉。您能告诉我,使用web服务1可以实现以下概念吗。服务器将向每个客户机发送一个执行作业的请求。服务器请求正在手动进行(比如单击submit按钮)。但是一旦工作自动完成,客户端应该发送响应。我可以使用web服务概念来实现这一点吗?您的架构有点奇怪,但是您能解释一下,您使用的是什么客户端吗?它是一个desctop应用程序,是否可以在应用程序服务器等中运行它们?在我的例子中,它是一个java应用程序,如果客户机接收到来自服务器的请求,它只执行一个.bat文件,该文件将调用该java应用程序。在这种情况下,您可以使用RMI。