1.はじめに
こんにちは。ゼネットの新人、井上です。
私はJava研修でTomcatを使用しています。
Tomcatを使用していると、500エラーが出ることがありますよね。
500エラーのエラーの種類は1つではないので解決するのが困難ですね。
そこで、Tomcat使用時に起こる500エラーの種類4つとその解決方法をご紹介します。
2.エラーの種類
・エラー1 java.lang.NullPointerException
例外にjava.lang.NullPointerExceptionと表示されている場合はこのエラーです。
nullを参照してしまうと、このエラーが発生します。
解決方法は、nullを参照しないようにすることです。
エラーメッセージに表示されている行数の箇所でnullを参照してしまっているので、
その行で使用されている変数、パラメータ、メソッドの値について見直しましょう。
・エラー2 サーブレットクラスを初期化中にエラー
例外にサーブレットクラスを初期化中にエラーが発生しましたと表示される場合はこのエラーです。
web.xmlで指定したサーブレットクラスに遷移ができないと、このエラーが発生します。
解決方法は、サーブレットクラスに正しく遷移させることです。
具体的には、
①web.xml内のservlet-classタグの記載を、サーブレットクラスのパスと一致させる。
②servletクラスを継承させる。
③自動的にビルドを行う設定にする。
のどれかが不足しているので、見直しましょう。
・エラー3 org.apache.jasper.JasperException
例外に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エラーが発生した時の対処法