
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で質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java Java です 途中は省いてますが for(int i = 0; i < 25; i ++) { s 4 2022/05/20 23:36
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- IT・エンジニアリング プログラマの仕事内容 4 2022/08/13 00:34
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- Java jdk17.06のインストーラーが起動しない 1 2023/03/27 21:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- ゲーム Ps5で、マイクラJava版って出来ますか?今マイクラ統合版でやってて、マイクラJava版もやってみ 1 2023/02/07 20:25
- Java JavaでWebページ作成 7 2023/07/21 21:09
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
エラー:org.springframeworkが...
-
eclipseをバージョンアップした...
-
java.lang.StackOverflowErrort...
-
空白文字の正規表現
-
eclipseで再コンパイルしたら動...
-
Javaのエラーについてです
-
java return文を指定できません。
-
tomcat起動時エラー
-
JBossについて
-
Javaプログラムのエラー
-
外部JavaScriptのエラー
-
javaサーブレットからのoracle...
-
java eclipse apache tomcat 9....
-
重複jarの調査の仕方
-
Hot code replace failed ?
-
コンパイル時にエラーが出てし...
-
[C++/CLI] アンマネージクラス...
-
Eclipse デバッグ エラー処理
-
eclipseでのsvn認証エラー回避方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
エラー:org.springframeworkが...
-
eclipseをバージョンアップした...
-
Javaのエラーについてです
-
eclipseでのsvn認証エラー回避方法
-
タグが閉じてないというエラー...
-
コンパイル時にエラーが出てし...
-
Eclipseの環境について
-
tomcat起動時エラー
-
Eclipse デバッグ エラー処理
-
Eclipseで次のエラー箇所にジャ...
-
構文エラーのやり直しについて
-
シンボルが見つかりませんとい...
-
拡張子 class ファイルを開きた...
-
java eclipse apache tomcat 9....
-
DataSetのFilter
-
JSPのコンパイル?
-
JSP内でString型からint型に変...
-
struts-config.に対する読み込...
-
eclipseのエラーについて質問で...
おすすめ情報