地元の異常を扱うspringmvcグローバル例外と

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}例外情報をスローします。

 

おすすめ

転載: www.cnblogs.com/yanguobin/p/11666523.html