JSPとサーブレット(IDE:Eclipse、データベース:Oracle10)を使用してWebアプリケーションを開発しています。
を返すJavaクラスを開発しましたstatic connection
。その接続は、Webアプリケーション全体で使用されます。
public class DBConnection
{
private static Connection con = null;
static Connection getConnection(String str)
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("MyValuesHere");
System.out.println("New instance of Connection is created for: "+str);
}
catch(ClassNotFoundException cnfe)
{
System.out.println("Error loading class!");
cnfe.printStackTrace();
}
catch(SQLException sqle)
{
System.out.println("Error connecting to the database!");
sqle.printStackTrace();
}
return con;
}//getConnection()
}//class
上記のクラスは正常に機能しています。それから私は別の4つのJavaクラスを持っています
- 挿入
- 更新
- 削除
- 選択
データベースからのデータusing the above connection
。したがって、これらの4つのクラスでは、DBConnection
クラスで作成された接続を取得しており、これらの4つのクラスも正常に機能しています。この4つのクラスは、私のすべてのサーブレットで使用されています。
これらの4つのクラスで接続を取得するには、次の行を記述します。
private static Connection con = DBConnection.getConnection("UpdateQuery.java");
ただし、問題は、4つのクラスすべてで同じ接続を共有したいのですが、接続はこれらの4つのクラスで別々に作成されることです。では、これら4つのクラスで同じ接続をどのように共有する必要がありますか?これを行うためのより良い方法はありますか?このアプローチを使用すると、アプリケーション全体の接続を共有するため、Webアプリケーションに問題が発生しますか?