/**
* @Title: ExceptionCustom.java
* @Description: 本地异常
* @author ChoviWu
* @version V1.0
*/
public class ExceptionCustom extends Exception{
/**
* @Fields serialVersionUID :
*/
private static final long serialVersionUID = 1L;
private String message;
/**
* @return the message
*/
public String getMessage() {
return message;
}
/**
* @param message the message to set
*/
public void setMessage(String message) {
this.message = message;
}
public ExceptionCustom() {
super();
// TODO Auto-generated constructor stub
}
public ExceptionCustom(String message) {
super(message);
this.message = message;
}
}
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
/**
* @Title: SimpleException.java
* @Description:全局异常处理器
* @author ChoviWu
* @version V1.0
*/
public class SimpleExceptionResolver implements HandlerExceptionResolver {
// 异常对象
ExceptionCustom exceptionCustom = null;
private Logger logger = Logger.getLogger(SimpleExceptionResolver.class
.getSimpleName());
/**
* 全局处理异常
*/
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
//转化为自定义异常
exceptionCustom = (ExceptionCustom) ex;
//判断是否是本地异常
if (ex instanceof ExceptionCustom) {
logger.info(ex.getMessage());
} else {
…抛出错误
}
//获取异常信息
String message = exceptionCustom.getMessage();
ModelAndView mv = new ModelAndView();
//将异常返回到Model
mv.addObject("xx", message);
// 指向错误页面
mv.setViewName("error");
return null;
}
}
if (ex instanceof ExceptionCustom) {
logger.info(ex.getMessage());
} else {
…抛出错误
}
<!-- 全局异常处理器 --> <bean id="handlerExceptionResolver" class = "xxxx(包名).SimpleExceptionResolver"/>
1SpringMVC 在org.springframework.web.servlet.DispatcherServlet类中声明了 public static final String HANDLER_EXCEPTION_RESOLVER_BEAN_NAME = "handlerExceptionResolver";
private void initHandlerExceptionResolvers(ApplicationContext context) {
this.handlerExceptionResolvers = null;
if (this.detectAllHandlerExceptionResolvers) {
// Find all HandlerExceptionResolvers in the ApplicationContext, including ancestor contexts.
Map<String, HandlerExceptionResolver> matchingBeans = BeanFactoryUtils
.beansOfTypeIncludingAncestors(context, HandlerExceptionResolver.class, true, false);
if (!matchingBeans.isEmpty()) {
this.handlerExceptionResolvers = new ArrayList<HandlerExceptionResolver>(matchingBeans.values());
// We keep HandlerExceptionResolvers in sorted order.
OrderComparator.sort(this.handlerExceptionResolvers);
}
}
else {
try {
HandlerExceptionResolver her =
context.getBean(HANDLER_EXCEPTION_RESOLVER_BEAN_NAME, HandlerExceptionResolver.class);
this.handlerExceptionResolvers = Collections.singletonList(her);
}
catch (NoSuchBeanDefinitionException ex) {
// Ignore, no HandlerExceptionResolver is fine too.
}
}
HandlerExceptionResolver her =context.getBean(HANDLER_EXCEPTION_RESOLVER_BEAN_NAME, HandlerExceptionResolver.class);
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有