package cn.ksource.web.exception;
|
|
import org.apache.log4j.Logger;
|
import org.springframework.web.servlet.HandlerExceptionResolver;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.PrintWriter;
|
import java.io.StringWriter;
|
|
/**
|
* 自定义异常处理
|
*
|
* @author zxl
|
*/
|
public class ExceptionHandler implements HandlerExceptionResolver {
|
|
private static Logger logger = org.apache.log4j.Logger.getLogger(ExceptionHandler.class);
|
|
public void setDefaultError(String defaultError) {
|
this.defaultError = defaultError;
|
}
|
|
|
private String defaultError;
|
|
@Override
|
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) {
|
//记录日志
|
StringWriter sw=new StringWriter();
|
PrintWriter pw=new PrintWriter(sw);
|
ex.printStackTrace(pw);
|
|
logger.error(sw.toString());
|
|
ModelAndView mView = new ModelAndView();
|
String viewName = defaultError;//系统程序异常
|
mView.setViewName(viewName);
|
mView.addObject("msg", ex.getMessage());
|
return mView;
|
}
|
|
}
|