JBuilder2005 実践的なJSPエラー処理 (4)
著者:Eve Cole
更新時間:2009-07-02 17:09:47
エラー処理ページ error.jsp
通常、Web アプリケーションには 1 つ以上の統合エラー処理 JSP ページがあり、機能する JSP ページでエラーが発生したときに、わかりやすい形式でユーザーにフィードバックを提供できます。フレンドリーで統一されたエラー ページは、Web プレゼンテーション層では無視できない側面です。
次に、エラー処理 error.jsp ファイルを作成します。そのコードは次のとおりです。
コード リスト 11 error.jsp エラー処理 JSP ページ
1. <%@page contentType="text/html; charset=GBK" isErrorPage="true" %> 2. <html> 3. <頭> 4. <タイトル>エラー</タイトル> 5. </頭> 6. <本文 bgcolor="#ffffff"> 7. システム例外が発生しました。<a href="login.jsp">ここ</a>をクリックしてホーム ページに戻ります。 8. </本文> 9. </html> |
エラー処理 JSP ページのページ ディレクティブ タグの isErrorPage 属性は、行 1 に示すように true に設定して、JSP ページで暗黙的な例外オブジェクトにアクセスできるようにする必要があります。 7 行目では、「エレガントな」方法でプログラム エラーをユーザーに報告し、ログイン ページに戻るリンクを提供します。
ここで、戻って、<%@ page errorPage="Error Handling JSP"%> を介して、error.jsp を switch.jsp と login.jsp のエラー処理ページとして指定しましょう。
エラー処理ページを switch.jsp ページに追加した後のコードは次のようになります。
コード リスト 12 switch.jsp はエラー処理 Jsp ページを追加します
1. <%@page contentType="text/html; charset=GBK" errorPage="error.jsp"%> 2. <%@page import="bookstore.*"%> 3. <%@page import="java.sql.*"%> 4.… |
エラー処理 JSP ページを login.jsp ページに追加した後のコードは次のようになります。
コード リスト 13 login.jsp はエラー処理ページを追加します
1. <%@page contentType="text/html; charset=GBK" errorPage="error.jsp"%> 2. <%@page errorPage="error_error.jsp"%> 3.… |
このように、switch.jsp の SQL クエリ ステートメントが正しくなく、SQLException がトリガーされると、不明瞭な例外トレース情報エラー ページが表示されなくなり、次のわかりやすいエラー ページに置き換えられます。
図 15 フレンドリーなエラー処理ページ |
ログイン失敗fail.jsp
ユーザーが間違ったパスワードを入力すると、switch.jsp は、fail.jsp ページにリダイレクトします。同様に、JSP ウィザードを使用して、fail.jsp ページを作成できます。
コード リスト 14 failed.jsp のログイン失敗ページ
1. <%@ page contentType="text/html; charset=GBK" errorPage="error.jsp" %> 2. <html> 3. <頭> 4. <タイトル> 5.失敗 6. </title> 7. </頭> 8. <本文 bgcolor="#ffffff"> 9. 入力したパスワードが間違っています。<a href="login.jsp">ここ</a>をクリックしてログイン ページに戻ります。 10. </本文> 11. </html> |
ユーザーが間違ったパスワードを入力すると、fail.jsp ページが次のように表示されます。
図 16fail.jsp ページの効果 |