現在、カスタム サーブレット フィルターを使用してすべての例外をキャッチするアプリケーションに取り組んでいます。
<filter-mapping>
<filter-name>ExceptionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
と
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
try {
chain.doFilter(request, response);
} catch (Throwable t) {
if (request instanceof HttpServletRequest) {
log.error(((HttpServletRequest) request).getRequestURL());
}
log.error("Exception:", t);
String path = "/error.do";
request.getRequestDispatcher(path).forward(request, response);
}
}
しばらく調査した結果、例外を処理してマッピングを表示する簡単な方法として SimpleMappingExceptionResolver が見つかりました。両方を使用することはできませんが、ある方法を他の方法よりも優先する理由はわかりません。
リゾルバーを使用してさまざまなエラーをさまざまなビューにマップする方が簡単であることは理解していますが、使用するエラー ビューは 1 つだけです。そのようなこと。
春の専門家の皆様、どうぞよろしくお願いいたします。