攔截器、過濾器、@Aspect 區別

來源:互聯網
上載者:User

標籤:業務   回調   實現   ice   問題   tps   解密   怎麼   attribute   

1、需求情境 之前也有在文章寫道 “攔截器\過濾器" 的區別,文章連結,在實際開發過程中,我們可能會遇到攔截請求參數的需求,在這我舉個情境。 
某一個介面的請求參數都是加密的,而請求參中還有一些跟業務無關的資料,需要剔除。

 

2、問題產生

 那麼怎麼能夠實現只要和業務有關的資料呢?

 首先,我們想到的是通過攔截器,對加密的資料進行解密,然後把解密後的資料重新放到 request 中,request.setAttribute("資料名", 資料);  其實呢,還可以通過 @Aspect 註解,在方法裡通過 @before,@around 和 @after 註解的方式來攔截資料,配置起來比攔截器簡單。 
疑惑就在這產生了,通過  @Aspect  註解的方式寫的跟攔截器有什麼區別呢,他到底是不是攔截器呢?

 

3、問題總結 3.1、三者不同 @Aspect 註解形式是 AOP 的一種實現。AOP 使用的主要是動態代理 。  過濾器使用的主要是反射 。  攔截器使用的主要是回調 。  3.2、樣本分析 前台一個請求過來 ,會先進行過濾器處理,看程式是否受理該請求 。 過濾器放過後 , 程式中的攔截器進行處理 ,處理完後進入 被 AOP 動態代理重新編譯過的主要業務類進行處理 。  通過樣本去理解三者的不同 ,所以三者不存在所屬關係。  部落格地址:https://www.cnblogs.com/niceyoo

 

攔截器、過濾器、@Aspect 區別

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.