Webアプリケーションの掲示板を現在作成中なのですが、
投稿者IDの登録画面で、登録のボタンをクリックしたら「HTTPステータス 500 - null」のエラー画面が出ます。
エラー画面の内容とServletは以下の通りです。
解決策が分からないので、よろしくお願い致します。
エラーメッセージ
HTTPステータス 500 - null
type 例外レポート
メッセージ null
説明 The server encountered an internal error that prevented it from fulfilling this request.
例外
java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:542)
java.lang.Integer.parseInt(Integer.java:615)
controllers.contributors.ContributorsCreateServlet.doPost(ContributorsCreateServlet.java:54)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
filters.EncodingFilter.doFilter(EncodingFilter.java:40)
注意 原因のすべてのスタックトレースは、Apache Tomcat/8.0.43のログに記録されています
package controllers.contributors;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.List;
import javax.persistence.EntityManager;
import javax.servlet.RequestDispatcher;
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 models.Contributor;
import models.validators.ContributorValidator;
import utils.DBUtil;
import utils.EncryptUtil;
/**
- Servlet implementation class ContributorsCreateServlet
*/
@WebServlet("/contributors/create")
public class ContributorsCreateServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/** * @see HttpServlet#HttpServlet() */ public ContributorsCreateServlet() { super(); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String _token = (String)request.getParameter("_token"); if(_token != null && _token.equals(request.getSession().getId())) { EntityManager em = DBUtil.createEntityManager(); Contributor e = new Contributor(); e.setCode(request.getParameter("code")); e.setName(request.getParameter("name")); e.setPassword( EncryptUtil.getPasswordEncrypt( request.getParameter("password"), (String)this.getServletContext().getAttribute("pepper") ) ); e.setAdmin_flag(Integer.parseInt(request.getParameter("admin_flag"))); Timestamp currentTime = new Timestamp(System.currentTimeMillis()); e.setCreated_at(currentTime); e.setUpdated_at(currentTime); e.setDelete_flag(0); List<String> errors = ContributorValidator.validate(e, true, true); if(errors.size() > 0) { em.close(); request.setAttribute("_token", request.getSession().getId()); request.setAttribute("contributor", e); request.setAttribute("errors", errors); RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/views/contributors/new.jsp"); rd.forward(request, response); } else { em.getTransaction().begin(); em.persist(e); em.getTransaction().commit(); request.getSession().setAttribute("flush", "登録が完了しました。"); em.close(); response.sendRedirect(request.getContextPath() + "/contributors/index"); } } }
}
回答1件
あなたの回答
tips
プレビュー