標籤具有的資訊:
1 定義標籤庫的書寫規範的文檔--tld
2 標籤處理類
自訂標籤:
1 編寫tld文檔,定義標籤書寫規範
2 編寫標籤處理類 ,整合SimpleTagSupport,覆蓋其中的doTag方法。
如果標籤有屬性,則在處理類中需要提供同名的私人屬性,
及其對應的set方法
3 將標籤定義文檔配置給web容器
web.xml
<jsp-config>
<taglib>
<taglib-uri>http://yangxp.king.com.cn</taglib-uri>
<taglib-location>/WEB-INF/yangxp.tld</taglib-location>
</taglib>
</jsp-config>
<yangxp:sayHello name="mary"></yangxp:sayHello>
==>
Hello!mary
PrintWriter: servlet--->頁面
JspWriter : jsp--->[servlet--->]jsp
1 <yangxp:sayHello name="mary"></yangxp:sayHello>
--------------------------------------------------------------------
直接輸出資訊:
JspWriter out = this.getJspContext().getOut();
out.println(....);
--------------------------------------------------------------------
2 <yangxp:forEach begin="" end="" step="">
hehe
</yangxp:forEach>
--------------------------------------------------------------------
JspFragment info = this.getJspBody();
info.invoke(null);
擷取標籤體的內容資訊,將資訊封裝在JspFragment對象中
JspFragment調用其invoke方法,是將內部封裝的資訊傳遞給參數中的流輸出
如果參數為Null,則預設傳給JspWriter輸出,即原樣輸出到頁面中
--------------------------------------------------------------------
3 <yangxp:convert type="lower">
Hello!HeHe
</yangxp:convert>
--------------------------------------------------------------------
JspFragment info = this.getJspBody();
//建立一個將資訊輸出到臨時記憶體的流
StringWriter out = new StringWriter();
//將JspFragment中封裝的標籤體資訊,傳遞給StringWriter內部的緩衝中
info.invoke(out);
//將緩衝中的資訊取出來
String str = out.toString();
//對資訊再加工
...
//將加工之後的資訊輸出到頁面中
this.getJspContext().getout().println(...);
--------------------------------------------------------------------
反射:
C --show(){
A a= new A();
a.show();
}
A --show(){
B b = new B();
b.show();
}
B --show()
String classPath = "com.sinojava.stuMgmt.web.servlet.AddServlet"
new classsPath();
tomcat--->web程式
Class.forName("oracle.jdbc.driver.OracleDirver"); --反射
特點:
在被調用資訊開發完成之前,即可開發調用者的流程
new oracle.jdbc.driver.OracleDirver(); --普通建立對象方式
缺陷:
調用著必須依賴於被調用者開發完成之後才能開發
1
class AddTest{
public int add(){
System.out.println(2);
}
}
2
class Test{
public void show(){
AddTest a = new AddTest();
a.add();
}
}
什麼是物件導向:
萬物皆對象
相對面向過程:
各司其職
類---》對象
張三 李四---》學生類
-----》人類
陳彥年 老徐-》老師類
---》生物類
小白 ---》狗類
-----》動物類
咪咪 ---》貓類
---------------------------------------------------------------
類中包含資訊: ---》Class 類的抽象概念
屬性 ---》Filed 屬性的抽象概念
方法 ---》Method方法的抽象概念
構造方法 ---》Constructor構造方法的抽象概念
---------------------------------------------------------------
反射機制的運行流程:
1 將字串表示的類路徑載入到jvm中
2 擷取調用類的構造方法類
3 使用構造方法類建立對象
4 擷取調用類中的方法類
5 使用對象調用方法
E:/Tomcat/apache-tomcat-5.5.12/webapps/stuMgmt/WEB-INF/classes/com/sinojava/stuMgmt/web/control/ControllerServlet
==>../../../../../../config.xml
E:/Tomcat/apache-tomcat-5.5.12/webapps/stuMgmt/WEB-INF/config.xml