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

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

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

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

918閲覧

Java 、NullPointerExceptionがでて実行できません

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/07/29 06:38

前提・実現したいこと

DBのデーターをeclipseに渡してtodoリストを作成しようとしています。
データーベースでは完了状況をString型のtrue(完了)、false(未済)で登録しています。
eclipseではDBで完了状況がtrueならば完了、falseならば未済であると表示させたいです。
また、プルダウンを用いて始めの表示画面は”未済のみ”のデータを表示し、プルダウンを用いて”すべて”を選択したら完了も未済のものも表示できるようにしたいです。

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

HTTPステータス 500 - java.lang.NullPointerException
type 例外レポート

メッセージ 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:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

原因
java.lang.NullPointerException
study.bean.DataAccessBean.searchTodoInfo(DataAccessBean.java:122)
study.servlet.SearchServlet.doGet(SearchServlet.java:31)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:742)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:712)
org.apache.jsp.index_jsp._jspService(index_jsp.java:112)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

該当のソースコード

Java

public Collection<TodoInfo> searchTodoInfo(String param) throws SQLException{
Connection conn = null;
PreparedStatement ps= null;
ResultSet rs = null;

try{ String sql = ""; if(param.equals("all")){ sql= "SELECT id, title, done FROM todolist"; }else{ sql = "SELECT * FROM todolist WHERE done = ? "; } Collection<TodoInfo> todoList = new ArrayList<TodoInfo>(); conn = getDataSource().getConnection(); ps = conn.prepareStatement(sql); if(!param.equals("all")){ ps.setString(1, param); } rs = ps.executeQuery(); while(rs.next()){ TodoInfo todoinfo = new TodoInfo(); todoinfo.setId(rs.getString("id")); todoinfo.setTitle(rs.getString("title")); todoinfo.setDone(rs.getString("done")); todoList.add(todoinfo); } return todoList; }catch(NamingException e) { e.printStackTrace(); throw new SQLException(e); }finally{ if(rs != null){rs.close();} if(ps != null){ps.close();} if(conn != null){conn.close();} } }

}

、、、、、、、、、、、、、、、、、、、、、、
<%@ page pageEncoding="utf-8"
contentType="text/html; charset=utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE html> <html> <head> <title>一覧</title> </head> <body> 一覧 <table border="1"> <tr> <th>ID</th> <th>表題</th> <th>操作</th>
</tr> <c:forEach var="todoInfo" items="${todoInfoList}"> <tr> <td>${ todoInfo.id }</td> <td>${ todoInfo.title }</td> <td>${ todoInfo.done }</td> </tr>

  </c:forEach>
</table>
<form action="${pageContext.request.contextPath}/search" method="post">
<select name="search">
<option value="false">未済のみ</option>
<option value="all">すべて</option>
</select>
<input type="submit" value="送信" />

</form> <br> <a href="${pageContext.request.contextPath }/regist.jsp">新規登録ページへ</a>
</body> </html>

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

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

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

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

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

guest

回答1

0

NULLポインタを操作した、という例外です

まずはどの行でその例外が出たのかを確かめます。
そして、その行のどの変数がNULLなのかをチェックし、なぜそれがNULLになるか、を考えましょう

投稿2020/07/29 07:19

y_waiwai

総合スコア88042

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問