HandlerExceptionResolverによってspringmvcは、プロセッサ例外を含む異常な異常のデータを結合、例外ハンドラ(インタフェースはバネwebmvc依存である)が発生し、プロセッサによって実行されます。HandlerExceptionResolverのみ1つのインターフェース方法は、次のように
例外が発生すると、SpringMVCはresolverException()メソッド、およびユーザへの例外処理レポートページフィードバックとして、ビューに対応するのModelAndViewを呼び出します。
ローカル例外処理
ローカルコントローラはexceptionHandlerのは、複数の例外を指定することができる@、実装(スプリングウェブ依存性で)@ExceptionHandlerアノテーションを使用して、唯一の指定された異常を処理することができる例外処理は、次のように
@RequestMapping(値= "exlogin.html"、メソッド= RequestMethod.GET) パブリック文字列exLogin(@RequestParam文字列ユーザーコード、@RequestParamストリングのuserPassword){ ユーザーユーザー = userService.selectUserByUserCodeAndUserPassword(ユーザーコード、のuserPassword)。 場合(ヌル == ユーザー){ スロー 新しい( "!用户名或者密码不正确"のRuntimeExceptionを)。 } 戻り「リダイレクト:/user/main.htmlを」。 } @ExceptionHandler({のRuntimeException。 クラス}) パブリック文字列handlerException(のRuntimeException電子、HttpServletRequestのリクエスト){ request.setAttribute( "E"、E); リターン「エラー」 ; }
例外処理handlerException()において、異常に提示情報HttpServletRequestオブジェクト
$ {e.message}に対応する表示ページの出力異常情報、異常情報の出力をカスタマイズします
グローバル例外ハンドラ
SimpleMappingExceptionResolverグローバル例外ハンドラを達成するために使用することができます。それすなわち、例外が発生し、対応するビューレポートの例外を使用して、名前を表示するためにマップされた例外クラス。その後springmvc-servlet.xmlのグローバルな例外を設定します。
<豆のクラス = "org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<プロパティ名= "exceptionMappings">
<小道具>
<支えるキー= "java.lang.RuntimeException">エラー</小道具>
</小道具>
</ property>の
</豆>
コントローラは、指定した場合RuntimeExceptionは、異常情報をエラー・ビューを表示し使用生じます。もちろん、異常複数の<小道具>タグ内にカスタマイズすることができます。
error.jspメッセージ表示ページは、に変更される$ {exception.message}例外情報をスローします。