【发布时间】:2020-04-13 17:52:59
【问题描述】:
我想使用 Java 构建一个 E 学习应用程序。 GUI 将使用 JavaFX 制作,对于数据库,我将使用 MySQL。到目前为止,应用程序在 localhost 上运行良好。但我希望应用程序是多用户的。我有点困惑,因为我已经阅读了客户端/服务器和 RMI 等不同的选项。在这种情况下,最好的方法是什么?例如,如果数据库在另一台计算机上,并且多个客户端将运行应用程序(应用程序将包含 GUI 部分和通过 JDBC 的数据库操作部分),可以吗?还是我需要将客户端部分(如 GUI)与实际的数据库操作(服务器部分)分开? RMI 呢?在这种情况下使用 RMI 有意义吗? 在数据库中,应用程序将存储用户凭据和用户进度。如果有人可以帮助我澄清这一点,我将不胜感激
【问题讨论】:
-
您好,罗伯特,对于您的问题,如果您能多了解一些关于您的目标的信息,那就太好了。做用户 e. G。下载您的电子学习应用程序并单独工作(然后也许您可以将数据库发送给每个用户),用户如何获得该应用程序的新内容?您是否想跟踪用户的进度,他们可以协作(然后可能集中数据库)。查看瘦/胖客户端架构,并独立了解 REST/RMI/(g)RPC Best 等通信模式
-
是否要求用户能够离线工作,不连接到网络?服务器是否要安装在本地网络上?还是用户会通过互联网连接?
-
这个问题对于 Stack Overflow 来说可能过于宽泛。请参阅 CodeRanch.com 等讨论网站。
-
@BasilBourque 不,用户只能在线工作。用户将通过互联网连接
-
考虑使用Vaadin Flow 以类似于JavaFX 的方式使用布局上的小部件在纯Java 中构建Web 应用程序。您可以使用直接 Java 代码、XML 声明性语言或可视化编辑器来定义表单。您将 .WAR 文件部署到任何标准的 Jakarta Servlet 容器(Web 应用程序服务器)。在运行时,Vaadin 生成必要的 HTML、CSS、JavaScript,以便在任何常见 Web 浏览器的客户端上呈现您的用户界面。所以服务器上的纯Java,客户端上没有Java。服务器端 Java 代码正在安全地连接到数据库。
标签: java mysql client-server