更新時(shí)間:2018-07-25 來(lái)源:黑馬程序員 瀏覽量:
無(wú)論 使用GET還是POST提交,到Servlet中只需要調(diào)用request.getParameter方法,中文亂碼就已經(jīng)處理好.
1.1.2 分析:1.1.2.1 技術(shù)分析:【request中的方法的增強(qiáng)】
? 繼承 :能夠控制這個(gè)類(lèi)的構(gòu)造.
? 裝飾者 :增強(qiáng)的類(lèi)和被增強(qiáng)的類(lèi)實(shí)現(xiàn)相同的接口,增強(qiáng)的類(lèi)中獲得到被增強(qiáng)的類(lèi)的引用.
* 接口中方法過(guò)多,只增強(qiáng)其中的某個(gè)方法.其他的方法也需要重寫(xiě).
? 動(dòng)態(tài)代理:被增強(qiáng)的類(lèi)實(shí)現(xiàn)了接口.
【代理的概述】
? 代理 :
? JDK中動(dòng)態(tài)代理 :Proxy對(duì)象.
* Proxy.newProxyInstance(ClassLoader cl,Class[] interfaces,InvocationHandler ih);
【動(dòng)態(tài)代理入門(mén)】:
1.1.3 代碼實(shí)現(xiàn):
1.1.4 總結(jié):1.1.4.1 代理的企業(yè)應(yīng)用:
【Spring的AOP】
AOP的底層使用的就是代理機(jī)制:
* AOP :面向切面編程.新的思想,用來(lái)解決OOP中遇到的一些問(wèn)題?。?!
1.1.4.2 類(lèi)加載器:
類(lèi)的加載器:將class文件加載到JVM中執(zhí)行這個(gè)文件.
Java中將類(lèi)加載器分成三類(lèi):
引導(dǎo)類(lèi)加載器: JAVA_HOME/jre/lib/rt.jar
|
擴(kuò)展類(lèi)加載器: JAVA_HOME/jre/lib/ext/*.jar
|
應(yīng)用類(lèi)加載器: 加載類(lèi)路徑下的所有的class.
這些類(lèi)加載器如何保證類(lèi)只會(huì)加載一次而且不會(huì)重復(fù)加載:
類(lèi)加載器的全盤(pán)委托機(jī)制:
class A {
String s;
}
由應(yīng)用類(lèi)加載器得到A.class String,class,委托給擴(kuò)展類(lèi)加載器,擴(kuò)展類(lèi)加載器又委托給引導(dǎo)類(lèi)加載器.引導(dǎo)類(lèi)加載器加載String.class.將其他的類(lèi)的class向下給擴(kuò)展類(lèi)加載器.擴(kuò)展類(lèi)加載器沒(méi)有找到.向下給應(yīng)用類(lèi)加載器,將A.class 加載.