亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > SpringMVC統一異常處理三種方法詳解

SpringMVC統一異常處理三種方法詳解

熱門標簽:400電話辦理2273649Z空間 高德地圖標注生成 寧夏外呼系統方案 濟南電銷外呼防封卡怎么樣 怎樣在地圖標注自己的信息 電銷外呼系統違規 400電話怎么申請收費標準 南京外呼系統租用 智能語音外呼系統打電話

這篇文章主要介紹了SpringMVC-統一異常處理三種方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

在 Spring MVC 應用的開發中,不管是對底層數據庫操作,還是業務層或控制層操作,都會不可避免地遇到各種可預知的、不可預知的異常需要處理。

如果每個過程都單獨處理異常,那么系統的代碼耦合度高,工作量大且不好統一,以后維護的工作量也很大。

如果能將所有類型的異常處理從各層中解耦出來,這樣既保證了相關處理過程的功能單一,又實現了異常信息的統一處理和維護。

幸運的是,Spring MVC 框架支持這樣的實現。Spring MVC 統一異常處理有以下 3 種方式:

  • 使用 Spring MVC 提供的簡單異常處理器 SimpleMappingExceptionResolver。
  • 實現 Spring 的異常處理接口 HandlerExceptionResolver 自定義自己的異常處理器。
  • 使用 @ExceptionHandler 注解實現異常處理

本節主要根據這 3 種處理方式講解 Spring MVC 應用的異常統一處理。

Spring MVC使用SimpleMappingExceptionResolver類異常處理

?xml version="1.0" encoding="UTF-8"?>
beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring一beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
  !-- 使用掃描機制掃描包 -->
  context:component-scan base-package="controller" />
  context:component-scan base-package="service" />
  context:component-scan base-package="dao" />
  !-- 配置視圖解析器 -->
  bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"
    id="internalResourceViewResolver">
    !--前綴 -->
    property name="prefix" value="/WEB-INF/jsp/" />
    !-- 后綴 -->
    property name="suffix" value=".jsp" />
  /bean>
  !--SimpleMappingExceptionResolver(異常類與 View 的對應關系) -->
  bean
    class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    !-- 定義默認的異常處理頁面,當該異常類型注冊時使用 -->
    property name="defaultErrorView" value="error">/property>
    !-- 定義異常處理頁面用來獲取異常信息的變量名,默認名為exception -->
    property name="exceptionAttribute" value="ex">/property>
    !-- 定義需要特殊處理的異常,用類名或完全路徑名作為key,異常頁名作為值 -->
    property name="exceptionMappings">
      props>
        prop key="exception.MyException">my-error/prop>
        prop key="java.sql.SQLException">sql-error/prop>
        !-- 在這里還可以繼續擴展對不同異常類型的處理 -->
      /props>
    /property>
  /bean>
/beans>

Spring MVC使用HandlerExceptionResolver接口異常處理

package exception;
import java.sql.SQLException;
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;
public class MyExceptionHandler implements HandlerExceptionResolver {
  @Override
  public ModelAndView resolveException(HttpServletRequest arg0,
      HttpServletResponse arg1, Object arg2, Exception arg3) {
    MapString, Object> model = new HashMapString, Object>();
    model.put("ex", arg3);
    // 根據不同錯誤轉向不同頁面(統一處理),即異常與View的對應關系
    if (arg3 instanceof MyException) {
      return new ModelAndView("my-error", model);
    } else if (arg3 instanceof SQLException) {
      return new ModelAndView("sql-error", model);
    } else {
      return new ModelAndView("error", model);
    }
  }
}
?xml version="1.0" encoding="UTF-8"?>
beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring一beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
  !-- 使用掃描機制掃描包 -->
  context:component-scan base-package="controller" />
  context:component-scan base-package="service" />
  context:component-scan base-package="dao" />
  !-- 配置視圖解析器 -->
  bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"
    id="internalResourceViewResolver">
    !--前綴 -->
    property name="prefix" value="/WEB-INF/jsp/" />
    !-- 后綴 -->
    property name="suffix" value=".jsp" />
  /bean>
  !--托管MyExceptionHandler-->
  bean class="exception.MyExceptionHandler"/>
