2012-01-13 4 views
2

背景:私はPHPに慣れており、PHPスクリプトをデータベース(DBのURL、パスワード、名前など)に使うために、すべての変数を設定する 'connect.ini'のようなものを常に使用していました。現在、私はJava ieeについて同じクラスを取っています。先生は、実行可能なjarファイルとconnect.batファイルを使用して、main関数内の 'String [] args'を使用してそれらをリンクしたいと考えています。つまり、コードを記述し、メソッドがデータベースに接続する変数を受け取るようにします。これらの変数は、コマンド引数から渡されたメインメソッドで設定され、メインコールは変数が必要なメソッドとプログラムはDBに接続します。あなたの設定に加えてコマンドと引数(環境変数の形で)を加えたため、batファイルが必要になります。それがはっきりと願っている。MySQL DBへの接続:.iniファイルまたは.batファイルの方が優れていますか?

しかし、私はこれが良い解決策であるかどうか、それが受け入れられる解決策であるかどうか疑問に思っています。私の質問:

  • このシステムはLinuxで動作しますか?私はそう信じていない。おそらくシェルスクリプトなので、コードの移植性が失われていますか?
  • 単純なiniファイルをリソースに入れるのはなぜでしょうか?
  • このメソッドを使用してデータベースに接続するための変数を割り当てるよう教えてくれる先生をどのように評価しますか?
  • 外部の有用なパラメータを使用してデータベースに接続するときに彼が私を間違った方法で入れていると思うと間違っていますか?

答えて

2

メインメソッドにパラメータを指定するには、いくつかの方法があります。例えば。アプリの経由で起動しました。 Java Web Startの場合は、これらの引数をJNLP起動ファイルに定義します。 JWSアプリになる必要ならば

  • アプリ:

    • GUI
    • はジャー
    • 内のすべてのリソースを持っていますが、別のJNLPファイル(およびJNLPにリンクするHTML)を有することを意味は、デジタル署名されています

    ..これはおそらくあなたのクラスメートのスキルをはるかに超えているでしょう。

    Windows固有のものであるため、.batファイルが最適ではないと思われます。 OTOH、それはアプリを起動する1つの有効な方法です。 Windowsを使っているときに、教師がこのエクササイズの後でもっとx-platメソッドを紹介しようと考えているのかもしれません。

    教師がJavaアプリケーションを起動するための.batファイルを使用してより多くのエクササイズを導入する場合は、Javaコードを起動するための他の「クロスプラットフォーム」の方法についてお尋ねください。


    .iniファイルをすばやく保存します。 JavaはPropertiesファイルの組み込みサポートを提供します。と同様のフォーマットですが、PropertiesクラスがINIファイルを解析できるかどうかはわかりません。

  • 1
    1. いいえ、Linux/Unixシェル用に別の.shファイルを作成する必要があります。
    2. Javaでアプリケーション実行時の動作を設定するには、.INIファイルを使用するのが望ましい方法ではないためです。
    3. 教師は、今のところ.propertiesファイルについて話していることを避けることができます。そのため、コマンドラインパラメータです。
    4. いいえ、そうではありません。コマンドラインパラメータよりも良い方法があります。

    .propertiesファイルを使用してください。Andrew Thompsonが言及しています。

    関連する問題