最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springmvc自定義異常處理器實現(xiàn)流程解析

 更新時間:2020年07月07日 11:32:34   作者:林汐-  
這篇文章主要介紹了Springmvc自定義異常處理器實現(xiàn)流程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

當dispatchServlet接收到controller拋出的異常時,會將異常交由 HandlerExceptionResolver

異常處理器處理!我們可以創(chuàng)建自定義異常處理器實現(xiàn)該接口來處理自定義異常

1) 自定義異常類

public class MyException extends Exception {
  // 異常信息
  private String message;
 
  public MyException() {
    super();
  }
 
  public MyException(String message) {
    super();
    this.message = message;
  }
 
  public String getMessage() {
    return message;
  }
 
  public void setMessage(String message) {
    this.message = message;
  }
 
}

2)自定義異常處理器

public class CustomHandleException implements HandlerExceptionResolver {
 
  @Override
  public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
      Exception exception) {
    // 定義異常信息
    String msg;
 
    // 判斷異常類型
    if (exception instanceof MyException) {
      // 如果是自定義異常,讀取異常信息
      msg = exception.getMessage();
    } else {
      // 如果是運行時異常,則取錯誤堆棧,從堆棧中獲取異常信息
      Writer out = new StringWriter();
      PrintWriter s = new PrintWriter(out);
      exception.printStackTrace(s);
      msg = out.toString();
 
    }
 
    // 把錯誤信息發(fā)給相關人員,郵件,短信等方式
    // TODO
 
    // 返回錯誤頁面,給用戶友好頁面顯示錯誤信息
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.addObject("msg", msg);
    modelAndView.setViewName("error");
 
    return modelAndView;
  }
}

3)在springmvc.xml中配置異常處理器

<!-- 配置全局異常處理器 -->
<bean
id="customHandleException" class="cn.itcast.ssm.exception.CustomHandleException"/>

4)定制錯誤頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
  <h1>系統(tǒng)發(fā)生異常了!</h1>
  <br />
  <h1>異常信息</h1>
  <br />
  <h2>${msg }</h2>
 
</body>
</html>

5)測試異常處理

@RequestMapping(value = "/item/itemlist.action")
public ModelAndView itemList() throws MyException{
    
    List<Items> list = itemService.selectItemsList();
    
    if(true){
      throw new MyException("商品列表不能為空?。?);
    }
    
    ModelAndView mav = new ModelAndView();
    mav.addObject("itemList", list);
    mav.setViewName("itemList");
    return mav;
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • RHEL6.5下JDK1.8安裝教程

    RHEL6.5下JDK1.8安裝教程

    這篇文章主要為大家詳細介紹了RHEL6.5下JDK1.8安裝教程的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • IDEA Ultimate2020.2版本配置Tomcat詳細教程

    IDEA Ultimate2020.2版本配置Tomcat詳細教程

    這篇文章主要介紹了IDEA Ultimate2020.2版本配置Tomcat教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Java幸運28系統(tǒng)搭建數(shù)組的使用實例詳解

    Java幸運28系統(tǒng)搭建數(shù)組的使用實例詳解

    在本篇文章里小編給大家整理了關于Java幸運28系統(tǒng)搭建數(shù)組的使用實例內容,有需要的朋友們可以參考學習下。
    2019-09-09
  • Java實現(xiàn)讀取Excel文件功能(EasyExcel初使用)

    Java實現(xiàn)讀取Excel文件功能(EasyExcel初使用)

    EasyExcel是一款基于Java語言的開源Excel解析工具,可以幫助我們快速、高效地讀取和寫入Excel文件,這篇文章主要給大家介紹了關于Java實現(xiàn)讀取Excel文件功能的相關資料,使用的是EasyExcel,需要的朋友可以參考下
    2024-07-07
  • java回調機制實例詳解

    java回調機制實例詳解

    這篇文章主要介紹了java回調機制實例詳解的相關資料,需要的朋友可以參考下
    2017-05-05
  • 關于logback.xml和logback-spring.xml的區(qū)別及說明

    關于logback.xml和logback-spring.xml的區(qū)別及說明

    這篇文章主要介紹了關于logback.xml和logback-spring.xml的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 詳細了解MVC+proxy

    詳細了解MVC+proxy

    Java有兩種代理方式,一種是靜態(tài)代理,另一種是動態(tài)代理。對于靜態(tài)代理,其實就是通過依賴注入,對對象進行封裝,不讓外部知道實現(xiàn)的細節(jié)。很多 API 就是通過這種形式來封裝的
    2021-07-07
  • Mybatis中強大的resultMap功能介紹

    Mybatis中強大的resultMap功能介紹

    這篇文章主要給大家介紹了關于Mybatis中強大的resultMap功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Mybatis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • SpringBoot返回結果統(tǒng)一處理實例詳解

    SpringBoot返回結果統(tǒng)一處理實例詳解

    這篇文章主要為大家介紹了SpringBoot返回結果統(tǒng)一處理實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • SpringBoot 緩存 Caffeine使用解析

    SpringBoot 緩存 Caffeine使用解析

    這篇文章主要介紹了SpringBoot 緩存 Caffeine使用解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評論

射洪县| 元江| 澄江县| 甘谷县| 石棉县| 满洲里市| 绥德县| 开平市| 松原市| 象山县| 康平县| 罗甸县| 临猗县| 江城| 霍城县| 青龙| 富源县| 忻城县| 怀化市| 项城市| 洛阳市| 盖州市| 桐庐县| 台湾省| 长兴县| 长子县| 海宁市| 旅游| 天全县| 贵阳市| 盐津县| 奉贤区| 景宁| 旌德县| 罗江县| 睢宁县| 承德县| 嵊州市| 衡东县| 阿拉善盟| 四子王旗|