/beans>

Spring MVC使用@ExceptionHandler注解異常處理

package controller;
import java.sql.SQLException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.ExceptionHandler;
import exception.MyException;
public class BaseController {
  /** 基于@ExceptionHandler異常處理 */
  @ExceptionHandler
  public String exception(HttpServletRequest request, Exception ex) {
    request.setAttribute("ex", ex);
    // 根據不同錯誤轉向不同頁面,即異常與view的對應關系
    if (ex instanceof SQLException) {
      return "sql-error";
    } else if (ex instanceof MyException) {
      return "my-error";
    } else {
      return "error";
    }
  }
}
?xml version="1.0" encoding="UTF-8"?>
beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring一beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
  !-- 使用掃描機制掃描包 -->
  context:component-scan base-package="controller" />
  context:component-scan base-package="service" />
  context:component-scan base-package="dao" />
  !-- 配置視圖解析器 -->
  bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"
    id="internalResourceViewResolver">
    !--前綴 -->
    property name="prefix" value="/WEB-INF/jsp/" />
    !-- 后綴 -->
    property name="suffix" value=".jsp" />
  /bean>
/beans>

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

您可能感興趣的文章:
  • SpringMVC文件上傳 多文件上傳實例
  • SpringMVC上傳圖片與訪問
  • SpringMVC實現文件的上傳和下載實例代碼
  • SpringMVC文件上傳的配置實例詳解
  • SpringMVC攔截器實現登錄認證
  • springmvc攔截器登錄驗證示例
  • SpringMVC攔截器實現單點登錄
  • 基于SpringMVC的全局異常處理器介紹
  • Springmvc自定義異常處理器實現流程解析
  • SpringMVC實現文件上傳與下載、攔截器、異常處理器等功能

標簽:平頂山 惠州 茂名 長白山 仙桃 潛江 貴港 唐山

