SpringMVC之全局异常管理

 

SpringMVC之全局异常管理_第1张图片在开发过程中一个项目可以要抛出很多很多的异常,这对于用户来说非常地不方便,而且非常地不安全,特别容易导致用户信息地泄露。在SpringMVC中有一种全局异常管理方法,这种方法收集项目中存在所有地异常,以保证项目正常地运行并且不会出现差错。

 

注意:本次博客使用的案例还是通过文件上传为基础案例,来演示全局异常管理。

文件上传讲解如果有疑惑的地方可以去了解

定义一个类:实现项目中全局异常管理

package exception;


import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;

@ControllerAdvice  //增强的controller类,多用于全局数据地处理
public class CT_Exception {
    @ExceptionHandler(Exception.class)   //异常处理注解:参数为各种异常类,Exception.class是异常的父类,是所有异常的集合,如果参数定义为它,它可以接收项目中的所有的异常,无论哪种异常都可以进行管理
    public ModelAndView exception(Exception e){          
        ModelAndView modelAndView = new ModelAndView("error");
        modelAndView.addObject("error",e.getMessage());
        return modelAndView;
    }

}

创建一个Html文件来,将后端的异常问题打印在前端显示器上



    Title


出错了

出错原因:${error}

配置SpringMVC的配置文件,配置文件上传的大小不能超过1KB




    
    
    
    

    
    
        
    
    
        
        
    

关于框架中的控制器,web.xml 和pomxml中的配置与上面哪个链接中配置相同,如果不会可以去了解以下

项目展示:

SpringMVC之全局异常管理_第2张图片

选中一个大于1KB的文件,点击提交 

85d7d1b68a634c9087bdb167300704de.png

 显示出错的原因,是因为文件大于1KB导致报错,这就是全局异常管理

 

注意:我们不光把异常管理设置成全局异常管理,我们还可以设置单一的异常管理,只需要将前边创建的异常管理的类中的参数修改以下即可

package exception;


import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;

@ControllerAdvice  //增强的controller类,多用于全局数据地处理
public class CT_Exception {
    @ExceptionHandler(Exception.class)   //异常处理注解:参数为各种异常类,Exception.class是异常的父类,是所有异常的集合,如果参数定义为它,它可以接收项目中的所有的异常,无论哪种异常都可以进行管理
    public ModelAndView exception(Exception e){          
        ModelAndView modelAndView = new ModelAndView("error");
        modelAndView.addObject("error",e.getMessage());
        return modelAndView;
    }

}

其中 @ExceptionHandler(Exception.class) 为定义显示异常的参数因素,可以修改其中的异常类型,但是有一点注意,我们修改参数类型,那么只有当项目中出现与定义的参数类型一致的异常才会显示出来,当出现其他的异常则不会被这个异常管理类所侦测到。

 

你可能感兴趣的:(SpringMVC,小白学基础,java,servlet,mvc,Exception,后端)