zenet_logo

-株式会社ゼネット技術ブログ-

Tomcat Servlet 500エラーの解決方法4選!

 

 

1.はじめに

こんにちは。ゼネットの新人、井上です。

私はJava研修でTomcatを使用しています。

Tomcatを使用していると、500エラーが出ることがありますよね。

500エラーのエラーの種類は1つではないので解決するのが困難ですね。

そこで、Tomcat使用時に起こる500エラーの種類4つとその解決方法をご紹介します。

 

Internal Server Error

 

2.エラーの種類

 

・エラー1 java.lang.NullPointerException

エラーの原因:BmiServlet.javaの43行目でnullを参照している。

例外にjava.lang.NullPointerExceptionと表示されている場合はこのエラーです。

nullを参照してしまうと、このエラーが発生します。

解決方法は、nullを参照しないようにすることです。

エラーメッセージに表示されている行数の箇所でnullを参照してしまっているので、

その行で使用されている変数、パラメータ、メソッドの値について見直しましょう。

 

 

・エラー2 サーブレットクラスを初期化中にエラー

エラーの原因:サーブレットクラスがBmiServleとなっている。正しくはBmiServletである。



例外にサーブレットクラスを初期化中にエラーが発生しましたと表示される場合はこのエラーです。

web.xmlで指定したサーブレットクラスに遷移ができないと、このエラーが発生します。

解決方法は、サーブレットクラスに正しく遷移させることです。

具体的には、

①web.xml内のservlet-classタグの記載を、サーブレットクラスのパスと一致させる。

②servletクラスを継承させる。

③自動的にビルドを行う設定にする。

のどれかが不足しているので、見直しましょう。

 

 

・エラー3 org.apache.jasper.JasperException

エラーの原因:ArrayList<Bmi>に整数を代入している。

例外にorg.apache.jasper.JasperExceptionと表示されている場合はこのエラーです。

jsp内にエラーがあると、このエラーが発生します。

解決方法は、jsp内のエラーを取り除くことです。

エラーメッセージ内にjspの何行目にエラーが起きているか表示されているので、

その行について見直しましょう。

 

 

・エラー4 java.lang.IllegalStateException

例外にjava.lang.IllegalStateExceptionと表示されている場合はこのエラーです。

データベースの接続に関係する処理でエラーが発生すると、このエラーが発生します。

メッセージにjava.lang.ClassNotFoundexceptionと表示されている場合、

JDBCのドライバーが参照できていないです。読み込み処理を見直しましょう。

メッセージにjava.sql.SQLExceptionと表示されている場合、

接続する際のユーザ名、データベース名、パスワードに誤りがあります。見直しましょう。

メッセージにjdbc.exception.MySQLSyntaxErrorExceptionと表示されている場合、

テーブル名かSQL文に誤りがあります。Daoクラスの処理を見直しましょう。

 

 

3.おわりに

エラー文が出ると焦ってしまったり、嫌になってしまう事もありますよね。

そんな時こそ落ち着いてエラーの原因を探しましょう。

1つ1つエラーを乗り越えていくことで、

一人前のプログラマーになりましょう!

 

 

4.参考記事

500エラーが発生した時の対処法

kanda-it-school-kensyu.com

 

 

 

  翻译: