JSPで500エラーコードが表示される。
解決済
回答 1
投稿
- 評価
- クリップ 0
- VIEW 3,917
前提・実現したいこと
MVCでショッピングサイトのカートシステムを作成しています。
DBの接続も確認できています。DBに入っている商品を表示させたいです。
JSPのカートシステム機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
HTTPステータス 500 - An exception occurred processing JSP page /top.jsp at line 99
type 例外レポート
メッセージ An exception occurred processing JSP page /top.jsp at line 99
説明 The server encountered an internal error that prevented it from fulfilling this request.
例外
org.apache.jasper.JasperException: An exception occurred processing JSP page /top.jsp at line 99
96: </table>
97:
98: <%
99: for (int i = 0; i < table_items.size(); ++i) {
100: Item item = table_items.get(i);
101: %>
102: <form action="kenshop" method="post">
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:574)
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)
ken.Control.doPost(Control.java:83)
ken.Control.doGet(Control.java:37)
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)
原因
java.lang.NullPointerException
org.apache.jsp.top_jsp._jspService(top_jsp.java:214)
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)
ken.Control.doPost(Control.java:83)
ken.Control.doGet(Control.java:37)
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)
注意 原因のすべてのスタックトレースは、Apache Tomcat/8.0.36のログに記録されています
該当のソースコード
一部
<%
for (int i = 0; i < table_items.size(); ++i) {
Item item = table_items.get(i);
%>
<form action="kenshop" method="post">
<div class="items">
<div class="lineup_img">
<img src="<%=item.getItemImage()%>"
alt="<%=item.getItemName()%>" />
</div>
<div class="lineup"><%=item.getItemName()%>
<%=item.getItemArtist()%>
<%=item.getItemPrice()%></div>
<div class="lineup_btn">
<input type="image" src="img/btn_addition.gif" alt="カートに追加" />
</div>
<input type="hidden" name="act" value="add" /> <input
type="hidden" name="id" value="<%=item.getItemID()%>" /> <input
type="hidden" name="title" value="<%=item.getItemName()%>" /> <input
type="hidden" name="create" value="<%=item.getItemArtist()%>" />
<input type="hidden" name="price" value="<%=item.getItemPrice()%>" />
</div>
</form>
<%
}
%>
<p>
<font color="red"><%=request.getAttribute("message")%></font>
</p>
試したこと
記述ミスだと思い他のクラスなどを確認しましたが、記述ミスではないと思います。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+2
原因
java.lang.NullPointerException
org.apache.jsp.top_jsp._jspService(top_jsp.java:214)
ぬるぽが起きてますね。
for (int i = 0; i < table_items.size(); ++i) {
↑たぶん「table_items」がnullなんじゃないですか?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 89.99%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる