您的位置:首页 > 编程语言 > Java开发

springmvc全局异常处理

2016-10-26 17:08 579 查看
在项目当中我们免不了会遇到一些异常,但是又不想在遇到异常时自己处理一次,那就需要们的公共异常处理类HandlerExceptionResolver 

自己编写异常处理类实现[b]HandlerExceptionResolver 内的[/b]resolveException()方法;大致步骤如下

1:针对接口项目返回json数据

首先需要在web.xml内配置

<bean id="exceptionResolver" class="com.*.*.web.SimpleJSONExceptionResolver"/>

其次实现该异常处理类

public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,  Exception ex) {
ModelAndView mv = new ModelAndView();
/*  使用response返回    */
response.setStatus(HttpStatus.OK.value()); //设置状态码
response.setContentType(""); //设置ContentType
response.setCharacterEncoding("UTF-8"); //避免乱码
response.setHeader("Cache-Control", "no-cache, must-revalidate");
try {
response.getWriter().write("{\"success\":false,\"msg\":\"" + ex.getMessage() + "\"}");
} catch (IOException e) {
LOGGER.error("与客户端通讯异常:"+ e.getMessage(), e);
}

LOGGER.debug("异常:" + ex.getMessage(), ex);
return mv;
}
2.针对web项目
首先写mvc-web.xml

<bean id="exceptionResolver" class="com.*.*.web.SimpleJSONExceptionResolver"/>
其次异常处理类【根据业务异常进行处理,返回对应的错误页面】
web.xml
<!-- web异常页面处理 -->  
<error-page>  
    <exception-type>java.lang.Throwable</exception-type>  
    <location>/error_500</location>  
</error-page>  
<error-page>  
    <exception-type>java.lang.Exception</exception-type>  
    <location>/error_404</location>  
</error-page>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: