プログラミング

HTTPステータス500-org.hibernate.resourseの原因と対処法

2019年7月23日

山の写真

ある日、いつも通りJavaのプログラムを組んでいた時のこと。

サーバーを再起動してプログラムを実行するとこんなメッセージが。

HTTPステータス500エラー画面

 

最初は???となりましたが無事に解決できました。

ということで今回はHTTPステータス500のエラーが出た時の原因と対処法を紹介していきます。

また、500だけでないエラーとその対処法についても紹介していきます。

 

HTTPステータス500のエラーの原因はこれでした

 

今回のエラーを見るとCreateServlet.java に原因がありそうですので、CreateServlet.java をみていきます。

すると原因が判明

 

HTTPステータス500エラーのソース画面

今回出ているエラーはDBとのコネクションが切られているという内容でした。


ソースを確認したところ、69行目に接続をクローズしたにも関わらず、
再度76行目でDB処理を行おうとしていることが原因でしたね。


「DBに登録する処理が2か所あるから、どちらか不要な方を削除しろ」

とお叱りを受けてしまってたのですね。

 

よくあるエラーの種類と対処法

 

この章ではJavaプログラミングにおいてよく出るエラーについてその種類と対処法を紹介していきます。

それぞれのエラーの特徴とある程度の対象法を覚えておくことで、エラーが出た時も冷静に対処できます。

 

HTTPステータス 500 (Internal Server Error)

 

500エラーはこれからプログラミングをしていく上で頻繁に見かけるであろうエラーです。

特徴としてはエラーの原因が様々なものであるということです。

この後に紹介する404や405のエラーより少々複雑になるかもしれませんので、このエラーが出た時はしっかり原因を探しましょう。

500エラーは「正常に実行されていない」ことを示すエラーです。

自分が組んだプログラムの中に何らかのミスがあることを示してます。

例えば

 

・データベースを起動していないのにデータを呼び出そうとしている

・同じ処理を重複している

・ソースと実行しているクラスファイルの同期が取れていない

 

などが考えられます。

 

ミスの発見方法としては「メッセージ」「説明」「例外」「原因」が書かれているところをじっくりと読み込むことが重要です。

 

今回だと、CreateServletにミスがあること、DB(データベース)処理に問題があることが書かれています。

英語で読むのが大変かもしれませんが、エラーの文をネットで検索してみると解決策が乗っていたりする場合も多いです。

 

また「ソースと実行しているクラスファイルの同期が取れていない」ということに関しては、組んだプログラムに問題がなくても起きるので一回プロジェクトのクリーンを行ってみることも手です。

(ミスがないのにエラー表示するのはこちらとしてはきついですよねw)

 

参考

「ソースと実行しているクラスファイルの同期が取れていない」事による500エラーはEclipseで開発していると偶に発生する事象です。
自動でビルドする設定にしている場合、ソースを修正・保存すると自動的にビルドしてクラスファイルが作成されるようになっているのですが、時々それがうまく動作しないことがあります。

決まったタイミングがあるものでもないので、うまくいかない際はとりあえず手動でクリーンを試してみる習慣を付けておくと良いかと思います。

 

HTTPステータス 404 (Not Found)

HTTPステータス404エラー画面

 

404はよく起きるエラーの1つです。

このエラーは「指定したページが存在しない(Not Found)」ということを知らせています。

原因としては

 

・ブラウザに打ち込んだURLのスペルにミスがある

・アノテーションに記述されたパスのスペルミス

・redirect(リダイレクト)などのメソッドに指定したパスのスペルミス

・ひらけないファイルを開こうとしている(Web-INFなど)

 

などが考えられます。

 

HTTPステータス 405 (Method Not Allowed)

HTTPステータス405エラー画面

 

405エラーもプログラムを組む中では頻繁に見かけるようになります。

このエラーはHTTPメソッド(do GET , do POST)に何かしらの不備があるということを示しています。

単純なミスが原因ですので、405エラーでは焦らずにすぐに対処すれば、大抵の場合すぐに問題解決できます。

考えられる原因としては

 

・doGETやdoPOSTのつづりが間違っている(例えばdoGERになってしまっていたりdoGEなど文字の打ち忘れが起きていたりする)

・doGETしか記述されていないのにPOST通信をしようとしている

・doPOSTしか記述されていないのにGET通信をしようとしている

 

などが挙げられます。

 

てんし君

それぞれのエラーの概念について軽くでもいいので覚えておこう!

 

今回はプログラミングでよく起きる500エラーなど主要なエラーについての特徴と対処法について紹介していきました。

プログラミングではエラーはずっと付いて回る問題です。

むしろ優秀なエンジニアやプログラマーを目指すのであれば「ミスをしない」ということよりも「ミスした時にいかに早く対処できるかどうか」が大事になってきます。

ぜひこの記事を参考にしてみてください。

 

プログラミングスクールに関する情報

2021年最新プログラミングスクール おすすめランキング 【WEBエンジニアになりたい方向け】と書かれた画像
【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】

  あなたプログラミングスクールに通いたいけどたくさんありすぎてどこがいいのかわかりません。   最近はエンジニアブームということもありプログラミングスクールが増えました。 一方でたくさんありすぎてど ...

続きを見る

フリーランス
無料あり:フリーランスを目指せるプログラミングスクールランキング【体験をもとに徹底分析しました】

  あなたフリーランスエンジニアを目指すことができるプログラミングスクールってありますか?   最近では、高年収や働きやすさの魅力からフリーランスエンジニアを目指す方も増えてきまし ...

続きを見る

返金保証ありのプログラミングスクールランキング【エンジニアが選びました】と表示されたパソコンの画面
返金保証ありのプログラミングスクールランキング【エンジニアが選びました】

  あなた返金保証がついているオススメのプログラミングスクールってありますか?   結論から話すと、返金保証つきのプログラミングスクールランキングは次の通りです。 1位:テックキャンプ  【転職成功率 ...

続きを見る

WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】と書かれた画像
WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】

  あなたWEB系の自社開発企業に就職したいです。 オススメのスクールを教えて下さい。   エンジニアを目指すにあたってまず最初に自社開発企業への転職を希望する方がほとんどです。 ...

続きを見る

プログラミンングスクールに無料で通うならココ【現役エンジニアおすすめ】と書かれた画像
プログラミンングスクールに無料で通うならココ【現役エンジニアおすすめ】

  あなたプログラミングスクールに通いたいけどどのスクールも何十万もして通えません。コスパよくエンジニアになれるスクールはありますか?   今回はコスパが良いどころか完全に無料でプ ...

続きを見る

-プログラミング
-,

© 2021 エンジニアてんし君ブログ