Webアプリでエラーが発生した際の対処法について

14.1 Webアプリでエラーが発生した際の対処法について

 本テキストの各課題を実施している際に、様々な原因でエラーが発生し、想定通り画面が動かないことがあるかと思います。どうしても直らない場合は講師に質問して解決するべきですが、ある程度は自分でエラーの原因を推測できるようになると、作業効率が格段に上がりますので、まずエラーが起きたらこのトラブルシューティングを参照してみるようにしましょう。
 本節ではエラーの種類とその見分け方について説明します。

14.1.1 エラーの種類について

 Webアプリケーションを実行した際のエラーは主に以下の5種類です。
 まず今表示されているエラー画面がどれに近いのかを確認しましょう

 ①サイトにアクセスができない

図 14.1.1 localhostで接続が拒否されている(Tomcatが起動できていない)

 ②404エラー(画面遷移先のURLが見つからない)

図 14.1.2 404エラーメッセージ

 ③405エラー(データ送信方法が揃っていない)

図 14.1.3 405エラーメッセージ

 ④500エラー(例外が発生した)

図 14.1.4 500エラーメッセージ

 ⑤それ以外のエラー(そもそも画面遷移しない等)

 このうち、①に関してはTomcatが起動していないだけですので、Tomcatを起動させてから改めて対象のURLにアクセスしてみてください。「実行」ボタンからの起動で上手くいかない時は、プロジェクト内のサーブレットに書いた@WebServletアノテーションについて、URLパターンの先頭に「/」がきちんと書かれているか、重複しているURLパターンがないかを確認してください。1つでも不備があるURLパターンがあるとTomcatの起動に失敗します。

図 14.1.5 @WebServletに不備がある例

 また、もし今回取り扱うプロジェクトが別のプロジェクトをコピーして名前変更(リファクタリング)したものの場合は、このコンテキスト・パスが修正後の名前になっていない可能性があります。この場合、2箇所を修正する必要があります。コンテキスト・パスがうまく紐づいていないと、その時に追加・修正したウェブページだけでなく、対象のプロジェクトで扱える全てのURLが全て使えなくなってしまいます。
 ①プロジェクト名を右クリックし、「プロパティー」→「webプロジェクトの設定」を選択し、コンテキスト名をプロジェクト名と同じ文字列に揃えてください。

図 14.1.6 コンテキスト名の修正

 ②プロジェクト・エクスプローラーの一番上にあるServersフォルダ内にある「Tomcat10_Java17-config」フォルダを開き、server.xmlを開きます。
 source属性の末尾がそのプロジェクト名になっているContextタグを探して、そのタグの中に書かれている「docBase」属性と「path」属性の値を、プロジェクト名に合わせて修正してください。

図 14.1.7 server.xmlの修正

 path属性だけでもアクセス可能になりますが、URLバーに表示されるコンテキスト名がコピー元と同じままになるので、今どのプロジェクトを触っているかわかりやすいように、docBase属性も直すことをお勧めします。
 確認して修正してもそれでも上手く起動しない時は、一度Eclipseを再起動してから、Tomcatの起動をやり直してみてください。
 他の②~⑤に関しては、次ページのエラー診断チャートを元に対象の手順を確認してみてください。
 もし、それぞれの対処法を試しても解決しない場合は、すぐに講師に質問してください。                                                                               

図 14.1.8 エラー診断チャート


NEXT>> 14.2 404エラーが発生した際の対処法