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

Sprng MVC异常处理总结

2016-04-16 14:22 483 查看
异常处理
Spring MVC提供了两种方法来实现异常处理

1)集成HandlerExceptionResolver接口,实现自己处理异常的方法,如:

public class MyHandlerExceptionResolver implements HandlerExceptionResolver {     

    @Override  

    public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {   

// TODO Auto-generated method stub   

        return new ModelAndView("exception");   

    }   

}

然后将这个配置到配置文件中:

<bean id="exceptionResolver" class="所在包名.MyHandlerExceptionResolver"/>

OK,这样就可以了

2)可以借助注解@Exception来实现零配置的异常捕捉和处理

首先,建立一个父类Controller

public abstract class BaseController {  

    @ExceptionHandler

    public String exception(HttpServletRequest request, Exception e) {            

      //添加自己的异常处理逻辑,如日志记录   

        request.setAttribute("exceptionMessage", e.getMessage());            

        // 根据不同的异常类型进行不同处理

        if(e instanceof SQLException) 

            return "testerror";   

        else

            return "error";  

    }      

}

修改之前写过的HelloWorldController,让他继承BaseController

@Controller

@RequestMapping(value="/exception")

public class HelloWorldController extends BaseController{

    @RequestMapping(value="/hello")
public ModelAndView hello() throws SQLException{
// TODO Auto-generated method stub
    throw new SQLException("数据库异常");
}

}

写一个视图来显示信息

。。。

<body>

    ${exceptionMessage}

</body>

。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc 异常处理