springMVC提供的异常处理主要有两种方式,一种是直接实现本身的HandlerExceptionResolver,另外一种是使用注解的方式实现一个专门用于处理异常的Controller——ExceptionHandler。java
一、实现本身的HandlerExceptionResolver,HandlerExceptionResolver是一个接 口,springMVC自己已经对其有了一个自身的实现——DefaultExceptionResolver,该解析器只是对其中的一些比较典型的异常 进行了拦截处理。web
上述的resolveException的第4个参数表示对哪一种类型的异常进行处理,若是想同时对多种异常进行处理,能够把它换成一个异常数组。spring
定义了这样一个异常处理器以后就要在applicationContext中定义这样一个bean对象,如:数组
二、使用@ExceptionHandler进行处理mvc
使用@ExceptionHandler进行处理有一个很差的地方是进行异常处理的方法必须与出错的方法在同一个Controller里面app
如:ide
这里在页面上访问test方法的时候就会报错,而拥有该test方法的Controller又拥有一个处理该异常的方法,这个时候处理异常的方法就会被调用post
当发生异常的时候,上述两种方式都使用了的时候,第一种方式会将第二种方式覆盖ui
http://gaojiewyh.iteye.com/blog/1297746this
最近使用spring mvc开发一个web系统,发如今controller里发生未捕获异常时不出日志。
分析DispatcherServlet,初始化handlerExceptionResolvers
分析DispatcherServlet,分发处理请求
http://fancyboy2050.iteye.com/blog/1300037
用spring mvc作了个项目,可是出现异常的状况下竟然没有日志输出,而后各类尝试。。。正如上面介绍的:设置日志输出级别,不定义则默认不输出警告等错误日志信息!!【固然,try catch的异常没问题】 敬请留意。