その他のエラーが発生した際の対処法
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が記述されていない場合は、送信ボタンをクリックすると自画面を再表示するので、画面表示しません。