springMVC异常处理

一、HandlerExceptionResolver
   spring HandlerExceptionResolvers 可以简化请求中,不被期望的异常出现的尴尬情况。HandlerExceptionResolvers有点类似可以自定义的异常映射。尽管如此,它提供了一个更加灵活的方式来处理异常。它提供捕获异常的处理器的信息。此外,还提供了一个可编程的异常处理方式,给予了我们更多的选择方式在一个请求被传递到其他URL之前去处理。
   此外,实现HandlerExceptionResolver接口,并实现其中的resolveException(Exception, Handler) 并返回一个ModelAndView。我们也可以使用SimpleMappingExceptionResolver类,这个类可以通过设置简单的异常名称和映射的错误页面。这样,功能上相当于Servlet API的异常映射功能 ,但它还提供了额外的细粒度的其他处理异常。
Exception HTTP      Status Code
ConversionNotSupportedException  500 (Internal Server Error)
HttpMediaTypeNotAcceptableException  406 (Not Acceptable)
HttpMediaTypeNotSupportedException  415 (Unsupported Media Type)
HttpMessageNotReadableException  400 (Bad Request)
HttpMessageNotWritableException  500 (Internal Server Error)
HttpRequestMethodNotSupportedException  405 (Method Not Allowed)
MissingServletRequestParameterException 400 (Bad Request)
NoSuchRequestHandlingMethodException  404 (Not Found)
TypeMismatchException    400 (Bad Request)

一个HandlerExceptionResolver 的替代方案是使用@ExceptionHandler 注解。我们可以在一个controller中使用@ExceptionHandler 注解的方法来指定当controller出现异常时调用那个方法来处理。
@Controller
public class SimpleController {

  // other controller method omitted

  @ExceptionHandler(IOException.class)
  public String handleIOException(IOException ex, HttpServletRequest request) {
    return ClassUtils.getShortName(ex.getClass());
  }
}
当java.io.IOException发生时,将会调用'handlerIOException' 方法。

--------------------------

如果你对java、swing、各种框架、javascript、css、linux、数据库编程等知识很感兴趣,或者正在从事这些工作,

欢迎加入我的qq技术交流群:java不瘸腿(219345774)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值