1、异常处理的思路
- Controller调用Service,Service调用Dao,异常都是向上抛出的,最终由DispatcherServlet找异常处理器进行异常的处理。
2、SpringMVC的异常处理
-
编写自定义异常类(做提示信息的)
/** * 自定义的异常类 * Create by ljc on 2019/11/4 */ public class SysException extends Exception { // 异常提示信息 private String message; @Override public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public SysException(String message) { this.message = message; } }
-
编写异常处理器
public class SysExceptionResolver implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { //获取到异常对象 SysException e = null; if (ex instanceof SysException) { e = (SysException) ex; } else { e = new SysException("系统正在维护"); } //创建ModelAndView对象 ModelAndView mv = new ModelAndView(); mv.addObject("errorMsg", e); mv.setViewName("error"); return mv; } }
-
配置异常处理器(跳转到提示页面)
在springmvc.xml文件中配置:
<!--配置异常处理器--> <bean id="sysExceptionResolver" class="com.lin.excepion.SysExceptionResolver"/>
也可以使用@Component的注解来实现。