質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

7054閲覧

「サーブレット [jsp] のServlet.service()が例外を投げました」が解決できません。

golira

総合スコア12

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2018/10/06 09:04

前提・実現したいこと

Java, JSP, servletを用いて、3階層OOシステムを作っています。
for文を使用してJSP上にH2DBに格納されているデータを表示しようとしたところ
以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

HTTPステータス 500 - Internal Server Error Type Exception Report メッセージ An exception occurred processing [/TesterOne.jsp] at line [31] 説明 The server encountered an unexpected condition that prevented it from fulfilling the request. 例外 org.apache.jasper.JasperException: An exception occurred processing [/TesterOne.jsp] at line [31] 28: <th>batterySurvivalTime</th> 29: </tr> 30: <% 31: for(int i=0; i<phones.size(); i++) { 32: Phone aPhone = (Phone)phones.get(i); 33: out.println("<form action=\"/Reidai18/AddUpdateDeleteServlet\" method=\"post\">"); 34: out.println("<tr>"); Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:593) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:482) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) servlet.FindServlet.doPost(FindServlet.java:63) javax.servlet.http.HttpServlet.service(HttpServlet.java:660) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 原因 java.lang.NullPointerException org.apache.jsp.TesterOne_jsp._jspService(TesterOne_jsp.java:152) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) servlet.FindServlet.doPost(FindServlet.java:63) javax.servlet.http.HttpServlet.service(HttpServlet.java:660) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 注意 原因のすべてのスタックトレースは、のログに記録されています

該当のソースコード

JSP

1//TesterOne.jsp 2<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 3<%@ page import="model.*" %> 4<%@ page import="java.util.ArrayList" %> 5<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 6 7<%//セッションスコープからPhoneオブジェクトを取得 8Phone resultPhone = (Phone) session.getAttribute("phone"); 9ArrayList<Phone> phones = (ArrayList<Phone>)session.getAttribute("phones"); 10%> 11<html> 12<head> 13<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 14<title>Phoneクラスのインスタンス化の結果</title> 15</head> 16<body> 17<% 18out.println(resultPhone.tellAboutSelf()); 19%> 20<hr size= "5" color="blue"> 21<H2>②管理者用の追加・更新・削除</H2> 22<p>DBに格納されたPhoneオブジェクト一覧</P> 23<form action="/Reidai18/AddUpdateDeleteServlet" method="post"> 24<table border=1> 25 <tr> 26 <th> </th> 27 <th> </th> 28 <th>number</th> 29 <th>password</th> 30 <th>batterySurvivalTime</th> 31 </tr> 32<% 33for(int i=0; i<phones.size(); i++) { 34Phone aPhone = (Phone)phones.get(i); 35out.println("<form action=\"/Reidai18/AddUpdateDeleteServlet\" method=\"post\">"); 36out.println("<tr>"); 37 out.println("<td><input type=\"submit\" name=\"update\" value=\"更新\"></td>");//更新ボタン 38 out.println("<td><input type=\"submit\" name=\"delete\" value=\"削除\"></td>");//削除ボタン 39 out.println("<input type=\"hidden\" value=\"" + aPhone.getNumber() + "\" name=\"number\">"); 40 out.println("<td>" + aPhone.getNumber() + "</td>"); 41 out.println("<td><input type=\"text\" name=\"password\" value=\"" + aPhone.getPassword() + "\"></td>"); 42 out.println("<td><input type=\"text\" name=\"batterySurvivalTime\" value=\"" + 43aPhone.getBatterySurvivalTime() + "\"></td>"); 44out.println("</tr>"); 45out.println("</form>"); 46} 47%> 48 49 50 <tr> 51 <td></td> 52 <td></td> 53 <td> <input type="text" name="addNumber"></td> 54  <td> <input type="text" name="addPassword"></td> 55 <td> <input type="text" name="addBatterySurvivalTime"></td> 56 <td> <input type="submit" name="add" value="追加"></td> 57 <td> <input type="reset" value="キャンセル"></td> 58 </tr> 59 </table> 60</form> 61</body> 62</html> 63

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

eclipseはver4.8を使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エラーメッセージをよみなさい。
ただのNullPointerException だ

投稿2018/10/06 09:15

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

golira

2018/10/10 10:03

返答ありがとうございます。 for文のところでnullに引っかかってしまい、エラーが起きていることを理解しました。 このnullを回避するためには、どうすればよいでしょうか。
退会済みユーザー

退会済みユーザー

2018/10/10 10:52

ヌルチェック nullなら処理をしない
golira

2018/10/19 01:47

解決しました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問