ControllerAdvice是一個加強的 Controller註解
全局處理異常的: @ControllerAdvice: 包含@Component。能夠被掃描到。 統一處理異常。html
@ExceptionHandler(Exception.class): 用在方法上面表示遇到這個異常就執行如下方法。java
/** * 全局異常處理 */
@ControllerAdvice
class GlobalDefaultExceptionHandler {
public static final String DEFAULT_ERROR_VIEW = "error";
@ExceptionHandler({TypeMismatchException.class,NumberFormatException.class})
public ModelAndView formatErrorHandler(HttpServletRequest req, Exception e) throws Exception {
ModelAndView mav = new ModelAndView();
mav.addObject("error","參數類型錯誤");
mav.addObject("exception", e);
mav.addObject("url", RequestUtils.getCompleteRequestUrl(req));
mav.addObject("timestamp", new Date());
mav.setViewName(DEFAULT_ERROR_VIEW);
return mav;
}}
複製代碼
Web項目沒法訪問resources/templates/xxx.html文件
分析緣由:沒有導入相關模板的依賴url