SpringMvc---异常处理

SpringMvc---异常处理

介绍

SringMvc提供了异常处理机制,相当于是Web阶段学习的异常处理跳转至指定页面。在SpringMvc中可以在配置文件中注册SimpleMappingExceptionResolver指定在出现什么异常就跳转到指定页面。

使用(配置文件)

首先注册SimpleMappingExceptionResolver,使用property标签为属性exceptionMappings【错误映射注入】,在里面用pros标签里的pro标签声明每一个可能碰见的错误的类型以及返回的视图名。

pro标签中 key值是可能出现的错误,标签对之间是返回的视图名,视图自己建,不写前缀就是视图控制器中的前缀,写了前缀就会去指定的前缀目录下找。

再使用一个property标签将错误的内容装进请求域中,在页面返回错误信息

    
    
        
            
                error
            
        

        
    

html页面中


出错了

返回首页

使用(基于注解)

使用@ControllerAdvice注解生命异常处理类,在类中用@ExceptionHandler注解声明处理异常的方法,注解的参数就是可能出现的class类型的异常,最后返回视图名。

实际上也是一个controller

//使用@ControllerAdvice注解标识一个类,声明这个类是异常处理类
@ControllerAdvice
public class ExceptionController {
​
//    标注异常处理器的处理方法,里面的参数是可能出现的class类型的异常
    @ExceptionHandler({ArithmeticException.class,NullPointerException.class})
    public String testException(Model model,Exception e){
        model.addAttribute("ex",e);
        return "error";
    }
​
}

你可能感兴趣的:(SpringMvc,springmvc,spring,java)