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

Spring?MVC項目中的異常處理詳解

 更新時間:2022年06月06日 15:25:21   作者:郭尕  
在Web開發(fā)中 我們經(jīng)常會需要處理各種異常,這篇文章主要給大家介紹了關(guān)于Spring?MVC項目中異常處理的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

我們在項目的開發(fā)中,難免會遇到各種可預(yù)知的、不可預(yù)知的異常需要處理。每個過程都單獨處理異常,系統(tǒng)的代碼耦合度高,工作量大且不好統(tǒng)一,維護(hù)的工作量也很大。

那么,能不能將所有類型的異常處理從各處理過程解耦出來,這樣既保證了相關(guān)處理過程的 功能較單一,也實現(xiàn)了異常信息的統(tǒng)一處理和維護(hù)?答案是肯定的。下面將介紹Spring MVC是如何處理異常的。

1. 基于配置的簡單異常處理

在SpringMVC中擁有一套非常強大的異常處理機(jī)制,SpringMVC通過 HandlerExceptionResolver處理程序的異常,包括請求映射,數(shù)據(jù)綁定以及目標(biāo)方法的執(zhí)行時發(fā)生的異常。

SpringMVC提供了一個處理控制器方法執(zhí)行過程中所出現(xiàn)的異常的接口:

HandlerExceptionResolver,該接口的實現(xiàn)類有:DefaultHandlerExceptionResolver和

SimpleMappingExceptionResolver,下面就來看看如何使用簡單異常處理器來處理異常。

使用 Spring MVC 提供的簡單異常處理器 SimpleMappingExceptionResolver

Spring MVC配置文件

<!--配置異常處理器-->
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <property name="exceptionMappings">
        <props>
        <!--ArithmeticException算術(shù)運算異常:是出現(xiàn)異常的運算條件時,拋出此異常-->
            <prop key="java.lang.ArithmeticException">error</prop>
        </props>
    </property>
    <property name="exceptionAttribute" value="e"/>
</bean>

注意:

properties的鍵表示處理器方法執(zhí)行過程中出現(xiàn)的異常

properties的值表示若出現(xiàn)指定異常時,設(shè)置一個新的視圖名稱,跳轉(zhuǎn)到指定頁面

exceptionAttribute屬性設(shè)置一個屬性名,將出現(xiàn)的異常信息在請求域中進(jìn)行共享

控制器方法

@RequestMapping("/testException")
public String testException(){
    System.out.println(1/0);
    return "success";
}

在該控制器方法中拋出一個算術(shù)運算異常,運行

2. 基于注解的全局異常處理

@ControllerAdvice:將當(dāng)前類標(biāo)識為異常處理的組件,是Spring提供的新注解,它是對Controller的增強,可對 controller中被 @RequestMapping注解的方法加一些邏輯處理;

@ExceptionHandler:用于設(shè)置所標(biāo)識的方法處理的異常,@ExceptionHandler加在ControllerAdvice中,處理全局異常

ExceptionController 

@ControllerAdvice
public class ExceptionController {
	
    @ExceptionHandler(value = {ArithmeticException.class,NullPointerException.class})
    public String exception(Exception e, Model model){
        model.addAttribute("e",e);
        return "error";
    }
}

@ExceptionHandler的value值可以是數(shù)組,所以可以添加許多可能出現(xiàn)的異常;在該方法中
當(dāng)出現(xiàn)算數(shù)運算異?;蚩罩羔槷惓>蜁D(zhuǎn)到我們自己設(shè)置的異常頁面,并且展示異常信息。

error.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <title>錯誤頁面</title>
</head>
<body>
<h1>error</h1>
    ${e}
</body>
</html>

異常頁面

總結(jié) 

到此這篇關(guān)于Spring MVC項目中異常處理的文章就介紹到這了,更多相關(guān)SpringMVC異常處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

社会| 阳原县| 郑州市| 邵武市| 新密市| 囊谦县| 普安县| 江城| 枣庄市| 孙吴县| 温州市| 临汾市| 彩票| 昌宁县| 银川市| 顺义区| 百色市| 客服| 万载县| 上饶县| 云梦县| 大足县| 德令哈市| 闸北区| 临颍县| 扎兰屯市| 阆中市| 会同县| 遂溪县| 星座| 句容市| 鄂温| 孝感市| 千阳县| 正安县| 海兴县| 泸水县| 铜鼓县| 澜沧| 嫩江县| 浦北县|