咱们常常会遇到一些设计的很差的应用,当出现一些未知异常时,就显示一个打印着错误堆栈的网页。看到这些错误堆栈信息每每用户都会一头雾水,咱们会抱怨这个设计实在太不友好了。并且错误堆栈信息因为暴露了后台方法的调用关系,对应用来讲这是有必定潜在风险的。虽然在web.xml中能够配置处理异常的jsp页面,但这个仍是远远不够的。SpringMVC对错误处理提供了更好的解决方案。web
在SpingMVC的web应用中,有两种处理异常的方法。一种是使用HandlerExceptionResolver接口;一种是在Controller类内部使用@ExceptionHandler注解。使用HandlerExceptionResolver接口能够实现全局异常控制,而且SpringMVC提供了一个默认的实现类SimpleMappingExceptionResolver。今天小博老师就给你们介绍一下该类的使用方法。spring
好比,咱们应用中定义了一个异常类BwfException,咱们但愿不管何时出现该异常就跳转到预约义的页面:/WEB-INF/views/error/BwfExceptionView.jsp。那么spring的配置文件的写法以下所示:app
defaultErrorView:定义默认的异常处理页面,当该没有注册对应的异常类型处理时使用。jsp
exceptionAttribute:定义异常处理页面用来获取异常对象的变量名,若是不设置,默认名为exception。设计
exceptionMappings:定义须要处理的异常,用类名或彻底路径名做为key,异常页面名做为value。code
注意:配置的异常界面均只包括主文件名,文件路径和后缀已经在viewResolver中指定。xml