巨人網絡通訊聲明:本文標題《SpringMVC統一異常處理三種方法詳解》,本文關鍵詞  SpringMVC,統一,異常,處理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SpringMVC統一異常處理三種方法詳解》相關的同類信息!
  • 本頁收集關于SpringMVC統一異常處理三種方法詳解的相關信息資訊供網民參考!
  • 推薦文章
    久久99这里只有精品国产| 国产一区免费在线观看| 欧美日本免费| 麻豆污视频| 欧美激情在线精品video| 可以免费在线看黄的网站| 欧美1区| 青青久热| 精品国产香蕉在线播出| 午夜久久网| 国产欧美精品| 国产一区精品| 韩国三级香港三级日本三级| 国产原创视频在线| 久久成人综合网| 精品视频在线观看视频免费视频| 久久99中文字幕| 美女免费精品视频在线观看| 国产欧美精品午夜在线播放| 亚洲 国产精品 日韩| 黄视频网站免费观看| 青青青草影院| 国产网站免费| 天天做日日爱夜夜爽| 欧美激情一区二区三区视频 | 国产一区二区精品尤物| 国产福利免费观看| 天天色成人网| 美国一区二区三区| 国产成人欧美一区二区三区的| 国产伦精品一区三区视频| 国产精品自拍一区| 日本伦理黄色大片在线观看网站| 久草免费资源| 精品视频在线观看免费| 国产一区二区福利久久| 一级片免费在线观看视频| 日本免费看视频| 日韩在线观看视频网站| 久久国产精品自由自在| 天堂网中文在线| 日日夜夜婷婷| 国产a视频精品免费观看| 成人免费观看视频| 黄视频网站免费| 国产精品自拍在线观看| 亚洲不卡一区二区三区在线| 99久久精品费精品国产一区二区| 国产精品自拍一区| 欧美一级视频高清片| 久久精品人人做人人爽97| 久久精品店| 日本在线www| 韩国三级一区| 可以免费在线看黄的网站| 91麻豆高清国产在线播放| 午夜久久网| 91麻豆国产福利精品| 中文字幕一区二区三区精彩视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品视频在线看| 黄视频网站免费| 91麻豆tv| 欧美a免费| 国产不卡在线观看| 麻豆午夜视频| 欧美a免费| 日本伦理黄色大片在线观看网站| 四虎影视久久| 日韩专区亚洲综合久久| 国产伦精品一区二区三区无广告| 欧美激情影院| 国产伦久视频免费观看 视频| 国产一区二区精品久久91| 亚飞与亚基在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 免费国产在线视频| 日本免费区| 国产成人啪精品| 久久国产精品自由自在| 精品视频在线看 | 欧美日本免费| 国产一区二区福利久久| 午夜家庭影院| 国产a视频精品免费观看| 91麻豆tv| 亚欧视频在线| 国产一区二区福利久久| 午夜在线影院| 日韩欧美一二三区| 亚洲天堂在线播放| 九九精品久久久久久久久| 一级毛片视频免费| 精品视频在线观看免费| 国产不卡高清| 欧美另类videosbestsex视频| 亚洲wwwwww| 日韩字幕在线| 精品国产亚洲人成在线| 美国一区二区三区| 国产伦精品一区二区三区无广告| 国产91精品一区| 国产视频一区在线| 日韩专区第一页| 99色视频| 国产成人精品影视| 国产激情一区二区三区| 国产高清在线精品一区a| 成人免费福利片在线观看| 日日夜夜婷婷| 国产成+人+综合+亚洲不卡| 日韩在线观看视频免费| 精品国产一区二区三区国产馆| 成人免费高清视频| 精品国产亚洲一区二区三区| 日韩av片免费播放| 欧美α片无限看在线观看免费| 国产亚洲免费观看| 久久99欧美| 国产网站免费| 日韩在线观看视频黄| 黄色免费三级| 国产美女在线一区二区三区| 国产麻豆精品| 欧美a级片免费看| 欧美日本免费| 亚欧视频在线| 成人免费高清视频| 日韩中文字幕一区| 四虎久久影院| 日韩一级黄色片| 国产视频一区二区在线播放| 黄色免费三级| 日本伦理黄色大片在线观看网站| 超级乱淫伦动漫| 天天做日日爱夜夜爽| 国产国语在线播放视频| 精品国产一区二区三区国产馆| 九九久久国产精品| 日韩男人天堂| 天天色色网| 高清一级淫片a级中文字幕| 91麻豆精品国产自产在线观看一区| 亚洲女初尝黑人巨高清在线观看| 国产精品1024在线永久免费| 久久国产精品只做精品| 国产网站免费观看| 精品视频免费在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产原创中文字幕| 日韩中文字幕一区二区不卡| 九九久久99综合一区二区| 国产网站在线| 免费一级片在线| 久久国产一久久高清| 青青久久精品| 日本免费区| 成人高清视频在线观看| 欧美大片a一级毛片视频| 国产成人精品影视| 久久精品道一区二区三区| 午夜欧美成人香蕉剧场| 欧美激情一区二区三区视频高清 | 日本特黄特黄aaaaa大片 | 香蕉视频亚洲一级| 成人免费福利片在线观看| 国产极品白嫩美女在线观看看| 日本伦理黄色大片在线观看网站| 国产不卡在线观看| 精品国产三级a| 久久99中文字幕久久| 国产成+人+综合+亚洲不卡| 99热精品一区| 99热精品一区| 午夜家庭影院| 欧美激情影院| 国产成a人片在线观看视频| 国产一区二区精品久| 欧美激情伊人| 韩国三级视频网站| 可以免费看污视频的网站| 日韩字幕在线| 成人免费网站久久久| 欧美激情影院| 韩国毛片| 免费国产在线视频| 久草免费资源| 免费国产在线视频| 999精品视频在线| 免费国产在线观看不卡| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美日本二区| 国产一区二区高清视频| 欧美a级v片不卡在线观看| 九九干| 欧美a级v片不卡在线观看| 精品国产香蕉在线播出| 久久久久久久男人的天堂| 国产成a人片在线观看视频| 国产成人啪精品|