Struts-2-struts-exception-handling
Struts 2-例外処理
Strutsは、「例外」インターセプターを使用することにより、例外処理を容易にします。 「例外」インターセプターはデフォルトスタックの一部として含まれているため、特別な設定を行う必要はありません。 すぐに使用でき、すぐに使用できます。
HelloWorldAction.javaファイルに変更を加えた簡単なHello Worldの例を見てみましょう。 ここでは、 HelloWorldAction アクションコードにNullPointer例外を意図的に導入しました。
次のように HelloWorld.jsp の内容を保持しましょう-
以下は index.jsp の内容です-
あなたの struts.xml は次のようになります-
次に、プロジェクト名を右クリックし、[エクスポート]> [WARファイル] をクリックして、WARファイルを作成します。 次に、このWARをTomcatのwebappsディレクトリにデプロイします。 最後に、Tomcatサーバーを起動して、URL *http://localhost:8080/HelloWorldStruts2/index.jsp にアクセスしてみます。 これにより、次の画面が生成されます-
値「Struts2」を入力して、ページを送信します。 次のページが表示されます-
上記の例に示されているように、デフォルトの例外インターセプターは例外を処理する上で素晴らしい仕事をします。
ここで、例外用の専用エラーページを作成しましょう。 次の内容で Error.jsp と呼ばれるファイルを作成します-
例外が発生した場合にこのエラーページを使用するようにStrutsを構成しましょう。 次のように struts.xml を変更しましょう-
上記の例に示すように、NullPointerException専用のError.jspを使用するようにStrutsを構成しました。 ここでプログラムを再実行すると、次の出力が表示されます-
これに加えて、Struts2フレームワークには、例外をログに記録するための「ロギング」インターセプターが付属しています。 ロガーがキャッチされなかった例外をログに記録できるようにすることで、スタックトレースを簡単に確認して、何が問題だったかを突き止めることができます。
グローバル例外マッピング
アクション固有の例外を処理する方法を見てきました。 すべてのアクションに適用される例外をグローバルに設定できます。 たとえば、同じNullPointerException例外をキャッチするには、<package …>タグ内に <global-exception-mappings …> タグを追加し、その<result …>タグを<action内に追加する必要があります…> struts.xmlファイルの次のタグ-