當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring全局异常捕捉实现HandlerExceptionResolver接口,在error-page配置捕捉异常
生活随笔
收集整理的這篇文章主要介紹了
Spring全局异常捕捉实现HandlerExceptionResolver接口,在error-page配置捕捉异常
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方式一
1.1 ?創建全局異常類
該類要實現HandlerExceptionResolver接口,詳細如下:
package com.rbc.hbms.util;import java.util.HashMap; import java.util.Map;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView;/*** 捕捉全局異常并輸出* @author MoXingJian* @email 939697374@qq.com* @date 2017年8月16日 上午10:01:40* @version 1.0*/public class GobalExceptionResolver implements HandlerExceptionResolver{@Overridepublic ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object object,Exception ex) {String message = ex.getMessage();Throwable cause = ex.getCause();System.out.println("進入全局異常");//以下信息一般存進日志,這里作為簡單測試System.out.println("異常類型=" + ex.getClass().getSimpleName());System.out.println("異常描述=" + message);System.out.println("異常原因=" + cause);/*** 測試的時候可以把錯誤信息輸出到頁面,真正給客戶使用的時候,* 千萬不要這樣做,給別人印象不好,別人以為你的系統老是出問題。* 可以適當地提示“系統繁忙”或者“你訪問的頁面不存在”之類的。*/Map<String, Object> model = new HashMap<String, Object>();model.put("ex", ex);/*** 可以根據需要,不同的異常跳轉到不同的頁面。* 例如,dao層異常,可以跳到“數據庫異常頁面”。* service層異常,可以跳轉到“業務異常頁面”。* 找不到頁面異常,可以跳轉到404頁面。等等*/return new ModelAndView("error", model);}}1.2 ?配置
在Spring配置文件中配置該類
<!-- 全局異常配置 --><bean id="GobalExceptionResolver" class="com.rbc.hbms.util.GobalExceptionResolver"/>1.3 ?測試
在service層捕捉一個未做處理的異常
int i = 10/0;效果如下:
方式二
在方式一的 基礎上再優化
2.1配置訪問路徑
首先分別在類名和方法名寫好訪問路徑
類名
@Controller @RequestMapping("/sysmgr/gobalExceptionResolver.action") public class GobalExceptionResolver implements HandlerExceptionResolver {方法
@Override@RequestMapping(params = "method=resolveException")public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object object,Exception ex) {2.2 異常捕捉
在web.xml配置,如下
<error-page><exception-type>java.lang.Exception</exception-type><location>/sysmgr/gobalExceptionResolver.action?method=resolveException</location></error-page>只要是該異常下的都會通過該路徑找到。
總結
以上是生活随笔為你收集整理的Spring全局异常捕捉实现HandlerExceptionResolver接口,在error-page配置捕捉异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lucene从入门到进阶(6.6.0版本
- 下一篇: JS根据日期比较显示时分或者月日