Spring MVC 全局的异常处理
Spring异常处理配置 http://panyongzheng.iteye.com/blog/2208146
spring基于注解的全局异常处理方式 http://panyongzheng.iteye.com/blog/2067110
使用Spring MVC统一异常处理实战 http://panyongzheng.iteye.com/blog/2213655
怎么在Spring Controller里面返回404 http://jaskey.github.io/blog/2014/09/27/how-to-return-404-in-spring-controller/
java的异常处理-注解方式 http://my.oschina.net/wnjustdoit/blog/603428
1、使用SimpleMappingExceptionResolver实现异常处理
在Spring的配置文件applicationContext.xml中增加以下内容:
注:使用SimpleMappingExceptionResolver进行异常处理,具有集成简单、有良好的扩展性、对已有代码没有入侵性等优点,但该方法仅能获取到异常信息,若在出现异常时,对需要获取除异常以外的数据的情况不适用。
2、 实现HandlerExceptionResolver 接口自定义异常处理器
增加HandlerExceptionResolver 接口的实现类MyExceptionHandler,代码如下:
在Spring的配置文件applicationContext.xml中增加以下内容:
注:使用实现HandlerExceptionResolver接口的异常处理器进行异常处理,具有集成简单、有良好的扩展性、对已有代码没有入侵性等优点,同时,在异常处理时能获取导致出现异常的对象,有利于提供更详细的异常处理信息。
3 、使用@ExceptionHandler注解实现异常处理
增加BaseController类,并在类中使用@ExceptionHandler注解声明异常处理,代码如下:
以下代码来判断是否是ajax方式, 一个权限的异常处理
修改代码,使所有需要异常处理的Controller都继承该类,
注:使用@ExceptionHandler注解实现异常处理,具有集成简单、有扩展性好(只需要将要异常处理的Controller类继承于BaseController即可)、不需要附加Spring配置等优点,但该方法对已有代码存在入侵性(需要修改已有代码,使相关类继承于BaseController),在异常处理时不能获取除异常以外的数据。
4、未捕获异常的处理
修改web.xml文件,增加以下内容: