**系统遇到异常时,在程序中手动抛出,dao抛给service,service再抛给Controller,最后Controller抛给前端控制器,前端控制器调用全局异常处理器**
import org.apache.shiro.authz.UnauthorizedException;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
public class CustomExceptionResolver implements HandlerExceptionResolver {
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
if(ex instanceof UnauthorizedException){
ModelAndView mv = new ModelAndView();
mv.setViewName("forward:/unauthorized.jsp");
return mv;
}else {
ModelAndView mv = new ModelAndView();
mv.setViewName("error");
mv.addObject("errorMsg","牛逼");
mv.addObject("ex",ex);
System.out.println(ex);
return mv;
}
}
}
来源:https://blog.csdn.net/wangtongxuexueit/article/details/102776779