java如何保存有属性的数据_关于数据库:在安装期间保存Java应用程序的属性

我创建了一个Java应用程序,它基本上是一个MySQL数据库的接口。它有助于组织和跟踪数据。我们在我的工作场所使用它没有问题——我已经将它作为JAR文件从Eclipse中导出,并为每个人提供了这个JAR文件的副本。

现在,我们想让这个软件可用于其他工作场所。问题是数据库的URL、用户名和密码在应用程序中是硬编码的。我想为它创建一个设置过程,这样当有人下载它时,他们会通过一个向导来下载MySQL并在他们选择的任何地方设置数据库。然后,该人员可以将JAR文件分发给其工作场所中的每个人,而无需进行设置,因为每个人都将访问同一个数据库。

这个过程必须以某种方式保存数据库的URL、用户名和密码,以便工作场所的人员可以从任何计算机上运行JAR。这让我觉得他们应该被保存在罐子里…是我需要的属性文件吗?我可以在jar中放置一个属性文件,并允许在安装过程中对其进行编辑吗?

任何指导都非常感谢,我对这个很陌生!

==============================================================

编辑:我想我现在要做的是让用户自行安装MySQL并建立他们的数据库。正如下面的答案所建议的那样,拥有这个自动系统可能比它的价值更麻烦,因为我必须处理每个人的不同平台、设置数据库的首选项、安全问题等。一旦他们这样做了,他们就会下载我的JAR文件。

我在JAR文件中添加了一个属性文件来存储数据库的URL、用户名和密码。这个文件最初是空的,所以当用户第一次运行JAR时,程序将尝试访问属性文件,查看它是否为空,并提示用户输入这个信息。然后,它将从jar中提取属性文件,在其信息中进行编辑,并将属性文件粘贴回jar中。然后,这个人应该能够将更新后的JAR分发给他们的同事,并且他们都应该能够在不需要提供这些信息的情况下打开它。我已经把这部分做好了。我还将添加"重新配置"程序的功能,以防用户移动数据库,通过调用相同的方法(他们将再次分发程序的新版本)。

接下来,我想尝试通过加密或模糊代码来保护属性文件(尽管我认为这只适用于类文件而不是文本文件…?).I关注的是,工作区中的任何人都可以取消对它的连接并打开属性文件,然后使用URL、用户名和密码访问自己的数据库并造成损坏。理想情况下,除了程序本身,没有人能够取消它。

如果有人对我的方法有其他顾虑,请告诉我!

搜索谷歌等"Java密码存储",并查看StAdppOrth.com /问题/ 7017688 / & Helip;

如何部署应用程序?

如果您使用的是WebStart,那么可以在JNLP文件中定义您的属性,并使用System.GetProperties(…)访问它们;

我的应用程序只是一个可执行的JAR文件。这是一个很小的项目。

看看hsqldb。它是一个重量较轻的数据库,依靠容易设置。如果数据库不存在,可以将其配置给我;如果存在,可以将其配置给我们。但是,如果您需要类似于MySQL的东西,并且希望有许多用户从不同的工作站连接到它,我不建议通过安装过程下载和配置它。会有很多网络和安全问题。作为旁注,属性文件是个好主意。

这是一个可以解释一些需要考虑的安全问题的链接。另外,再考虑一下,用户可能没有设置/配置DB服务器所需的权限。从长远来看,允许他们设置DB服务器,并让他们在应用程序类路径中放置属性文件,对您来说可能更安全/更容易。

作为附带说明,您是否考虑将其作为Web应用程序?这会使事情变得更简单,人们不必下载任何东西,也不会为大多数用户设置任何设置。

我非常致力于MySQL,因为我们已经用这种方式编写了软件,这就是我们在工作场所建立的系统。您的意思是什么样的网络和安全问题?

当您设置一个数据库服务器时,通常会有相当数量的设置来确保它所保护的数据是安全的,特别是当您必须以某种形式打开它所使用的任何计算机以供其他用户访问时。我用一个能解释某些原因的链接更新了我的答案。

您可以将属性文件保存在用户主目录的子目录中,由System.getProperty("user.home)获得。另外,请看一下ApacheCommons配置库。

只有一个人可以访问它所在的主目录吗?我想要一种方法来设置程序的属性,然后对相同的属性应用于该工作场所中的任何人。

首先,在工作场所的中心位置设置一个数据库,以便不同的用户可以访问它,这并不容易。另外,还有一个问题,第一个用户设置它,然后将应用程序重新分发给其他人。

回答技术问题-最简单的方法是取消对已知位置的jar,在该位置编辑属性文件,然后重新jar到一个新文件,可能带有特定于该工作场所的后缀。

谢谢,我会调查的!您认为我在设置数据库时会遇到什么问题?一旦用户指定了一个位置,我想这只是几个命令行调用。第一个用户设置它然后再重新分配它有什么问题?如果我真的这么做了,难道我不能让第一个用户把新的jar放在USB上,或者把它放在一个中心位置,这样人们就可以下载它吗?

是的,一切皆有可能。因为我不知道具体的实现细节,所以我只是觉得可能会很混乱。祝你好运,保持联系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值