国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringMVC之?dāng)r截器和異常處理器

這篇具有很好參考價(jià)值的文章主要介紹了SpringMVC之?dāng)r截器和異常處理器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

學(xué)習(xí)的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾。各位小伙伴,如果您:
想系統(tǒng)/深入學(xué)習(xí)某技術(shù)知識(shí)點(diǎn)…
一個(gè)人摸索學(xué)習(xí)很難堅(jiān)持,想組團(tuán)高效學(xué)習(xí)…
想寫博客但無從下手,急需寫作干貨注入能量…
熱愛寫作,愿意讓自己成為更好的人…


前言

一、攔截器
1、攔截器的配置
2、攔截器的三個(gè)抽象方法
3、多個(gè)攔截器的執(zhí)行順序
二、異常處理器
1、基于配置的異常處理
2、基于注解的異常處理


一、攔截器

1、攔截器的配置

SpringMVC中的攔截器用于攔截控制器方法的執(zhí)行

SpringMVC中的攔截器需要實(shí)現(xiàn)HandlerInterceptor

SpringMVC的攔截器必須在SpringMVC的配置文件中進(jìn)行配置:

<bean class="com.gedeshidai.interceptor.FirstInterceptor"></bean>
<ref bean="firstInterceptor"></ref>
<!-- 以上兩種配置方式都是對(duì)DispatcherServlet所處理的所有的請(qǐng)求進(jìn)行攔截 -->
<mvc:interceptor>
    <mvc:mapping path="/**"/>
    <mvc:exclude-mapping path="/testRequestEntity"/>
    <ref bean="firstInterceptor"></ref>
</mvc:interceptor>
<!-- 
	以上配置方式可以通過ref或bean標(biāo)簽設(shè)置攔截器,通過mvc:mapping設(shè)置需要攔截的請(qǐng)求,通過mvc:exclude-mapping設(shè)置需要排除的請(qǐng)求,即不需要攔截的請(qǐng)求
-->

2、攔截器的三個(gè)抽象方法

SpringMVC中的攔截器有三個(gè)抽象方法:

preHandle:控制器方法執(zhí)行之前執(zhí)行preHandle(),其boolean類型的返回值表示是否攔截或放行,返回true為放行,即調(diào)用控制器方法;返回false表示攔截,即不調(diào)用控制器方法

postHandle:控制器方法執(zhí)行之后執(zhí)行postHandle()

afterComplation:處理完視圖和模型數(shù)據(jù),渲染視圖完畢之后執(zhí)行afterComplation()

3、多個(gè)攔截器的執(zhí)行順序

a>若每個(gè)攔截器的preHandle()都返回true

此時(shí)多個(gè)攔截器的執(zhí)行順序和攔截器在SpringMVC的配置文件的配置順序有關(guān):

preHandle()會(huì)按照配置的順序執(zhí)行,而postHandle()和afterComplation()會(huì)按照配置的反序執(zhí)行

b>若某個(gè)攔截器的preHandle()返回了false

preHandle()返回false和它之前的攔截器的preHandle()都會(huì)執(zhí)行,postHandle()都不執(zhí)行,返回false的攔截器之前的攔截器的afterComplation()會(huì)執(zhí)行

二、異常處理器

1、基于配置的異常處理

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

HandlerExceptionResolver接口的實(shí)現(xiàn)類有:DefaultHandlerExceptionResolver和SimpleMappingExceptionResolver

SpringMVC提供了自定義的異常處理器SimpleMappingExceptionResolver,使用方式:

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <property name="exceptionMappings">
        <props>
        	<!--
        		properties的鍵表示處理器方法執(zhí)行過程中出現(xiàn)的異常
        		properties的值表示若出現(xiàn)指定異常時(shí),設(shè)置一個(gè)新的視圖名稱,跳轉(zhuǎn)到指定頁面
        	-->
            <prop key="java.lang.ArithmeticException">error</prop>
        </props>
    </property>
    <!--
    	exceptionAttribute屬性設(shè)置一個(gè)屬性名,將出現(xiàn)的異常信息在請(qǐng)求域中進(jìn)行共享
    -->
    <property name="exceptionAttribute" value="ex"></property>
