SpringMVC使用继承HandlerExceptionResolver方式完成全局异常监听
配置springmvc.xml
<!-- springMVC的异常处理器 -->
<bean id="handlerExceptionResolver" class="*.*.*.exception.ExceptionResolver"></bean>
id为必填项,且必须为handlerExceptionResolver!!!
class为方法体位置
配置web.xml
<!-- 配置SpringMVC -->
<servlet>
<servlet-name>*</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!-- 屏蔽springmvc自动注册的异常处理器 -->
<init-param>
<param-name>detectAllHandlerExceptionResolvers</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
需要屏蔽掉springmvc默认的异常处理器!!!
测试方法体
public class ExceptionResolver implements HandlerExceptionResolver {
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response,
Object object,Exception e) {
ModelAndView mav = new ModelAndView();
System.out.println("异常出现!");
return mav;
}
}
返回ModelAndView类型,类名与springmvc.xml中注册的保持一致!