页面处理异常处理方法:
方法一:@ControllerAdvice + @ExceptionHandler
@ControllerAdvice
public class MyExceptionController {
@ExceptionHandler(value={Exception.class})
public ModelAndView excepationHadler(Exception ex){
ModelAndView mv = new ModelAndView();
StringWriter writer = new StringWriter();
PrintWriter s = new PrintWriter(writer);
ex.printStackTrace(s);
mv.addObject("exception",writer.toString());
mv.setViewName("error");
return mv;
}
}
更多信息抛出业务异常参考:https://blog.csdn.net/kinginblue/article/details/70186586
方法二:SimpleMappingExceptionResolver,采用spring-mvc 自带的异常处理,需要在xml配置bean注入。
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="java.lang.NullPointerException">error</prop>
</props>
</property>
</bean>
方法三:继承HandlerExceptionResolver +配置自定义实现的类
public class MyExcetionHandler implements HandlerExceptionResolver{
@Override
public ModelAndView resolveException(HttpServletRequest httpservletrequest,
HttpServletResponse httpservletresponse, Object obj,
Exception exception) {
ModelAndView mv = new ModelAndView();
StringWriter writer = new StringWriter();
PrintWriter s = new PrintWriter(writer);
exception.printStackTrace(s);
mv.addObject("exception",writer.toString());
mv.setViewName("error");
return mv;
}
}
<bean class="com.mobile263.exception.MyExcetionHandler"></bean>