0

異なる JSP ページの複数のモジュールにまたがる Web アプリケーションがあります。現在、スコープの制限により、これらのページで異なる Oracle 接続オブジェクトを使用しています。ボタンをクリックすると、中央の JSP 表示ページのいずれかの JSP ページで実行されたデータベース トランザクションをロールバックする必要があります。ただし、データベースのロールバックには、関連付けられた接続オブジェクトが必要です。

接続オブジェクトを 1 つだけ維持し、それをセッション変数のリストに追加し、必要に応じて逆参照することを考えました。これにより、中央の表示ページから任意のページで実行されたデータベース トランザクションをロールバックできます。上記が可能かどうか教えてください。

4

1 に答える 1

0

私が試したいのは、必要な接続を提供するシングルトン クラスを作成することです。プールを試してみますが、そうでない場合は、シングルトンだけで何とか機能します。ロールバックを要求するときは、クラスから接続を回復し、ロールバックを実行します (またはクラスにロールバックを要求します)。プールが必要な場合は、アクティブな接続を繰り返し処理し、ロールバックを実行します。

jsp 内で接続を開くのはあまり良い考えではありません。ページからロジックをできるだけ分離するようにしてください。クラスをインスタンス化することは、これを達成するための小さなステップになる可能性があります。

お役に立てれば。

于 2014-02-12T18:14:36.390 に答える