我在SimpleMappingExceptionResolver中覆盖resolveException,以便发送一个包含stacktrace的电子邮件,该电子邮件适用于500个错误,但400错误未到达此方法. (没有堆栈跟踪要发送,但我还是想发送一封电子邮件并显示一个不错的错误页面.) 有没有办法做到这一点,还是我应该配置我的web.xml来处理400(和类似)? 我想你会发现这个答案很有帮助:
我在SimpleMappingExceptionResolver中覆盖resolveException,以便发送一个包含stacktrace的电子邮件,该电子邮件适用于500个错误,但400错误未到达此方法. (没有堆栈跟踪要发送,但我还是想发送一封电子邮件并显示一个不错的错误页面.)
有没有办法做到这一点,还是我应该配置我的web.xml来处理400(和类似)?
我想你会发现这个答案很有帮助:
Spring SimpleMappingExceptionResolver not going to default view
TL; DR Spring ExceptionResolvers不处理所有异常,只处理控制器抛出的异常.当Spring无法转换映射控制器的提交数据时,可能会抛出“400 – 错误请求”,并且您抛出的异常将永远不会被您的ExceptionHandler看到.
您的web.xml解决方案应该可以很好地工作.
精彩评论