婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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統一異常處理三種方法詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日本在线不卡视频| 亚洲精品国产一区二区三区四区在线 | 日韩一区二区三区免费观看| 99在线视频精品| 欧美三级一区二区| 日韩欧美中文字幕制服| 亚洲欧美二区三区| 久久www免费人成看片高清| 99久久精品免费精品国产| 亚洲欧美自拍偷拍色图| 91精品国产色综合久久不卡电影| 久久美女高清视频| 国内精品免费**视频| 亚洲婷婷综合色高清在线| 亚洲va国产va欧美va观看| 色综合久久久久网| 一区二区三区欧美| 欧美一区二区视频在线观看| 欧美猛男超大videosgay| 国产精品久久久久久户外露出 | 欧美激情一区不卡| 欧美一区二区三区白人| 日韩在线播放一区二区| 91.com视频| 日本视频一区二区三区| 91麻豆精品91久久久久久清纯| 国产亚洲婷婷免费| 日韩一级黄色片| 日本欧美久久久久免费播放网| 在线观看一区二区视频| 亚洲免费毛片网站| 欧美日韩国产不卡| 美女在线观看视频一区二区| 日韩午夜激情视频| 国产高清无密码一区二区三区| 成人做爰69片免费看网站| 国产欧美一区二区三区在线看蜜臀 | 久久久久88色偷偷免费 | 激情图片小说一区| 国内精品在线播放| 日本一区二区三区在线观看| 欧美精品久久99| 成人中文字幕电影| 国产电影一区二区三区| 日韩激情中文字幕| 久久久久国产精品免费免费搜索 | 成人午夜在线播放| 日本欧美韩国一区三区| 一二三四区精品视频| 26uuu亚洲| 欧美吻胸吃奶大尺度电影| 91在线一区二区三区| 精品成人一区二区三区| 欧美一区三区四区| 亚洲精品一区二区三区在线观看| 久久综合99re88久久爱| 日本一区二区三区久久久久久久久不 | 亚洲天堂久久久久久久| 亚洲精品视频一区二区| 国内精品写真在线观看 | 国内精品国产三级国产a久久| 久久精品99久久久| 日本精品视频一区二区| 天天爽夜夜爽夜夜爽精品视频| 国产精选一区二区三区| 在线观看免费成人| 国产精品欧美一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 国产成人日日夜夜| 欧美成人精品福利| 一区二区三区 在线观看视频| 成人国产免费视频| 精品久久人人做人人爱| 一区二区三区小说| 丁香天五香天堂综合| 久久久久久久久久久久久女国产乱 | 狠狠色狠狠色综合系列| 91蜜桃传媒精品久久久一区二区| 精品国产自在久精品国产| 亚洲免费在线看| 不卡av免费在线观看| 91精品国产色综合久久不卡电影 | 国产精品网曝门| 美女在线一区二区| 久久婷婷国产综合精品青草| 麻豆国产精品视频| 日本一区二区免费在线观看视频 | 蜜臀av一区二区在线观看| 91精品在线观看入口| 国产精品小仙女| 国产成人午夜99999| 国产欧美视频一区二区| 久久一二三国产| 91精品国产综合久久福利软件| 国产一区二区三区香蕉| 一区二区三区四区在线| 精品国精品自拍自在线| 91麻豆国产自产在线观看| 一区二区高清视频在线观看| 欧美在线观看视频一区二区| 国产盗摄一区二区| 亚洲电影在线播放| 久久久蜜桃精品| 色噜噜夜夜夜综合网| 国产精品久久久久影视| 成人毛片在线观看| 一区二区视频在线| 国产视频亚洲色图| 久久久久久97三级| 亚洲三级在线免费观看| 久久精品一二三| 3d动漫精品啪啪一区二区竹菊| 国产精品中文字幕一区二区三区| 亚洲午夜激情av| caoporen国产精品视频| 国产在线观看一区二区 | 自拍偷拍亚洲欧美日韩| 欧美激情一区不卡| 久久伊99综合婷婷久久伊| 久久久久久久综合| 精品欧美一区二区久久| 欧美日韩成人高清| 欧美日韩国产综合久久| 欧美日韩情趣电影| 精品视频色一区| 日韩视频一区二区三区在线播放| 成人免费在线播放视频| 亚洲国产一区二区在线播放| 亚洲码国产岛国毛片在线| 久久成人羞羞网站| 久久一区二区三区四区| 亚洲成精国产精品女| 久久综合综合久久综合| 中文字幕一区二区三区av| 日韩午夜中文字幕| 欧美成人vps| 在线播放国产精品二区一二区四区| 久久看人人爽人人| 美女尤物国产一区| 欧美乱熟臀69xxxxxx| 久久久综合激的五月天| 日韩国产一二三区| 日韩精品自拍偷拍| 久久久久久久久久久黄色| 亚洲国产激情av| 国产精品久久99| 日韩精品乱码av一区二区| 日韩电影在线免费观看| 成人ar影院免费观看视频| 久久久亚洲午夜电影| 欧美一区二区在线播放| 欧美一区午夜精品| 久久网这里都是精品| 91福利在线免费观看| 777欧美精品| 在线观看视频一区二区| 成人网男人的天堂| 一区二区三区久久久| 亚洲男人天堂av| 中文字幕一区视频| 久久久影视传媒| 91电影在线观看| 亚洲国产精华液网站w| 亚洲人妖av一区二区| 日韩精品一二区| 福利电影一区二区三区| 91色porny在线视频| 亚洲三级在线播放| 色呦呦一区二区三区| 不卡免费追剧大全电视剧网站| 午夜精品福利一区二区蜜股av| 亚洲人精品午夜| 亚洲一级二级三级| 日韩精品中午字幕| 国产精品一区在线观看你懂的| 国产精品视频免费| 国产一区二区不卡| 在线日韩av片| 亚洲精品视频自拍| 久久久久久久综合日本| 中文字幕日韩av资源站| 亚洲欧美综合网| 国产成人免费视频一区| 日韩一区二区电影在线| 日本午夜一区二区| 国产精品女同一区二区三区| 亚洲午夜一区二区| 日韩视频在线永久播放| 粉嫩一区二区三区性色av| 亚洲国产精品视频| 5566中文字幕一区二区电影| 久久九九久久九九| 成人sese在线| 国内精品久久久久影院一蜜桃| 日韩一区在线免费观看| 日韩精品一区二区三区蜜臀| 色综合婷婷久久| 日韩欧美国产午夜精品| 日本美女一区二区三区视频| 精品少妇一区二区三区视频免付费|