Spring MVC总结3 - @ControllerAdvice详解

带有@ResponseStatus注解的异常类会被ResponseStatusExceptionResolver 解析。

可以实现自定义的一些异常,同时在页面上进行显示。具体的使用方法如下:

1.首先定义一个异常类:

@ResponseStatus(value = HttpStatus.FORBIDDEN,reason = "用户名和密码不匹配!")
public class UserNameNotMatchPasswordException extends RuntimeException{
        
}

2.人为抛出一个异常:

@RequestMapping("/testResponseStatusExceptionResolver")
public String testResponseStatusExceptionResolver(@RequestParam("i") int i){
        if (i==13){
            throw new UserNameNotMatchPasswordException();
        }
        System.out.println("testResponseStatusExceptionResolver....");
        return "success";
}

3.输入如下额路径:

http://localhost:8080/testResponseStatusExceptionResolver?i=13

当然,也可以在方法上进行修饰:

@ResponseStatus(reason = "测试",value = HttpStatus.NOT_FOUND)
@RequestMapping("/testResponseStatusExceptionResolver")
public String testResponseStatusExceptionResolver(@RequestParam("i") int i){
    if (i==13){
        throw new UserNameNotMatchPasswordException();
    }
    System.out.println("testResponseStatusExceptionResolver....");
    return "success";
}
经验分享 程序员 微信小程序 职场和发展