Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing JDBC与MySQL客户机服务器LAN设置_Java_Swing_Sockets_Networking_Jdbc - Fatal编程技术网

Java Swing JDBC与MySQL客户机服务器LAN设置

Java Swing JDBC与MySQL客户机服务器LAN设置,java,swing,sockets,networking,jdbc,Java,Swing,Sockets,Networking,Jdbc,所以现在我有一个通过JDBC使用swing和Mysql数据库创建的工作应用程序。因此,我对客户机-服务器设置的看法是,我会将.exe包装的swing项目放在PC1(服务器pc)上。然后,它可能有2台或更多客户端pc的PC2(客户端)和PC3(客户端),其中所有这3台pc都通过LAN连接 What should I do to embed the MySql database that my swing application is using so that if I wrap the java

所以现在我有一个通过JDBC使用swing和Mysql数据库创建的工作应用程序。因此,我对客户机-服务器设置的看法是,我会将.exe包装的swing项目放在PC1(服务器pc)上。然后,它可能有2台或更多客户端pc的PC2(客户端)和PC3(客户端),其中所有这3台pc都通过LAN连接

What should I do to embed the MySql database that my swing application is using so that if I wrap the java swing project to .exe, the database will be embedded together with the exe/installer? What's the best tool to use given the specifications?

If first question is possible and let's assume that the swing app and mysql database are wrapped together and is residing on PC1(server pc), what do i do next so that the copy of swing application on PC2(client) and PC3(client) can talk to PC1 (server)?

Can I accomplish the client-server setup I want without any network or socket programming? (my professors who are non-java programmers said that on other programming languages such as C# that you only need the IP address which im clueless about).
问题:我的知识仅限于JDBC、JavaSwing和Mysql。工具有Netbeans、mysql j连接器、mysql工作台、xampp

我只剩下6-7个月的时间,如果需要学习socket或网络编程,我将从0%的知识中学习。如果事情复杂,恐怕时间不够

我读过关于RMI的一些我不知道的东西。我不知道这是否与我的问题有关

这个问题可能很长,但我想不出一个更简短的方法来解释它,因为我想客户机-服务器设置在Java中是广泛的,因为它适用于其他Web服务

我很感激任何建议或解释,但我更喜欢详细的,因为我的知识有限

提前谢谢

另外,我在某个地方读到,也许我所需要的只是将JavaWeb服务与Swing应用程序一起使用。有什么想法或建议吗?

您可以:

  • 选择一个嵌入式数据库,比如ApacheDerby
  • 编写API以在IDE中以java项目的形式实现数据库交互(检查)
  • 编写RMIAPI(check),以java项目的形式实现基于上一层的服务器逻辑,并依赖于上一个项目
  • 使用RMI客户端API编写swing客户端
然后你可以:

  • 部署客户端/服务器应用程序时,使用2个zip存档,每个存档包含一个.bat脚本和用于代码和库的jar文件,一个用于服务器,一个用于客户端,您只需要在PC上安装jdk
  • 客户端主类将服务器ip地址作为参数

如果有帮助,我可以这样想,因为这是一个swing应用程序,您可以将其作为小程序,并使用像tomcat这样的简单应用服务器来部署它。有很多关于它的教程

现在转到数据库端,您可以将mysql打包为zip文件安装到一台机器(PC1)上,您的小程序可以从任何机器连接到它。您不必在所有机器中安装数据库,因为您只需要机器的IP、数据库名、模式、用户ID和JDBC连接的密码


通过这种方式,我相信您可以将现有应用程序转换为客户机-服务器应用程序。希望这能有所帮助。

在了解与这些外部系统的接口之前,您不知道要研究什么。问问题是为了知道,除非你这样做,否则你不能用代码来解决它。虽然我认为在某些方面这是一个好问题,但我也认为它对于StackOverflow来说有点太宽泛了,但希望有人能为你提供一些关于这个主题的教程或指南。也许@Gimby谢谢你会给你一个积极的回应。实际上,客户机没有太多的计算机。据我估计,目前只有大约5台计算机可以使用我们正在开发的系统。所以他们可能只会使用普通的交换机或路由器。我只需要知道如何用Java实现它。如果有任何建议,我将不胜感激。是否有特定的软件包可供使用?再次感谢。@Martin感谢您的链接。听起来客户机想要一个客户机-服务器应用程序。除非您需要开发一些严肃的应用程序协议,否则不需要直接涉及套接字。各图书馆将负责这方面的工作。尽管如此,你的问题非常广泛,因此我投票决定关闭它。@Isiva谢谢你的回答。虽然我没有尝试过使用applet,但主要是在Swing上,这似乎是一个选项。但是,我可能需要以.exe格式创建安装程序。有没有办法把swing项目转换成小程序(我不知道,只是问问而已)。谢谢你的回答。我以前尝试过Derby,但在他们的网站上很难获得示例,所以现在我可能需要坚持使用mysql,因为它几乎完成了。我是否仍然可以坚持使用MySQL作为RDBMS,并将其与java项目打包在一起。我还有一个问题,你知道我的项目完成后如何创建安装程序吗?谢谢似乎是打包Java应用程序的强大工具,还有一个。