</bean>

2、基于注解的異常處理

//@ControllerAdvice將當(dāng)前類標(biāo)識(shí)為異常處理的組件
@ControllerAdvice
public class ExceptionController {

    //@ExceptionHandler用于設(shè)置所標(biāo)識(shí)方法處理的異常
    @ExceptionHandler(ArithmeticException.class)
    //ex表示當(dāng)前請(qǐng)求處理中出現(xiàn)的異常對(duì)象
    public String handleArithmeticException(Exception ex, Model model){
        model.addAttribute("ex", ex);
        return "error";
    }

}

總結(jié)

以上就是SpringMVC之?dāng)r截器和異常處理器的相關(guān)知識(shí)點(diǎn),希望對(duì)你有所幫助。
積跬步以至千里,積怠惰以至深淵。時(shí)代在這跟著你一起努力哦!文章來源地址http://www.zghlxwxcb.cn/news/detail-778975.html

到了這里,關(guān)于SpringMVC之?dāng)r截器和異常處理器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【SpringMVC】統(tǒng)一異常處理 前后臺(tái)協(xié)議聯(lián)調(diào) 攔截器

    【SpringMVC】統(tǒng)一異常處理 前后臺(tái)協(xié)議聯(lián)調(diào) 攔截器

    1. 問題描述 在講解這一部分知識(shí)點(diǎn)之前,我們先來演示個(gè)效果,修改BookController類的 getById 方法 重新啟動(dòng)運(yùn)行項(xiàng)目,使用PostMan發(fā)送請(qǐng)求,當(dāng)傳入的id為1,則會(huì)出現(xiàn)如下效果: 前端接收到這個(gè)信息后和之前我們約定的格式不一致,這個(gè)問題該如何解決? 在解決問題之前,我們

    2024年02月11日
    瀏覽(24)
  • 【SpringMVC】統(tǒng)一異常處理 前后臺(tái)協(xié)議聯(lián)調(diào) 攔截器(文末贈(zèng)書)

    【SpringMVC】統(tǒng)一異常處理 前后臺(tái)協(xié)議聯(lián)調(diào) 攔截器(文末贈(zèng)書)

    1. 問題描述 在講解這一部分知識(shí)點(diǎn)之前,我們先來演示個(gè)效果,修改BookController類的 getById 方法 重新啟動(dòng)運(yùn)行項(xiàng)目,使用PostMan發(fā)送請(qǐng)求,當(dāng)傳入的id為1,則會(huì)出現(xiàn)如下效果: 前端接收到這個(gè)信息后和之前我們約定的格式不一致,這個(gè)問題該如何解決? 在解決問題之前,我們

    2024年02月09日
    瀏覽(27)
  • SpringMVC之異常處理器

    SpringMVC提供了一個(gè)處理控制器方法執(zhí)行過程中所出現(xiàn)的異常的接口:HandlerExceptionResolver。 HandlerExceptionResolver接口的實(shí)現(xiàn)類有:DefaultHandlerExceptionResolver(默認(rèn)的)和 SimpleMappingExceptionResolver(自定義的)。 這里配置了兩個(gè)異常,出現(xiàn)其中一個(gè)異常后跳轉(zhuǎn)到error頁面。 以上就是異

    2024年02月10日
    瀏覽(24)
  • 【AntDesign】封裝全局異常處理-全局?jǐn)r截器

    【AntDesign】封裝全局異常處理-全局?jǐn)r截器

    目錄 場景 1 定義全部異常處理類 2 替換request引用 3 代碼優(yōu)化 總結(jié) 本文前端用的是阿里的Ant-Design框架,其他框架也有全局?jǐn)r截器,思路是相同,具體實(shí)現(xiàn)自行百度下吧 因?yàn)槊看味夹枰{(diào)接口,都需要單獨(dú)處理異常情況(code !=0),因此前端需要對(duì)后端返回的通用響應(yīng)進(jìn)行統(tǒng)

    2024年02月08日
    瀏覽(21)
  • 13、SpringMVC之異常處理器

    13、SpringMVC之異常處理器

    創(chuàng)建名為spring_mvc_exception的新module,過程參考9.1節(jié)和9.5節(jié) SpringMVC 提供了一個(gè)處理控制器方法執(zhí)行異常的接口:HandlerExceptionResolver HandlerExceptionResolver 接口的實(shí)現(xiàn)類有:DefaultHandlerExceptionResolver 和 SimpleMappingExceptionResolver 實(shí)際工作中,有時(shí)使用 SimpleMappingExceptionResolver 異常解析器

    2024年02月05日
    瀏覽(25)
  • 登錄頁面jwt密鑰,過濾器,攔截器,異常處理

    需求: 用戶未登錄時(shí),訪問其他也沒面,操作添加、刪除等操作時(shí),強(qiáng)行跳轉(zhuǎn)至登錄頁面。 實(shí)現(xiàn)方法: 1.使用Cookie,登錄后后端添加一個(gè)cookie,每次頁面判斷是否有cookie, 2。使用session,原理同上,只不過session是存儲(chǔ)在服務(wù)器里的,cookie是在瀏覽器里。 3。使用jwt令牌,登

    2023年04月25日
    瀏覽(26)
  • SpringMVC下半篇之異常處理器及日期轉(zhuǎn)換器

    SpringMVC下半篇之異常處理器及日期轉(zhuǎn)換器

    如果不加以異常處理,錯(cuò)誤信息肯定會(huì)拋在瀏覽器頁面上,這樣很不友好,所以必須進(jìn)行異常處理。 系統(tǒng)的dao、service、controller出現(xiàn)都通過throws Exception向上拋出,最后由springmvc前端控制器交由異常處理器進(jìn)行異常處理,如下圖: 編寫controller 在index.jsp里面定義超鏈接 5.2.1.配

    2024年01月19日
    瀏覽(19)
  • 解決攔截器拋出異常處理類的500狀態(tài)碼Html默認(rèn)格式響應(yīng) !

    解決方式 將Java對(duì)象轉(zhuǎn)換為JSON格式的響應(yīng),使用spring-mvc.xml配置適當(dāng)?shù)南⑥D(zhuǎn)換器。 問題出處的相關(guān)類如下 interceptor如下 ?自定義異常類 ?異常處理類

    2024年02月09日
    瀏覽(20)
  • 【Spring Boot】攔截器與統(tǒng)一功能處理:統(tǒng)一登錄驗(yàn)證、統(tǒng)一異常處理與統(tǒng)一數(shù)據(jù)返回格式

    【Spring Boot】攔截器與統(tǒng)一功能處理:統(tǒng)一登錄驗(yàn)證、統(tǒng)一異常處理與統(tǒng)一數(shù)據(jù)返回格式

    ?Spring AOP是一個(gè)基于面向切面編程的框架,用于將橫切性關(guān)注點(diǎn)(如日志記錄、事務(wù)管理)與業(yè)務(wù)邏輯分離,通過代理對(duì)象將這些關(guān)注點(diǎn)織入到目標(biāo)對(duì)象的方法執(zhí)行前后、拋出異?;蚍祷亟Y(jié)果時(shí)等特定位置執(zhí)行,從而提高程序的可復(fù)用性、可維護(hù)性和靈活性。但使用原生Sp

    2024年02月16日
    瀏覽(25)
  • 【SpringMVC】| SpringMVC攔截器

    【SpringMVC】| SpringMVC攔截器

    目錄 一:SpringMVC攔截器 1. 攔截器介紹 2. HandlerInterceptor接口分析 3. 自定義攔截器實(shí)現(xiàn)權(quán)限驗(yàn)證 SpringMVC 中的 Interceptor 攔截器,它的主要作用是攔截指定的用戶請(qǐng)求,并進(jìn)行相應(yīng)的預(yù)處理與后處理。其攔截的時(shí)間點(diǎn)在“處理器映射器根據(jù)用戶提交的請(qǐng)求映射出了所要執(zhí)行的處理

    2024年02月06日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包