0

私はいくつかのクラスを持つ春のプロジェクトに取り組んでいます。現在、そのプロジェクトのコードは標準に準拠していません。そのため、どのクラスにも try catch ブロックが定義されていません。web.xml に次のマッピングがあります

<error-page>
    <exception-code>404</exception-type>
    <location>/error.do</location>
</error-page>

/error.do はコントローラにマップされ、そこから汎用エラー ビューに転送されます。さて、私の例外のスタックトレースを取得することは可能でしょうか? 私の唯一の要件は、そのエラーハンドラーで例外の詳細を取得することです-クラス名、メソッド名、スタックトレースで利用できると感じた例外メッセージなどの例外が発生した場所。この問題文をどのように進めるか考えていますか?

4

1 に答える 1

0

はい、できます。Spring は@ExceptionHandlerアノテーションを提供します。そのため、コントローラーに 1 つのメソッドを次のように記述します。

@ExceptionHandler(YourException.class)
public ModelAndView handleYourException(YourException ex, HttpServletRequest request) {
    mav = new ModelAndView();
    mav.addObject("exception", exception);
    mav.setViewName("YourException Page");
    return mav;
}

あなたが私の主張を理解してくれることを願っています。

于 2013-03-15T13:14:32.867 に答える