springmvc17
2021-08-15 12:58
标签:控制器 err 多个参数 str 发送 用户 class springmvc 范围 下面创建一个GlobalExceptionHandler.java,作为 全局异常处理类 1、@ControllerAdvice控制器增强 (可以理解为:增加控制器功能),放在类上面特点:必须让框架知道这个注解所在的包名,需要在springmvc配置文件声明 组件扫描器指定 @ControllerAdvice 所在的全局异常处理类包名1234 2、@ExceptionHandler@ExceptionHandler(异常的class):表示异常的类型,当发生此类型的异常时,由当前方法处理。放在方法上面 处理异常的方法和控制器方法的定义一样,可以有多个参数,可以有ModelAndView,String,void,对象类型的返回值形参:Exception,表示Controller中抛出的异常对象,通过形参可以获取发送的异常信息1234 GlobalExceptionHandler.java //@ControllerAdvice 增强控制器@ControllerAdvicepublic class GlobalExceptionHandler { //处理NameException异常 @ExceptionHandler(value = NameException.class) public ModelAndView doNameException(Exception exception){ ModelAndView mv = new ModelAndView(); mv.addObject("msg","用户名必须是zs,其他用户不能访问"); mv.addObject("ex",exception); //指定视图 mv.setViewName("nameError"); return mv; } //处理AgeException异常 @ExceptionHandler(value = AgeException.class) public ModelAndView doAgeException(Exception exception){ ModelAndView mv = new ModelAndView(); mv.addObject("msg","年龄输入范围有误"); mv.addObject("ex",exception); mv.setViewName("ageError"); return mv; } //处理NameException,AgeException以外的,不知类型的异常 @ExceptionHandler public ModelAndView doOtherException(Exception exception){ ModelAndView mv = new ModelAndView(); mv.addObject("msg","其他不知类型的异常"); //指定视图 mv.setViewName("defaultError"); return mv; }}springmvc17标签:控制器 err 多个参数 str 发送 用户 class springmvc 范围 原文地址:https://www.cnblogs.com/huaobin/p/14908582.html