1

例外を処理するためのより良いアプローチは何かを知りたいです。私の Web プロジェクトには、Struts 2、Spring、および Hibernate が含まれています。

例外は、StrutsActionまたは Biz レイヤー、またはデータ レイヤーで発生する可能性があります。

各レイヤーで例外を処理するには?

4

1 に答える 1

0

Struts では、グローバルな例外処理を含む抽象的なデフォルト パッケージを定義することにより、(手動で処理したくない場合) フレームワークに委譲できる例外処理。

error_page.jspそして、この例外が発生したときにリダイレクトします。

Struts 2 および Hibernateでの例外処理にあるより詳細な説明:

通常の状況では、例外をキャッチしてログに記録し、再スローする必要があります。しかし、Struts2 では、デフォルトのアプリケーション インターセプター スタックを作成することで、キャッチされなかった例外を処理できました。

<interceptor-stack name="appDefaultStack">
 <interceptor-ref name="defaultStack">
   <param name="exception.logEnabled">true</param>
   <param name="exception.logLevel">ERROR</param>
 </interceptor-ref>
</interceptor-stack>

このアプリケーションによって捕捉されなかった例外はログに記録され、グローバル例外マッピングによって処理されます

<global-exception-mappings>
  <exception-mapping exception="java.lang.Exception" result="error"/>
</global-exception-mappings> >
<global-results>
  <result name="error">/error_page.jsp</result>
</global-results>

Struts 2 で他のアクションから単一のアクションにグローバルに例外を渡す方法を参照 してください。

于 2013-03-30T14:48:14.443 に答える