JavaWeb学习之路——SpringBoot 中几种异常处理方法(四)
生活随笔
收集整理的這篇文章主要介紹了
JavaWeb学习之路——SpringBoot 中几种异常处理方法(四)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Spring?Boot(三)
錯誤處理
1.自定義處理異常,返回指定界面
controller出現錯誤的方法中:
@RequestMapping("/error")public String error() {String str=null;str.length();return "test";}自定義錯誤頁面.html中:
<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head><meta charset="UTF-8"><title>Title</title></head><body>出錯了<span th:text="${error}"></span></body></html>?
2.捕獲異常,ExceptionHandler?處理方法
方法中出現異常
@RequestMapping("/error")public String error() {String str=null;str.length();return "test";}1)Handler處理器ExceptionHandler捕獲指定異常
@ExceptionHandler(value = {java.lang.NullPointerException.class})public ModelAndView excuteException(Exception e){ModelAndView mv=new ModelAndView();mv.addObject("error",e.toString());mv.setViewName("error1");return mv;}?
2)跳轉至error1視圖
<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head><meta charset="UTF-8"><title>Title</title></head><body>error1界面<span th:text="${error}"></span></body></html>?
3.全局異常處理——SimpleMappingExceptionResolver類
1)通過創建一個類,添加@Configuration+@Bean注解方式可以讓springboot啟動時注冊這個bean
SpringBoot啟動時加載這個bean,發生指定錯誤返回指定界面
@Configurationpublic class GlobalException {@Beanpublic SimpleMappingExceptionResolver getExceptionResolver(){SimpleMappingExceptionResolver resolver=new SimpleMappingExceptionResolver();Properties mappings=new Properties();/** 參數一:異常的類型,異常類型的全名* 參數二:視圖名稱* */mappings.put("java.lang.NullPointerException","error1");resolver.setExceptionMappings(mappings);return resolver;}}?
2)出現錯誤方法
@RequestMapping("/error")public String error() {String str=null;str.length();return "test";}?
4.自定義異常類——HandlerExceptionResolver
1)實現HandlerExceptionResolver接口里面的方法
@Configurationpublic class GlobalException implements HandlerExceptionResolver {/*對resolveException對象進行錯誤類型判斷*/@Overridepublic ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {ModelAndView mv=new ModelAndView();if (e instanceof NullPointerException){System.out.println("java.lang.NullPointerException");mv.setViewName("test");}mv.addObject("error",e.toString());return mv;}}2)Controller里面出現異常的方法
@RequestMapping("/error")public String error() {String str=null;str.length();return "test";}3)出現指定錯誤,返回指定視圖html
test.html視圖
<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head><meta charset="UTF-8"><title>Title</title></head><body>出錯了<span th:text="${error}"></span></body></html>?
總結
以上是生活随笔為你收集整理的JavaWeb学习之路——SpringBoot 中几种异常处理方法(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaWeb学习之路——SpringB
- 下一篇: Java利用Jakson实现序列化与反序