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

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理

這篇具有很好參考價值的文章主要介紹了【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

作者簡介:大家好,我是未央;

博客首頁:未央.303

系列專欄:JavaEE進(jìn)階

每日一句:人的一生,可以有所作為的時機(jī)只有一次,那就是現(xiàn)在!??!

文章目錄

前言

一、統(tǒng)一用戶的登錄

1.1 Spring AOP 實現(xiàn)用戶統(tǒng)一登錄驗證

1.2Spring攔截器實現(xiàn)統(tǒng)一用戶的登錄驗證

1.3 實例演示(通過url訪問controller層的方法)

二、統(tǒng)一異常處理

三、統(tǒng)一數(shù)據(jù)格式返回

3.1 統(tǒng)一數(shù)據(jù)返回格式的優(yōu)點

3.2 統(tǒng)一數(shù)據(jù)返回格式的實現(xiàn)

四、總結(jié)

總結(jié)


【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理


前言


一、統(tǒng)一用戶的登錄

在學(xué)習(xí)Spring AOP之前,用戶登錄權(quán)限的驗證是由每個方法中自己驗證。

1.1 Spring AOP 實現(xiàn)用戶統(tǒng)一登錄驗證

而學(xué)習(xí)了Spring AOP之后,可以通過Spring AOP的前置通知或環(huán)繞通知來實現(xiàn),具體實現(xiàn)代碼如下:

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理

但如果在以上Spring AOP的切面中實現(xiàn)用戶權(quán)限效驗的功能,有以下兩個問題:?

  • 1.沒辦法獲取到HttpSession對象。
  • 2.我們要對一部分方法進(jìn)行攔截,而另一部分方法不攔截,如注冊方法和登錄方法是不攔截的,這樣的話排除方法的規(guī)則很難定義,甚至沒辦法定義。

要解決上述問題,就需要使用下邊的Spring攔截器:

對于以上問題Spring中提供了具體的實現(xiàn)攔截器:HandlerInterceptor,攔截器的實現(xiàn)分為以下兩個步驟:

1、創(chuàng)建自定義攔截器,實現(xiàn) HandlerInterceptor 接口的perHandle(執(zhí)行具體方法之前的預(yù)處理)方法。

2、將自定義攔截器加入 WebMvcConfiger的 addInterceptors方法中。


1.2Spring攔截器實現(xiàn)統(tǒng)一用戶的登錄驗證

1、自定義攔截器,實現(xiàn)HandlerInterceptor,重新preHandle(返回boolean方法)

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理


2、配置攔截規(guī)則?

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理


1.3 實例演示(通過url訪問controller層的方法)

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理


【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理

二、統(tǒng)一異常處理

為什么要對異常進(jìn)行統(tǒng)一處理呢?

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理

?上面我們的controller層的代碼明顯是有問題的,我們用瀏覽器訪問一下該方法:

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理

?可以看到,我們什么都沒有返回給前端——》這個時候前端同學(xué)完全都不知道發(fā)生什么?

所有我們有必要對異常進(jìn)行統(tǒng)一處理,以便不管怎樣都有返回值。

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理

???我們的異常攔截是針對整個項目來進(jìn)行異常攔截的,不用具體配置哪些類需要異常攔截?


【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理

三、統(tǒng)一數(shù)據(jù)格式返回

3.1 統(tǒng)一數(shù)據(jù)返回格式的優(yōu)點

  • 方便前端程序員更好的接受和解析后端數(shù)據(jù)接口返回的數(shù)據(jù)。
  • 降低前端程序員和后端程序員的溝通成本,按照某個格式實現(xiàn)就可以了,因為所有接口都是這樣返回的。
  • 有利于項目統(tǒng)一數(shù)據(jù)的維護(hù)和修改。
  • 有利于后端技術(shù)部門的統(tǒng)一規(guī)范的標(biāo)準(zhǔn)制定,不會出現(xiàn)稀奇古怪的返回內(nèi)容。

