その他のエラーが発生した際の対処法

14.5 その他のエラーが発生した際の対処法

 本節ではその他のエラーが発生した際の対処法とその手順を説明します。

14.5.1 真っ白なページが表示される

図 14.5.1 真っ白な画面に遷移している

 図のように画面遷移した際に真っ白なウェブページが表示されてしまう場合は、フォワード処理やout.println()メソッドの無い分岐に突入している可能性が高いです。
 デバッグ機能を使ってどこに流れているかを確認しつつ、以下の点について確認しましょう。

 ①フォワード処理が適切に記述されていない箇所がある
  サーブレットで行うフォワード処理の記述が不十分だと、真っ白なウェブページになります。
  遷移先URLを決めるgetRequestDispatcher()メソッドだけでなく、実際に画面遷移を行っているforward()メソッドまできちんと書かれているか、確認しましょう。

 ②catch句に入った後、どこにもフォワードしていない
  例外が発生した際に入るcatch句やその後に実行されるfinally句にフォワード処理やout.println()が記述されていない場合は真っ白なウェブページになります。仕様に沿ってcatch句かfinally句のどちらかにフォワード処理や文言を出力する処理を書いてあげましょう。一般的には、catch句はエラーメッセージの文言だけを決めて、フォワード処理はfinally句の中で記述することが多いです。

14.5.2 タブのアイコンが更新状態になったまま画面遷移しない

図 14.5.2 タブのアイコンが更新状態のまま変わらない

 図のようにリンクや送信ボタンをクリックした際に、ずっとアイコンが回転したままどこにも遷移しない場合は、画面遷移で経由するソースコードにブレークポイントがあって、デバッグ状態になっている可能性が高いです。
 一度Eclipseのウィンドウを開いて、ブレークポイントを解除してデバッグの再開ボタンを押せば、最後まで画面遷移できると思われます。

14.5.3 フォームの送信ボタンをクリックしても画面遷移しない

 入力フォームの送信ボタンをクリックしているのに、何も反応が無く、タブのアイコンも回転しない場合は、以下の原因が考えられますので、jspの記述内容を見返してみましょう。

 ①formタグにスペルミスがある、送信ボタンがformタグの内側に無い
  formタグや送信ボタンの記述にスペルミスがある場合は、画面遷移を行う送信ボタンだと認知されない為、画面遷移ができません。
  また、送信ボタンがformタグの外側にある場合も、画面遷移ができません。

 ②action属性に画面遷移先のURLが記載されていない
  もしスペルミスが無くても、formタグのaction属性に画面遷移先のURLが記述されていない場合は、送信ボタンをクリックすると自画面を再表示するので、画面表示しません。