10,606
社区成员
发帖
与我相关
我的任务
分享
public class BusinessException extends RuntimeException {
private static final long serialVersionUID = 1L;
public BusinessException() {
super();
}
public BusinessException(String message, Throwable cause) {
super(message, cause);
}
public BusinessException(String message) {
super(message);
}
public BusinessException(Throwable cause) {
super(cause);
}
}
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
public class SystemExceptionResolver implements HandlerExceptionResolver{
private static org.slf4j.Logger logger = LoggerFactory.getLogger(SystemExceptionResolver.class);
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
Exception ex) {
BusinessException exception=null;
//如果抛出的是系统自定义的异常则直接转换
if(ex instanceof BusinessException) {
exception = (BusinessException) ex;
} else {
//如果抛出的不是系统自定义的异常则重新构造一个未知错误异常BusinessException
exception = new BusinessException("系统未知错误");
}
//向前台返回错误信息
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("exception", exception);
logger.info(exception.getMessage());
modelAndView.setViewName("/sysui/system/error");
return modelAndView;
}
}
<bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="atom" value="application/atom+xml" />
<entry key="html" value="text/html" />
<entry key="json" value="application/json" />
</map>
</property>
<property name="viewResolvers">
<list>
<bean
class="org.springframework.web.servlet.view.BeanNameViewResolver" />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/" />
<property name="suffix" value=".jsp" />
</bean>
</list>
</property>
<property name="defaultViews">
<list>
<bean
class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" />
</list>
</property>
</bean>
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8"></property>
<property name="maxUploadSize" value="10485760000"></property>
<property name="maxInMemorySize" value="40960"></property>
</bean>
<!-- 自定义的全局异常处理器 只要实现HandlerExceptionResolver接口就是全局异常处理器-->
<bean id="systemExceptionResolver" class="com.cicc.api.core.base.exception.SystemExceptionResolver"/>