freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

j2ee項(xiàng)目實(shí)訓(xùn)spring框架技術(shù)——第6章aop和springaop技術(shù)第2部分-資料下載頁

2024-11-17 16:16本頁面

【導(dǎo)讀】提取或以某種方式操作正在客戶機(jī)和服務(wù)器之間交換的Http數(shù)據(jù)。過濾器提供一種面向?qū)?。聲明,并?dòng)態(tài)地處理。求的用戶相關(guān)的信息,并可以對(duì)它們進(jìn)行日志記錄。對(duì)非法的請(qǐng)求進(jìn)行阻止等安全驗(yàn)證。驗(yàn)證和/或?qū)⑺麄冎敢降谌竭M(jìn)行身份驗(yàn)證。Servlet組件中,這樣達(dá)到“安全邏輯”和“業(yè)務(wù)邏輯”兩者相互分離??紤]頁面內(nèi)容的顯示和對(duì)業(yè)務(wù)層組件的委托調(diào)用,而不需要再考慮會(huì)話管理的細(xì)節(jié)。過濾器技術(shù)同樣也能夠?qū)崿F(xiàn)AOP所倡導(dǎo)的分離“技術(shù)問題實(shí)現(xiàn)”和“業(yè)務(wù)問題實(shí)現(xiàn)”,因此一個(gè)重要的問題就是,開。發(fā)人員如何防止一個(gè)視圖或者部分的視圖被一個(gè)未被授權(quán)的用戶直接訪問。須通過另一個(gè)表現(xiàn)層的應(yīng)用資源進(jìn)行(本系統(tǒng)為一個(gè)Servlet類型的PageForwardAction控。制器組件);對(duì)于這些受限制的資源不允許通過瀏覽器直接調(diào)用。在過濾器組件中對(duì)所有進(jìn)入的URI進(jìn)行解析,并取得當(dāng)時(shí)Session中的UserInfo信息,權(quán)限進(jìn)行比較,然后進(jìn)行相應(yīng)的處理。代碼示例,并請(qǐng)注意其中的黑體部分的代碼。

  

【正文】 是被代理類中的目標(biāo)方法, args 為該目標(biāo)方法的參數(shù)數(shù)組。 ( 2) Proxy 動(dòng)態(tài)代理類 1) Protected Proxy(InvocationHandler h): Proxy 類的構(gòu)造方法 2) Static Class getProxyClass (ClassLoader loader, Class[] interfaces):獲得一個(gè)代理類,其中 loader 是類裝載器, interfaces 是真實(shí)類所擁有的全部接口的數(shù)組。 3) Static Object newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h):返回代理類的一個(gè)實(shí)例,返回后的代理類可以當(dāng)作被代理類使用。 采用 動(dòng) 態(tài)代理技術(shù) 的具體實(shí)現(xiàn)示例 ( 1)應(yīng)用動(dòng)態(tài)代理技術(shù)的主要優(yōu)點(diǎn) 動(dòng)態(tài)代理類的字節(jié)碼 ( *.class 文件) 在程序運(yùn)行時(shí)由 Java 反射機(jī)制動(dòng)態(tài)生成 ,無需程序員手工編寫它的源 程序 代碼。動(dòng)態(tài)代理類不僅簡(jiǎn)化了編程工作,而且提高了軟件系統(tǒng)楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 14/16 頁 的可擴(kuò)展性,因?yàn)?Java 反射機(jī)制可以生成任意類型的動(dòng)態(tài)代理類。 ( 2) 新增加一個(gè) WebBBSLogHandler 類,請(qǐng)見下面的圖 中所示的狀態(tài) 圖 WebBBSLogHandler 類的創(chuàng)建對(duì)話框 ( 3)編程實(shí)現(xiàn) WebBBSLogHandler 動(dòng)態(tài)代理類 【例 611】 WebBBSLogHandler 動(dòng)態(tài)代理類 的代碼示例 package 。 import .*。 import .*。 public class WebBBSLogHandler implements InvocationHandler { private Logger logger = (().getName())。 private Object delegate。 public Object bind(Object delegate) { = delegate。 //獲得被代理的類 return (().getClassLoader(), ().getInterfaces(), this)。 } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Object result = null。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 15/16 頁 try{ (, 方法開始執(zhí)行 ... + method)。 result = (delegate, args)。 //利用反射技術(shù)動(dòng)態(tài)地訪問被代理 類中 的方法 (, 方法已經(jīng)結(jié)束 ... + method)。 } catch (Exception e){ (, ())。 } return result。 } } 注意: (delegate, args)其實(shí)就是調(diào)用被代理對(duì)象的將要被執(zhí)行的方法 ,方法參數(shù)delegate 是實(shí)際的被代理對(duì)象, args 為執(zhí)行被代理對(duì)象相應(yīng)操作所需的參數(shù)。 InvocationHandler 接口中 的 invoke()方法 會(huì)傳 入被代理 對(duì)象 的方法 名稱與執(zhí)行參數(shù),而實(shí)際 要 執(zhí)行 的方法交由 (), 并 在其前 后 加上 日志記錄的功能 ,()傳 回的 對(duì)象 是 實(shí)際 方法 執(zhí)行過后 的 返回的結(jié)果 。 類中 的 靜態(tài) newProxyInstance()方法 依 據(jù) 要代理的 對(duì)象 、接口與 Handler 處理器組件類產(chǎn)生 一 個(gè) 代理 對(duì)象。 ( 4) 修改前面的 【例 610】 中的 TestUserManageImplement 測(cè)試類 為下面 的 【例 612】中的 代碼示例 【例 612】 修改后的 TestUserManageImplement 類的代碼示例 package 。 import .*。 public class TestUserManageImplement{ public TestUserManageImplement(){ WebBBSLogHandler webBBSLogHandler = new WebBBSLogHandler()。 UserManageInterface userManageProxy=(UserManageInterface) 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 16/16 頁 (new UserManageImplement())。 (張三 ,12345678)。 } public static void main(String[] args){ new TestUserManageImplement()。 } } ( 5) 再次執(zhí)行 TestUserManageImplement 測(cè)試類 的結(jié)果如下面的圖 所示 圖 TestUserManageImplement 測(cè)試類的執(zhí)行結(jié)果 借助于動(dòng)態(tài)代理的機(jī)制,開發(fā)者仍然可以在調(diào)用目標(biāo)被代理類之前或之后執(zhí)行一些相關(guān)功能操作。動(dòng)態(tài)代理的機(jī)制與前面的靜態(tài)代理技術(shù)的主要不同在于被代理的目標(biāo)對(duì)象 (也就是被代理類,本示例為 UserManageImplement 類 )可以在運(yùn)行時(shí)被動(dòng)態(tài)切換改變, 從而可以為不同形式的接口類提供統(tǒng)一形式的代理。 但 由于 在 動(dòng)態(tài)代理類 的編程實(shí)現(xiàn) 中大量地應(yīng)用了 Java 語言 中的反 射 技術(shù),因此其實(shí)現(xiàn)的代碼比較復(fù)雜 ,同時(shí)代碼的可讀性 也 比較差。 更好的解決本問題的方法則是應(yīng)用 Spring AOP 技術(shù)來實(shí)現(xiàn)。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1