3.2 統(tǒng)一數(shù)據(jù)返回格式的實現(xiàn)

統(tǒng)一的數(shù)據(jù)返回格式可以使用@ControllerAdvice+ResponseBodyAdvice的方式實現(xiàn),具體實現(xiàn)代碼如下:

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理


【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理

四、總結(jié)

  • 統(tǒng)一用戶登錄權(quán)限的效驗使用WebMvcConfigurer+HandlerInterceptor來實現(xiàn)
  • 統(tǒng)一異常處理使用@ControllerAdvice+@ExceptionHandler來實現(xiàn)
  • 統(tǒng)一返回值處理使用@ControllerAdvice+ResponseBodyAdvice來處理

總結(jié)

【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理文章來源地址http://www.zghlxwxcb.cn/news/detail-465827.html

到了這里,關(guān)于【JavaEE進(jìn)階】——第八節(jié).SpringBoot統(tǒng)一功能處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • SpringBoot—統(tǒng)一功能處理

    SpringBoot—統(tǒng)一功能處理

    利用 AOP 的思想對一些特定的功能進(jìn)行統(tǒng)一的處理, 包括 使用攔截器實現(xiàn)用戶登錄權(quán)限的統(tǒng)一校驗 統(tǒng)一異常的處理 統(tǒng)一數(shù)據(jù)格式的返回 通過一級路由調(diào)用多種方法, 需要保證這些方法的請求類型各不相同(GET, POST, PUT…) 使用 Spring AOP 可以實現(xiàn)統(tǒng)一攔截, 但 Spring AOP 的使用較為

    2024年02月13日
    瀏覽(15)
  • SpringBoot 統(tǒng)一功能處理

    SpringBoot 統(tǒng)一功能處理

    登錄、注冊頁面不攔截,其他頁面都攔截 當(dāng)?shù)卿洺晒懭?session 之后,攔截的頁面可正常訪問 調(diào)用順序: 正常情況下,程序會在調(diào)用 Controller 之前進(jìn)行相應(yīng)的業(yè)務(wù)處理(我們在切面中定義的事務(wù)),業(yè)務(wù)通過后,才會調(diào)用Controller 層,然后就是Controller - Serrvice - Mapper - 數(shù)據(jù)

    2024年01月24日
    瀏覽(9)
  • 【Spring】SpringBoot 統(tǒng)一功能處理

    【Spring】SpringBoot 統(tǒng)一功能處理

    在日常使用 Spring 框架進(jìn)行開發(fā)的時候,對于一些板塊來說,可能需要實現(xiàn)一個相同的功能,這個功能可以是驗證你的登錄信息,也可以是其他的,但是由于各個板塊實現(xiàn)這個功能的代碼邏輯都是相同的,如果一個板塊一個板塊進(jìn)行添加的話,開發(fā)效率就會很低,所以 Spring

    2024年01月18日
    瀏覽(24)
  • SpringBoot統(tǒng)一功能處理(攔截器)

    SpringBoot統(tǒng)一功能處理(攔截器)

    1.1自定義攔截器 寫一個類去實現(xiàn) HandlerInterceptor接口 表示當(dāng)前類是一個攔截器,再 重寫HandlerInterceptor接口中的方法 , preHandle 為在方法 執(zhí)行前攔截 ,postHandle為方法執(zhí)行中攔截,afterCompletion為方法執(zhí)行中攔截.需要在什么時候攔截就重寫什么方法 2.1.配置攔截規(guī)則 實現(xiàn) WebMvcConfigur

    2024年02月14日
    瀏覽(17)
  • 第八節(jié) 學(xué)生管理系統(tǒng) (階段案例)

    第八節(jié) 學(xué)生管理系統(tǒng) (階段案例)

    管理系統(tǒng),主要任務(wù)就是使用計算機(jī)對學(xué)生的各種信息進(jìn)行日常管理,如: 添加 刪除 修改 查詢 退出系統(tǒng) 程序設(shè)計思路 打印 “學(xué)生管理系統(tǒng)” 的功能菜單,提示用戶選擇功能序號; print_menu() 打印函數(shù) 1.3.1 輸出提示界面 程序的功能界面提示信息的作用就是,讓用戶根據(jù)提示

    2024年02月16日
    瀏覽(19)
  • 【JavaEE】Spring全家桶實現(xiàn)AOP-統(tǒng)一處理

    【JavaEE】Spring全家桶實現(xiàn)AOP-統(tǒng)一處理

    【JavaEE】AOP(2) 在前面的Spring AOP的學(xué)習(xí)之中,Spring AOP去實現(xiàn)AOP,雖然比較靈活,可以實現(xiàn)很多想法,但是也有一些現(xiàn)實的問題: 沒辦法獲取到HttpRequest,一些功能難以實現(xiàn) 進(jìn)而無法獲取HttpSession對象,這樣登錄校驗功能就無法實現(xiàn) 我們要對?部分方法進(jìn)行攔截,而另?部

    2024年02月11日
    瀏覽(26)
  • SpringMVC框架面試專題(初級-中級)-第八節(jié)

    歡迎大家一起探討~如果可以幫到大家請為我點贊關(guān)注哦~后續(xù)會持續(xù)更新 問題: 1.Spring MVC框架中的MyBatis集成是什么?請舉例說明如何集成MyBatis。 解析: Spring MVC框架中的MyBatis集成是指通過Spring框架將MyBatis框架集成到Spring MVC應(yīng)用程序中,從而實現(xiàn)數(shù)據(jù)訪問層和Web層的無縫

    2024年02月07日
    瀏覽(19)
  • Vue2第八節(jié) 收集表單數(shù)據(jù)

    Vue2第八節(jié) 收集表單數(shù)據(jù)

    (1)文本類型/密碼類型 v-model收集的是value值 ? ? 用戶輸入的就是value值 (2)number類型:限制輸入的只能是數(shù)字 ?(3)radio類型 ? ? v-model收集的是value值,需要手動給標(biāo)簽配置value值 ? ? 如果要設(shè)置默認(rèn)選中,在data中配置要選中的數(shù)據(jù)即可 ? ?(4)checkBox類型 ? ?① 如果

    2024年02月15日
    瀏覽(20)
  • [北大肖臻-區(qū)塊鏈技術(shù)與應(yīng)用筆記]第八節(jié)課——BTC 腳本

    [北大肖臻-區(qū)塊鏈技術(shù)與應(yīng)用筆記]第八節(jié)課——BTC 腳本

    比特幣系統(tǒng)中使用的腳本語言很簡單, 唯一能訪問的內(nèi)存空間就是一個棧 ,這點和通用腳本語言的區(qū)別很大。 這個交易有一個輸入和兩個輸出,其中一個輸出已經(jīng)被花出去了,另一個沒有被花出去。 輸入腳本 輸入腳本包含兩個操作,分別將兩個很長的數(shù)壓入棧中。 輸出腳

    2024年01月21日
    瀏覽(29)
  • [北大肖臻-區(qū)塊鏈技術(shù)與應(yīng)用筆記]第八節(jié)課——BTC 分叉

    [北大肖臻-區(qū)塊鏈技術(shù)與應(yīng)用筆記]第八節(jié)課——BTC 分叉

    state fork 如果兩個節(jié)點差不多同時挖到一個區(qū)塊,這兩個區(qū)塊都是掛在當(dāng)前的區(qū)塊上的,不同節(jié)點先收到的區(qū)塊不同,就會各自沿著先收到的區(qū)塊往下擴(kuò)展,這種時候就會出現(xiàn)臨時性的分叉,稱為 state fork ,即由于對區(qū)塊鏈當(dāng)前的狀態(tài)有意見分歧而產(chǎn)生的分叉。 分叉攻擊(

    2024年02月08日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包