springMvc 自定义错误处理--HandlerExceptionResolver

来源:互联网 发布:徽章制作软件app 编辑:程序博客网 时间:2024/05/01 18:18

springMVC自定义错误处理主要是实现HandlerExceptionResolver这个接口来实现,里面方法public ModelAndView resolveException();

那么想做一个统一错误处理页面,直接在这个方法写上就可以了,实现例子如下:

package com.cwh.springmvc.Exception;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework.web.servlet.ModelAndView;public class CommonExceptionResolver implements HandlerExceptionResolver {private static final Log log = LogFactory.getLog(CommonExceptionResolver.class);@Overridepublic ModelAndView resolveException(HttpServletRequest arg0,HttpServletResponse arg1, Object arg2, Exception arg3) {log.info(arg3);arg3.printStackTrace();ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("message",arg3.getMessage());modelAndView.setViewName("error");return modelAndView;}}
我做的统一处理页面为error.jsp这个页面,页面简单打印一下错误message:

<body>    This is a error page. <br>${message }  </body>

然后再springmvc的配置文件上加上这个异常处理的ybean:

<!-- 全局异常处理类 -->  <bean class="com.cwh.springmvc.Exception.CommonExceptionResolver"/>
接下来在代码中随便抛个错误:

 if(1 ==1)throw new Exception("this is a commonExceptionResolver");
运行结果如下:








0 0
原创粉丝点击