前提・実現したいこと
HTTPステータス 500を解決したい
ここに質問の内容を詳しく書いてください。
アプリケーションスコープを用いて簡単なプログラムを作成しています!
すっきりわかるサーブレット&JSp入門を読みながら、
コードの写経をしているのですが、505エラーが出てしまい、直し方がわかりません
発生している問題・エラーメッセージ
HTTPステータス 500 - An exception occurred processing JSP page /WEB-INF/jsp/minatoIndex.jsp at line 21
type 例外レポート
メッセージ An exception occurred processing JSP page /WEB-INF/jsp/minatoIndex.jsp at line 21
説明 The server encountered an internal error that prevented it from fulfilling this request.
例外
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/minatoIndex.jsp at line 21
18: <h1>湊くんのページへようこそ1!</h1>
19: <P>
20: <a href="/example/MinatoIndex?action=like">いいね!</a>:
21: <%= siteEV.getLike() %>人
22: <a href="/example/MinatoIndex?action=dislike">よくないね!</a>:
23: <%= siteEV.getDislike() %>人
24: </p>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:579)
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
org.apache.jsp.WEB_002dINF.jsp.minatoIndex_jsp._jspService(minatoIndex_jsp.java:132)
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)
注意 原因のすべてのスタックトレースは、Apache Tomcat/8.0.43のログに記録されています
Apache Tomcat/8.0.43
該当のソースコード
こちらが問題の発生しているJSPのコードです。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="model.SiteEV"%>
<%
SiteEV siteEV = (SiteEV) application.getAttribute("siteEV");
%>
</body> </html><h2>湊くんとは・・・?</h2> <p>・・・・・・・・・・・・・</p>
Java
補足情報(FW/ツールのバージョンなど)
使用ツール
eclipse
tomcat8.0
Struts2
サーブレットのコードはこちらになります。
package servlet;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.SiteEV;
import model.SiteEVLogic;
@WebServlet("/MinatoIndex")
public class MinatoIndex extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { //アプリケーションスコープに保存されたサイト評価を取得 ServletContext application = this.getServletContext(); SiteEV siteEV = (SiteEV) application.getAttribute("siteEV"); //サイト評価の初期化(初回リクエスト時実行) if(siteEV == null){ siteEV = new SiteEV(); } //リクエスパラメータの処理 request.setCharacterEncoding("UTF-8"); String action = request.getParameter("action"); //サイトの評価処理(初回リクエスト時は実行しない) SiteEVLogic siteEVLogic = new SiteEVLogic(); if(action != null && action.equals("like")){ siteEVLogic.like(siteEV); }else if(action != null && action.equals("dislike")){ siteEVLogic.dislike(siteEV); } //アプリケーションスコープサイトにサイト評価を保存 application.setAttribute("siteEV", siteEV); //フォワード RequestDispatcher dispatcher = request. getRequestDispatcher("/WEB-INF/jsp/minatoIndex.jsp"); dispatcher.forward(request, response); }
}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。