我在我的应用程序中使用 Spring SimpleMappingExceptionResolver
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<map>
<entry key="Exception" value="error.htm"/>
</map>
</property>
<property name="defaultErrorView" value="error.htm" />
</bean>
我的错误处理程序也很简单
@Controller
@RequestMapping("error.htm")
public class ErrorController {
@RequestMapping(method = RequestMethod.GET)
public ModelAndView getErrorReport(HttpServletRequest request) {
return new ModelAndView("/WEB-INF/jsp/error.jsp");
}
@RequestMapping(method = RequestMethod.POST)
public ModelAndView getErrorPostReport(HttpServletRequest request,HttpServletResponse response) {
TreeMap<String,Object> map=new TreeMap<String,Object>();
map.put("isDataChange", true);
map.put("isBigError", true);
return new ModelAndView(JSONView.RenderObject(map, response));
}
}
如何在我的错误控制器中打印异常消息和异常堆栈跟踪(或通过电子邮件发送)?
提前致谢
更新
谢谢回复。我想在 jsp 和控制台中打印堆栈跟踪。我还希望访问 ErrorController 本身中的对象,以便我可以将该信息用于电子邮件日志(因为某些调用是基于 ajax 的(它们使用 POST),error.jsp 在那里将没有用,所以我需要一些方法来访问该信息在控制器本身)。