Spring 註解學習手札(一) 構建簡略Web使用 ide
Spring 註解學習手札(二) 操控層整理 學習
Spring 註解學習手札(三) 表單頁面處置 spa
Spring 註解學習手札(四) 持久層分析 日誌
Spring 註解學習手札(五) 事務層事務處置 orm
Spring 註解學習手札(六) 測驗 事務
Spring 註解學習手札(七) 補遺——@ResponseBody,@RequestBody,@PathVariable get
Spring 註解學習手札(八) 補遺——@ExceptionHandler it
直接上代碼: io
Java代碼 保藏代碼class
@Controller
public class AccessController {
/**
* 反常頁面操控
*
* @param runtimeException
* @return
* @頁面入口地址 http://www.metabase.cn
*/
@ExceptionHandler(RuntimeException.class)
public @ResponseBody
Map runtimeExceptionHandler(RuntimeException runtimeException) {
logger.error(runtimeException.getLocalizedMessage());
Map model = new TreeMap();
model.put("status", false);
return model;
}
}
當這個Controller中任何一個辦法發生反常,一定會被這個辦法阻攔到。而後,輸出日誌。封裝Map並回來,頁面上獲得status爲false。就這麼簡略。
或許這個有些有些複雜,來個簡略易懂的,上代碼:
Java代碼 保藏代碼
@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";
}
}