直接上代码:
当这个Controller中任何一个方法发生异常,一定会被这个方法拦截到。然后,输出日志。封装Map并返回,页面上得到status为false。就这么简单。
或者这个有些有些复杂,来个简单易懂的,上代码:
- @Controller
- public class AccessController {
- /**
- * 异常页面控制
- *
- * @param runtimeException
- * @return
- */
- @ExceptionHandler(RuntimeException.class)
- public @ResponseBody
- Map<String,Object> runtimeExceptionHandler(RuntimeException runtimeException) {
- logger.error(runtimeException.getLocalizedMessage());
- Map model = new TreeMap();
- model.put("status", false);
- return model;
- }
- }
当这个Controller中任何一个方法发生异常,一定会被这个方法拦截到。然后,输出日志。封装Map并返回,页面上得到status为false。就这么简单。
或者这个有些有些复杂,来个简单易懂的,上代码:
- @Controller
- public class AccessController {
- /**
- * 异常页面控制
- *
- * @param runtimeException
- * @return
- */
- @ExceptionHandler(RuntimeException.class)
- public String runtimeExceptionHandler(RuntimeException runtimeException,
- ModelMap modelMap) {
- logger.error(runtimeException.getLocalizedMessage());
- modelMap.put("status", IntegralConstant.FAIL_STATUS);
- return "exception";
- }
- }