在我们应用系统的运行过程中,可能由于运行环境,用户操作不当,资源不足等各方面原因导致系统出现异常(HTTP状态异常、java代码异常等等);如果系统出现这些异常会通过浏览器呈现给用户,这种异常显示是没有必要的,因此我们可以在服务器进行特定的处理,即当系统呈现异常之后,呈现给用户一个统一的、可读的异常提示页面
目录
一、Http异常状态统一处理
Http异常处理可以使用<error-page>进行异常处理,在web.xml文件中中进行配置,但是这个方法不是由Springmvc提供的,而是所有web工程(Servlet)提供的异常处理机制。例如下列代码:如果页面出现404的时候,就会跳转到一个专门处理404异常的提示页面
<!--异常处理-->
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
二、springMvc处理
springMvc处理异常是基于Servlet-api的处理,在web.xml文件中中进行配置,处理方式与上面处理方式大致相同,可以处理异常(空指针异常,数据转换异常等)
<!--springmvc异常处理-->
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>三、springmvc处理统一异常
新建一个类,在类头上使用@controllerAdvice注解,在类中声明方法,在方法上使用注解@ExceptionHandle()声明这是一个处理什么异常的方法,在当前类下,可以声明多个方法,以此进行不同的异常
package com.xgsm.Util;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
@ControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler(NullPointerException.class)
public String nullhandler(){//处理空指针异常
return "error";
}
@ExceptionHandler(NumberFormatException.class)
public String NumberHandle(){//处理NumberFormatException
return "error";
}
}
版权声明:本文为weixin_45295447原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。