--在程序运行中如果某个地方出错的话,该怎么办呢?当处理请求的时候,抛出异常该怎么处理呢?如果发生了这样的情况,该给客户端什么响应呢?
不管发生什么事情,不管是好的还是坏的,Servlet请求的输出都是一个Servlet的响应。
如果在请求处理的时候,出现了异常,那它的输出依然会是Servlet响应。异常必须要以某种方式转换为响应。
2)异常上可以添加@ResoonseStatus注解,从而将其映射为某一个HTTP状态码;
3)在方法上可以添加@ExceptionHandler注解,使其用来处理异常;
处理异常的最简单方式就是将其映射到HTTP状态码上,进而放到响应之中。
不管发生什么事情,不管是好的还是坏的,Servlet请求的输出都是一个Servlet的响应。
如果在请求处理的时候,出现了异常,那它的输出依然会是Servlet响应。异常必须要以某种方式转换为响应。
一:Spring提供了多种方式将异常转换为响应:
1)特定的Spring异常将会自动映射为指定的HTTP状态码;2)异常上可以添加@ResoonseStatus注解,从而将其映射为某一个HTTP状态码;
3)在方法上可以添加@ExceptionHandler注解,使其用来处理异常;
处理异常的最简单方式就是将其映射到HTTP状态码上,进而放到响应之中。
二:异常状态码
1)400 - Bad Request 请求错误
--TypeMismatchException、BindException、HttpMessageNotReadableException、MethodArgumentNotValidException、MissingServletRequestParameterException、
MissingServletRequestPartException。
2)500 - Internal Server Error 内部服务器错误
--ConversionNotSupportedException、HttpMessageNotWritableException。
3)404 - Not Found 找不到页面
--NoSuchRequestHandlingMethException
4)406 - Not Acceptable 请求不接受
--HttpMediaTypeNotAcceptableException
5)415 - Unsupported Media Type 不支持的媒介类型
--HttpMediaTypeNotSupportedException
6)405 - Mehtod Not Allowed 方法不被允许--HttpMessageMethodNotSupportedException