2012-01-13 27 views
2

一些背景;我非常习惯于PHP,并且我总是使用类似'connect.ini'的设置来设置所有变量,让PHP脚本访问数据库(即数据库URL,密码,名称等)。现在,我正在学习关于Java iee的相同类,并且老师希望我们使用可运行的jar和connect.bat文件,并使用主函数中的'String [] args'将它们链接起来。也就是说,你编写代码并让方法接收连接到数据库的变量,这些变量在主方法中设置,从命令参数传递它们,主调用需要变量的方法和程序连接到数据库。 bat文件是需要的,因为你把它放在你的设置上加上命令加上参数(以环境变量的形式);希望它很清楚。连接到MySQL数据库:更好的.ini文件或.bat文件?

但我想知道这是否是一个好的解决方案,以及如果这是一个可接受的解决方案。我的问题:

  • 此系统在Linux上工作吗?我不这么认为。也许是一个shell脚本,所以我们失去了代码的可移植性?
  • 为什么不使用简单的ini文件放入资源?
  • 您如何评价请求使用此方法分配变量以连接到数据库的教师?
  • 我错了,如果我认为他用错误的方式连接到使用外部有用参数的数据库?

回答

2

有许多方法可以为主要方法提供参数。例如。为一个应用程序。通过发射。 Java Web Start,您可以在JNLP启动文件中定义这些参数。成为JWS应用程序。意味着该应用程序:

  • 有一个GUI
  • 已经在JAR中的所有资源
  • 有一个单独的JNLP文件(和HTML链接到JNLP)
  • 如果需要进行数字签名在沙箱外做任何事..

..所有这些都可能显着超出你的同学的技能,现在。

你完全相信.bat文件不是最佳的,因为它是Windows特有的。 OTOH,它是启动应用程序的一种有效方式。当使用Windows时,也许老师在这个练习之后想要给你介绍更多的x-plat方法。

我的建议暂时要耐心等待,但如果老师引入更多使用.bat文件的练习来启动Java应用程序,可以询问其他“更多跨平台”启动Java代码的方法。


而只是快速抛开.ini文件。 Java提供对Properties文件的内置支持,其中类似格式为.ini,但我不确定Properties类是否可以解析INI文件。

1
  1. 不,您必须为Linux/Unix shell编写单独的.sh文件。
  2. 因为.INI文件不是在Java中设置应用程序运行时行为的首选方式。
  3. 教师可以避免必须谈论.properties文件现在,因此,命令行参数。
  4. 不,你不是。还有比命令行参数更好的方法。

使用.properties文件,如安德鲁·汤普森已经提到。