JSP第四天

來源:互聯網
上載者:User

標籤具有的資訊:
 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

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.