2009-05-22 3 views
0

私はJSPでウェブサイト上で作業しています(実際にはGWTではサーバー側ではJSPです)、データベースを設定する必要があります。JSPウェブサイトデータベース前設定

私はデータベース接続などでコードする方法を知っていますが、データベースの設定を保存する方法/場所は不思議です。

疑問を明確にするために、例を挙げましょう。 PHPでは、通常、ウェブサイトはconfig.phpを持っています。ここで、ユーザはデータベース、ユーザなどを設定します(またはinstall.phpが生成します)。

しかし、JSPはバイトコードなので、この情報を自分のサイトにコード化してユーザーに修正させたり、install.phpと同様に変更することはできません。

どうすればよいですか?何が最高の/最も一般的な練習ですか?私はいいえの例を見つけました。主に、の設定ファイルを保存する必要がありますか?

答えて

1

これを行うにはいくつかの可能性が、私が行って見てきたもの、ありますが含まれます:

  • は特殊なファイル、通常db.propertiesまたは必要な情報(ドライバ、URLが含まれているいくつかの簡単なXMLファイル内のデータベースの資格情報を持ちます、ユーザー名、パスワード、必要に応じて任意のORMパラメータ)。プロパティファイルはWEB-INFまたはWEB-INF/classesの下に配置されます。このアプローチの欠点は、ユーザーがアプリケーションサーバーに展開する前に内のファイルを WARに変更する必要があることです。
  • JNDI経由でデータベース接続を取得し、それがアプリケーションサーバーによって提供されると想定します。これはこれを行う最も一般的な方法のようです。逆に、WARを変更する必要はありませんが、JNDIデータソースの設定はすべてのアプリケーションサーバーで異なり、システム管理者がJavaテクノロジに精通していない場合は混乱する可能性があります。
+0

これは私が少しでもn00bなので、WEB-INFは完全に外部の人にはアクセスできないのですか? - install.jspによって生成されたdb.propertiesファイルを配置することは、この場合にはあまりにも遠すぎるとは思われません:) – WhyNotHugo

+0

はい、それは外部からはアクセスできません。 Servlet 2.5の仕様を引用してください。WEB-INFディレクトリに含まれているファイルは、 がコンテナによって直接クライアントに提供されることはありません。 – andri

+0

パーフェクト、ありがとう!私はそれが最善の方法だと思います!ところで、私は、WAR内の設定を変更するためのユーザーインターフェイスを持っているので、手動の変更は必要ありません。 – WhyNotHugo

関連する問題