- - PR -
コネクションプールについて
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-10-04 10:48
こんにちは
http://www.atmarkit.co.jp/fjava/rensai/jsp2_04/jsp2_04_3.html で紹介されているコネクションプールクラスを使っているのですが、 MyDBAccessの33行目でstatement.close(); としていますが、 closeしてしまうとResultsetが取得できないのでこの部分をコメントアウトしました。 そこで疑問なのですが、このstatementはどのタイミングでcloseされるのでしょうか? 下記の手順を踏んでいるのですがDBは正しく更新されているのですが、再表示したbeanは 最初に取得したときの状態になっています。 1.getResultSet()で取得したResultsetをbeanに取得 2.beanをsessionに取得 3.beanをフォームのinput type="text"に出力 4.フォーム上で値を書き換える 5.request値をbeanに取得 6.取得した値をexecuteBatchで更新、commitする 7.session.removeAttribute()する 8.再表示(1にもどる) ご教授いただけないでしょうか? 動作環境 webサーバ win2000 jdk1.4 tomcat4.0.3 dbサーバ SunOS5.8 oracle8 |
|
投稿日時: 2002-10-04 16:19
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=2230&forum=12&3
に同じような質問を見つけました。 型まで意識したテーブルを作るのは難しかったので private Statement statement; public void closeStatement() throws Exception { statement.close(); } として、呼び出し元から明示的にstatementをcloseしてやることにしました。 >beanは最初に取得したときの状態になっています。 と書いたのですが、これはbeanを取得しているcommandクラスを servletのinitイベントで初期化してたのですが、serviceイベントで 初期化したら解決しました。 [ メッセージ編集済み 編集者: takasaki 編集日時 2002-10-09 19:36 ] |
1
