
JSPでNullPointerExceptionが出たのですが、初めて見るエラーなので、
どういうものなのか、どなたか教えてください。
スタックトレースは以下です。
メッセージ java.lang.NullPointerException
説明 The server encountered an internal error that prevented it from fulfilling this request.
例外
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
accession.filter.SessionFilter.doFilter(SessionFilter.java:97)
accession.filter.ReferFilter.doFilter(ReferFilter.java:39)
accession.filter.TimeoutFilter.doFilter(TimeoutFilter.java:23)
accession.filter.EncodeFilter.doFilter(EncodeFilter.java:10)
原因
java.lang.NullPointerException
org.apache.jsp.Use.Select.SendSelect_jsp._jspService(SendSelect_jsp.java:93)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
accession.filter.SessionFilter.doFilter(SessionFilter.java:97)
accession.filter.ReferFilter.doFilter(ReferFilter.java:39)
accession.filter.TimeoutFilter.doFilter(TimeoutFilter.java:23)
accession.filter.EncodeFilter.doFilter(EncodeFilter.java:10)
原因一行目の「SendSelect_jsp.java:93」は何というファイルの93行目のことですか?
SendSelect_jsp._jspServiceというのは・・・?
このようなエラー(_jspServiceが原因の最初にあるもの)は初めてで、
調べてはみたのですが、同じようなエラーを見つけられなかったので、
教えてください。
JSPがSendSelect.jspで、SendSelect.javaを使っています。
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
>SendSelect_jsp.javaというファイルは見つかりません。
これは、あなたが作成したJSPファイルを元に、サーブレットコンテナが自動生成したサーブレットのソースコードです。JSPというのは、サーブレットコンテナ(Tomcatなどのことです)がそれを読み込んでサーブレットに変換して動かします。つまり、JSPのソースコードを解析して、それと同じ働きをするサーブレットのソースコードを生成し、コンパイルしてJSPファイル名のアドレスにルーティングする、といった作業を行なっているわけです。
このソースコードは、JSPファイルから機械的に生成されますから、このソースコードでエラーが発生しているというのは、すなわち元になっているJSPでエラーが発生していると考えるべきです。
とりあえず、SendSelect.jspというJSPがあると思いますので、それを調べましょう。Eclipseなどからサーブレットコンテナを起動しているのであれば、デバッグモードで実行することでエラー発生時の状況を詳しく調べられると思います。
普通にTomcatを起動して動かしている場合は、面倒くさいですが、その中のスクリプトレットを最後のところから少しずつ削除するなりコメントアウトするなりしてリロードしていけば、どの部分でエラーが起こっているか見つけられると思いますよ。
ご回答ありがとうございます。
詳しく説明していただきありがとうございました。
勉強を始めたばかりでしたので、非常に為になりました。
>サーブレットコンテナが自動生成したサーブレットのソースコードです。
SendSelect_jsp.javaはサーブレットのことだったんですね!!
Eclipseは使わずTomcat(Apacheと連携)を使用しています。
>その中のスクリプトレットを最後のところから少しずつ削除するなりコメントアウトするなりして
原因が見つかりました!
プログラム自体にミスがいくつかありました・・・。
無事、表示できるようになりました^^
ご回答ありがとうございました。助かりました。
No.1
- 回答日時:
> NullPointerExceptionが出たのですが、初めて見るエラーなので
Javaで一番見る例外だと思うんですが。
この例外は、nullが期待されていないところにnullが使われたときに発生します、
a.method0() としたときにa=null、とか
b.method1(c) としたときに、cがnullで、b.method1の引数としてnullを期待していない、とか
> 原因一行目の「SendSelect_jsp.java:93」は何というファイルの93行目のことですか?
「SendSelect_jsp.java」というファイルです。
> SendSelect_jsp._jspServiceというのは・・・?
SendSelect_jspクラスの_jspServiceメソッドだと思われます。
これらは、既存のモジュールのものです。
そのモジュールのバグの可能性はありますが、それよりは、自作プログラム中での使い方に問題があるケースが多いです。
例えば、
c=a.method0() ; // エラー時にnullを返す
でエラーになっているのに、それを確認せず
b.method1(c) ; // nullは期待していない
のように使ってしまっている、とか。
b.method1自体が例外を返さなくても、そこから呼ばれたmethod2から呼ばれたmethod3から呼ばれた....と深いところから例外が返ってくることもあります。
早速のご回答ありがとうございました。
>「SendSelect_jsp.java」というファイルです。
>SendSelect_jspクラスの_jspServiceメソッドだと思われます。
SendSelect_jsp.javaというファイルは見つかりません。
>これらは、既存のモジュールのものです。
>そのモジュールのバグの可能性はありますが、それよりは、自作プログラム中での使い方に問題があるケースが多いです。
既存モジュールだったのですね!
>深いところから例外が返ってくることもあります。
なるほど・・・
NullPointerExceptionの原因の一番目に、初めて既存モジュールが表示されたため、
混乱していましたが、
よく見る例外と同じようなので、もう一度じっくりコードとにらめっこしてきます。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
リクエストに応じたselectedの初期値設定方法
Java
-
JSPファイルで生じるエラーをどのように修正するか分かりません
Java
-
JSPのNULLレコード表示について教えて下さい。
Java
-
4
jspのプログラムについて
Java
-
5
入力チェックとエラーメッセージの表示
Java
-
6
レコード件数の表示
Java
-
7
Selectの中身をfor文で入れる
JavaScript
-
8
JSPでのArrayListの表示について困っています
Java
-
9
Eclipse デバッグ エラー処理
Java
-
10
JSPで<SELECT>の中にDBから持ってきたデータを反映させたい
Java
-
11
JSPやサーブレットでSystem.out.println()などでコンソールに出力できますでしょうか?
Java
-
12
servletからjspへオブジェクトの配列情報を送る方法
Java
-
13
正しいURL指定しているにもかかわらずJSPファイルにアクセスできず「404エラー」が発生
Java
-
14
ServletからServletへの値渡し
Java
-
15
JSPのエラー画面(error.jsp)に遷移(移動)しない
Java
-
16
jspからServletを呼び、元のjspページに戻るにはどうしたらよいですか?
Java
-
17
Java-jspの画面入力値保持について
Java
-
18
java eclipse 型に解決できません
Java
-
19
Javascriptの値をJava(JSP)へ渡す方法
Java
-
20
HTMLのソースをエクセルに貼り付ける方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
エラー:org.springframeworkが...
-
5
tomcat起動時エラー
-
6
Eclipseで次のエラー箇所にジャ...
-
7
JBossについて
-
8
JSP内でString型からint型に変...
-
9
JSP NullPointerException
-
10
構文エラーのやり直しについて
-
11
eclipseでのsvn認証エラー回避方法
-
12
javaw.exeプロセスが正常起動し...
-
13
「型 ArrayList は総称ではあり...
-
14
Eclipse デバッグ エラー処理
-
15
コンパイル時にエラーが出てし...
-
16
Eclipseの環境について
-
17
Javaプログラムのエラー
-
18
Strutsのbean:writeにclassを適...
-
19
「httpステータス404」とい...
-
20
arraylistの呼び出し
おすすめ情報
公式facebook
公式twitter