1.异常处理思路
Controller 调用 service,service 调用 dao,异常都是向上抛出的,最终由 DispatcherServlet 找异常处理器进行异常的处理。
2.SpringMVC的异常处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public class SysException extends Exception{ private static final long serialVersionUID = 4055945147128016300L; private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public SysException(String message) { this.message = message; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
public class SysExceptionResolver implements HandlerExceptionResolver{
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,Exception ex) { ex.printStackTrace(); SysException e = null; if(ex instanceof SysException) { e = (SysException) ex; }else { e = new SysException("请联系管理员"); } ModelAndView mv = new ModelAndView(); mv.addObject("message", e.getMessage()); mv.setViewName("error"); return mv; } }
|
1 2
| <bean id="sysExceptionResolver" class="cn.itcast.exception.SysExceptionResolver"/>
|