重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

初歩的なことかもしれませんが、少し質問させてください。

servletのDB検索結果をJSPに受け渡したいのです。
そして、JSP内で、必要な項目を選択し、表示したいのです。

servletは、

String query "SELECT * FROM test";
ResultSet ResObj = statemant.executeQuery(query);
ResObj.close();
statement.close();

request.setAttribute("ResObj",ResObj);
getServletConfig().
getServletCotext().
getRequestDispatcher(/kekka.jsp).
forward(request.response);

です。

JSPは、ここを参考に↓何度か動かしてみたのですが、うまく動きません。
http://www.atmarkit.co.jp/ad/itf/jspctag/content …

JSP→JSPは、結構、紹介しているページを見ましたが、servlet→JSPは、
自分の探してるページが無くて、困りました。

環境が、JRunなので、JRunタグの利用でも、基本的な受け渡しでもいいですので
少し、ご教授願えたら幸いです。

環境  JRun3.0
JDK 1.3
Win2k
です。

A 回答 (1件)

JSPというよりは、JDBCをもう少し調べてみては?



ResObj.close();
statement.close();

としてしまうと、せっかくDB問い合わせた結果が「クローズ」されてしまいます。DBに対してSELECT * ~した結果は、全部メモリ上に持っているわけではなく、メモリ上にはポインタのようなもの(=カーソル)を持っているだけです。
そんなわけで、ResultSetとかStatementをclose()してしまうと、カーソルもクローズしてしまうので、結果にアクセスできなくなります。

なので、JSPに渡す前にHashmapとかに入れなおしてあげるのが良いのでは?
(検索結果が大量になる場合、注意が必要ですが・・・)
    • good
    • 0
この回答へのお礼

早い回答ありがとうございました。

Hashmapに付きまして、調べて利用したいと思います。
そして、もっとJDBCも勉強したいと思います。

回答ありがとうございました。

お礼日時:2002/08/31 01:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!