更新時間:2022-08-23 10:32:33 來源:動力節點 瀏覽1047次
首先我們先來了解一下AOP的概念;面向切面的編程,或AOP, 是一種編程技術,允許程序模塊化橫向切割關注點,或橫切典型的責任劃分,如日志和事務管理。
在AOP(Aspect-Oriented Programming)中用于在某個方法或字段被訪問之前,進行攔截然后在之前或之后加入某些操作。攔截是AOP的一種實現策略。
攔截器是動態攔截Action調用的對象。它提供了一種機制可以使開發者可以定義在一個action執行的前后執行的代碼,也可以在一個action執行前阻止其執行。同時也是提供了一種可以提取action中可重用的部分的方式。
攔截器棧(Interceptor Stack)類似于過濾器鏈。攔截器棧就是將攔截器按一定的順序聯結成一條鏈。在訪問被攔截的方法或字段時,攔截器棧的攔截器就會按其之前定義的順序被調用。
也可以叫做攔截器鏈(Interceptor Stack),攔截器棧一詞更明確的表名了連接器鏈的實現方式。
Struts2的攔截器和Filter類似。在執行Action的execute方法之前,Struts2會首先執行在struts.xml中引用的攔截器,在執行完所有引用的攔截器的intercept方法后,會執行Action的execute方法。
當請求到達Struts 2的ServletDispatcher時,Struts 2會查找配置文件,并根據其配置實例化相對的攔截器對象,然后串成一個列表(list),最后一個一個地調用列表中的攔截器。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習