tomcat报错通常会通过defaultHandlerExpectionResolver跳到一个tomcat的报错页面
如果想要跳自己想要的错误页面就需要使用异常处理
前端:
一.在对应请求方法类使用ExceptionHandler注解(只能处理一个类的报错)
excepionHandler注解可以创建一个异常处理的类,在类中可以进行页面报错后的页面跳转和数据传输
后台:
value内填写对应的报错类,可以填写多个,中间用逗号隔开,exception会接收对应的报错信息通过modelandview发送给页面
结果
注意
当一个类中存在多个异常处理方法,报错时谁value中的错误定义更精确就会使用谁的异常处理方法
例如:
当空指针异常发生时,一个类有2个异常处理方法,一个的value是NullPointerException,一个是Exception,那就会进入NullPointerException的方法中
二.使用全局的异常处理(controlleradvice注解)
创建一个全局异常处理类,使用controlleradvice注解标注,这样springmvc会把这个类注册成异常处理类
后台:
注意
当全局的异常处理和本类的异常处理同时存在时,一个符合两个异常处理的异常,本类的异常处理会优先执行
ResponseStatus
如果你懒得做页面,想要让自己的自定义异常改变tomcat异常页面的报错信息,可以使用ResponseStatus注解实现
自定义异常,reason是异常信息,value 是故障码
请求方法
结果