一:前后端不分离
1.src/main/java下创建异常包,新增需要的异常类,继承Exception
2.添加空参和单参的构造方法就可以(给出提示信息就好了)
3.创建全局异常处理类,该类使用@ControllerAdvice注解,该类里面是遇到自定义异常后的处理方法,方法使用@EcceptionHandler注解,示例如下
package com.zhao.exception;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(NeedNotEnoughException.class)
public ModelAndView needNotEnoughExceptionHandler(NeedNotEnoughException e ){
String message = e.getMessage();
ModelAndView mv = new ModelAndView();
mv.addObject("emessage",message);
mv.setViewName("500");//500是自定义的异常页面,在springmvc配置文件中定义 前后缀
return mv;
}
}
4.在springmvc配置文件中进行包扫描,(需要为全局异常类创建对象,才能使用)
<context:component-scan base-package="com.zhao.controller"/>
<context:component-scan base-package="com.zhao.exception"/>
5.在需要抛出异常的地方抛出异常(数据库增删改事务中出现异常才会回滚,所以要抛出异常)
6,运行
----------------------------------------------------------------------------------------------------------------------------
补充:
二:前后端分离
前后段分离的全局异常处理