- PR -

javalangNullPointer

投稿者投稿内容
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2002-11-22 20:50
エラーメッセージを見る限りでは、
<% while( rset.next() ){ %>
ここでNullPointerExceptionになってる。
直前に、
<%System.out.println(sqlQuery_cnt);%>
とか入れて、どんなSQL文を実行したのか見てみ。

あと、NullPointerException以前にコードに問題がありすぎ。
例えば、
<%! Connection conn; %>
<%! Statement stmt; %>
<%! ResultSet rset; %>

JSPでは、1つのインスタンスが同時に実行されるから、こんなのフィールドに
持たせたら複数人が同時にアクセスした時おかしな結果になる。
あと、
<% Class.forName("oracle.jdbc.driver.OracleDriver"); %>
こんなの1回やれば十分でしょ。これこそjsp宣言にすべき。
それと、スクリプトレットを使いすぎ。
DORAEMON
会議室デビュー日: 2002/11/21
投稿数: 17
投稿日時: 2002-11-22 21:11
なるほど、根本的にダメダメということですね。
明日は雨だろうし、土日で1から勉強しなおします。

色々、ありがとうございます。
アレク
ベテラン
会議室デビュー日: 2002/10/23
投稿数: 97
投稿日時: 2002-11-22 21:51
う〜ん。
基本的に JSP での処理は極限まで減らした方がよいのではないかと思います。

本来、JSP を使用することによって、HTML 部分を書くコンテンツクリエーターと、
Java プログラマーとの間で、分業がしやすくなるはずですが、
JSP 内に Java コードが多すぎるとそのメリットは全く無くなってしまいます。

ですから、入力処理と全体のコントロールはサーブレットに、
業務処理は JavaBeans に任し、
JSP では Beans から値だけを得て来て、表示するというのが一番だと思います。

これは、MVC モデルとしてよく知られている手法で、
モデル部分→JavaBeans
ビュー部分→JSP
コントロール部分→Servlet
の三つに分けることによって非常に効率的に開発を行うことが出来ます。

MVC モデルはサーバサイド java で開発する場合には、
必須と言っても過言ではないのでしっかりと基礎から学んだ方がよいと思います。

個人的に教材として、おすすめなのは、

「基礎からわかるサーバー・サイド Java」
 樋口研究室著 日経 BP 社出版

です。

この本は、MVC モデルを段階的に分かりやすく、しかも servlet から EJB に至るまで、
深く学ぶことが出来るので、おすすめです。

もしも、機会があれば一度ご覧になってみて下さい。

スキルアップ/キャリアアップ(JOB@IT)