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

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

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

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Java

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

Eclipse

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

servlet

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

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

1回答

2688閲覧

HTTPステータス 500 について解決できません。

mtao81

総合スコア9

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Java

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

Eclipse

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

servlet

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

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2020/12/17 12:31

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"); } } }

}

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

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

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

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

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

YT0014

2020/12/17 14:36

コードはマークダウンを使用して記載してください。
guest

回答1

0

ベストアンサー

java.langのコードミスは考えられないので、問題になるのは、スタックトレースの4行目
controllers.contributors.ContributorsCreateServlet.doPost(ContributorsCreateServlet.java:54)
ご提示時頂いたコードの該当行付近を見ると、

java

1e.setAdmin_flag(Integer.parseInt(request.getParameter("admin_flag")));

とあるので、admin_flagが渡っていないものと思われます。

投稿2020/12/17 14:41

YT0014

総合スコア1750

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

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

mtao81

2020/12/19 04:30

ご指摘いただいた通り、admin_flagが渡っておらず、修正後実行することができました。 ご回答いただき、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問