1

実行時に DB 接続を行う画面がある JSP を作成する必要があります。つまり、実行時に DB の詳細 (シンクライアント/ドライバー情報など) を提供し、接続して次のページを処理する必要があります。 appln (最大 20 ユーザー) をスケーリングするため、接続を管理する方法を 2 人に知ってもらいたい。

-- セッションに接続を保存しますか? - セッション ID としてのキーと接続としての値を持つ HashTable で? -- または実行時の接続プール (私はそれが良いとは思いません).. -- または、プロパティ ファイルを作成し、実行時に変更を加えて再読み込みします..

この wrt パフォーマンスとデザインの最適なアプローチを教えてください。

よろしく、アミット

4

3 に答える 3

4

.properties ファイルに接続情報 (データベース名、パスワード、サーバー アドレスなど) を設定できます。以下のように。

1) config.properties (通常は classPath-src\config.properties で作成される) ファイルに含まれる静的な方法

driver=com.mysql.jdbc.Driver
database=jdbc:mysql://localhost:3306/dbName
dbuser=root
dbpassword=root

値を作成またはリセットすることもできます

または1) 動的プロパティ ファイルを作成または設定します。

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

public class App 
{
    public static void main( String[] args )
    {
        Properties prop = new Properties();

        try {
            //set the properties value
            prop.setProperty("database", "localhost");
            prop.setProperty("dbuser", "patel");
            prop.setProperty("dbpassword", "password");

            //save properties to project root folder
            prop.store(new FileOutputStream("config.properties"), null);

        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

出力 (config.properties)

 dbpassword=password
 database=localhost
 dbuser=patel

2)実行時にそれを読み取る時間です。

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

public class App 
{
    public static void main( String[] args )
    {
        Properties prop = new Properties();

        try {
               //load a properties file
            prop.load(new FileInputStream("config.properties"));

               //get the property value and print it out
                System.out.println(prop.getProperty("database"));
            System.out.println(prop.getProperty("dbuser"));
            System.out.println(prop.getProperty("dbpassword"));

        } catch (IOException ex) {
            ex.printStackTrace();
        }

    }
}

出力

localhost
patel
password

pls はこのコードを jsp で <% %> に記述します。このようにして、実行時に任意のものをロードできます。何か助けが必要です....:)

于 2013-01-23T12:05:23.487 に答える
0

接続プーリングを使用できます

これをチェックして

于 2013-01-23T11:21:28.807 に答える
0

セッション ID をキーとして使用するサーバー メモリ マップにログイン資格情報を格納し、呼び出しごとに接続を再開し、呼び出しのサービスの最後に接続を閉じる方が簡単な場合があります。接続を開くにはペナルティがありますが、Web インタラクションごとに 1 つで十分に効率的です。これにより、接続リークが防止されます。

セキュリティ上の問題となる偽造されたセッション ID を防ぐために、Web サーバーは、呼び出しごとにユーザーが認証されていることを確認する必要があります。

于 2013-01-23T11:36:20.430 に答える