乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      JSP漸進(jìn)學(xué)習(xí)教程7

       soone 2006-03-22
      使用Java Bean組件

      特點(diǎn):是可以在任何地方重用包括了可以在應(yīng)用程序中、其它組件、文檔、web站點(diǎn)和應(yīng)用程序構(gòu)造器工具的多種方案中再利用。

      JavaBean的概念

      JavaBean是一種獨(dú)立于平臺(tái)和結(jié)構(gòu)的應(yīng)用程序接口,它本身可以忽略內(nèi)部的結(jié)構(gòu)及細(xì)節(jié)問題,只需定義其外部的特征及對外功能就行。

      它有三種接口面可以獨(dú)立對外進(jìn)行開發(fā),就是:屬性、方法和事件

      JavaBean的屬性

      JSP組件的屬性有兩種:單值屬性、索引屬性

      單值屬性:

      相當(dāng)于平時(shí)編程中定義的一個(gè)成員變量,它只能有一個(gè)數(shù)據(jù)值,這個(gè)數(shù)據(jù)值的類型可以是Java中的任意數(shù)據(jù)類型,包括類和接口。

      如:

      int counter;

      float tax;

      String name;

      Date datetime;

      注:一種特殊的單值屬性(布爾屬性),它只有兩種允許的值:true、false

      索引屬性:

      相當(dāng)于平時(shí)說的數(shù)組,當(dāng)存放一批同類型的數(shù)據(jù)時(shí),需要用到索引屬性。

      如:int ID[];

      String name[];

      Float score[];

      JavaBean的方法

      方法包括構(gòu)造方法和訪問方法。

      構(gòu)造方法:

      類似于類中的構(gòu)造器(即對它及它的成員變量進(jìn)行初始化),它的方法名要和此JavaBean的類相同。如:

      package student;

      public class student{

      int counter;ind ID[];

      String name[];

      float score[];

      boolean whiszkid;

      public student(){

      ID=new int[50];

      name=new String[50];

      score=new float[50];

      counter=0;

      }

      }

      訪問方法:

      就是對組件中定義的屬性的訪問,包括讀和寫(一般情況與在Java中定義和使用的方法差不多),注意它的取名規(guī)則:

      讀取一個(gè)屬性:getXXX()

      改寫一個(gè)屬性:setXXX()

      訪問單值屬性:如對上面的counter單值屬性,它的兩個(gè)訪問方法可以為:

      讀取屬性值:

      public int getCounter{

      return counter;

      }

      改寫屬性值:

      public void setCounter(int counter){

      this.counter=counter;

      }

      訪問布爾型的單值屬性:對讀取屬性值采用isXXX()方法

      如對上面的布爾型的屬性whizkid的訪問可以為:

      public boolean isWhizkid(){

      return whizkid;

      }

      訪問索引屬性:有時(shí)要定義好幾個(gè)訪問方法,但它們的取名規(guī)則還是一樣的,如對上面的姓名屬性,它的讀取和改寫方法需這樣定義:

      讀取索引屬性中的一個(gè)屬性值:

      public String getName(int index){

      return name[index];

      }

      讀取索引屬性中的所有屬性值:

      public String[] getName(){

      return name;

      }

      改寫索引屬性中的一個(gè)屬性值:

      public void setName(int index,String str){

      name[index]=str;

      }

      改寫索引屬性中的所有屬性值:

      public void setName(String[] str){

      name=str;

      }

      在JSP中創(chuàng)建用JavaBean編寫的一個(gè)bean,實(shí)際上就是創(chuàng)建此類的一個(gè)對象。

      客戶端做的工作

      客戶端的工作可分兩部分:

      一、向服務(wù)器端發(fā)出請求即向服務(wù)器端發(fā)出提交

      二、在客戶端進(jìn)行校驗(yàn)、以及頁面的修飾等功能

      客戶端提交的方法

      客戶端的提交方法分兩種:get與post提交

      get可傳遞的信息只有2kb左右,而且是明碼傳送信息,所有的信息均可在地址欄中看見。

      post可傳遞大量信息,加密傳送,所有的信息均可在地址欄中是不可見的。

      post提交

      所有的post提交只能在form中產(chǎn)生,提交方式又分兩種:直接提交(submit提交)、間接提交(腳本提交)

      1)直接提交:點(diǎn)擊提交按鈕,立即發(fā)生提交

      <form method=post action=*.asp>

      <input type=submit value="注冊">

      注:submit按鈕有一個(gè)默認(rèn)事件,就是提交

      <input type=submit value="注冊" onclick="alert(‘hello‘);return ture or false;">

      注:在提交前,首先在屏幕上返回一個(gè)警告框"hello",若return的是true,則頁面發(fā)生提交;若return的是false,頁面不會(huì)發(fā)生提交。</form>

      2)間接提交:是指點(diǎn)擊按鈕本身并不能完成提交,而只有通過腳本才能完成的提交,稱為間接提交。

      <input type=button value="注冊" onclick="check();submit();">

      注:

      在onclick處還可為onmousedown、onmouseup等事件名稱

      button只是普通按鈕,本身并不能發(fā)生提交,只能通過onclick指定的腳本程序才能完成提交

      點(diǎn)擊"注冊"后,先執(zhí)行onclick事件觸發(fā)的函數(shù),若返回值為true則發(fā)生提交,否則提交中止。

      get提交

      get提交發(fā)生在form表單和url中

      1)在form中產(chǎn)生的

      <form method=get action=*.asp>

      2)在所有的url中產(chǎn)生的

      在地址欄中輸入url地址,后跟所要傳遞的參數(shù)http://*.asp?name=www&age=20

      在超鏈接上<a href="*.asp>mode=1&grade=1">click me </a>

      在圖片的src屬性中<img src="*.asp?name=www">

      在幀里的src屬性中<frame src=" *.asp?name=www" name=框架名>

      在asp重定向語句中response.redirect " *.asp?name=www"

      在客戶端對象document中:document.location=" http:// *.asp?name=www"

      在客戶端對象window中:window.open(" http:// *.asp?name=www")

      服務(wù)器端做的工作

      獲得客戶端信息的方法是通過request對象來完成的。

      客戶端提交到服務(wù)器端的信息分為三類:

      第一類:客戶機(jī)信息(包括客戶端的ip地址、端口號、主機(jī)名、提交方式等等)

      第二類:通過form或url方式提交到服務(wù)器端的信息

      第三類:cookie信息

      獲得第一類信息用:

      request.getHeader("User-agent")返回客戶端瀏覽器的版本號、類型

      getHeader(String name):獲得http協(xié)議定義的傳送文件頭信息

      request. getMethod():獲得客戶端向服務(wù)器端傳送數(shù)據(jù)的方法有GET、POST、PUT等類型

      request. getRequestURI():獲得發(fā)出請求字符串的客戶端地址

      request. getServletPath():獲得客戶端所請求的腳本文件的文件路徑

      request. getServerName():獲得服務(wù)器的名字

      request.getServerPort():獲得服務(wù)器的端口號

      request.getRemoteAddr():獲得客戶端的IP地址

      request.getRemoteHost():獲得客戶端電腦的名字,若失敗,則返回客戶端電腦的IP地址

      request.getProtocol():

      request.getHeaderNames():返回所有request header的名字,結(jié)果集是一個(gè)Enumeration(枚舉)類的實(shí)例

      request.getHeaders(String name):返回指定名字的request header的所有值,結(jié)果集是一個(gè)Enumeration(枚舉)類的實(shí)例

      獲得第二類 get 信息用:

      request. getQueryString("變量名呀或控件名")獲得查詢字符串,該串由客戶端以GET方法向服務(wù)器端傳送

      獲得第二類 post 信息用:

      request.getParameter(String name):獲得客戶端傳送給服務(wù)器端的參數(shù)值,該參數(shù)由name指定

      request.getParameterNames():獲得客戶端傳送給服務(wù)器端的所有的參數(shù)名,結(jié)果集是一個(gè)Enumeration(枚舉)類的實(shí)例

      request.getParameterValues(String name):獲得指定參數(shù)所有值

      獲得第三類Cookie信息用:

      request.getCookies( "cookie變量名"):返回客戶端的cookie對象,結(jié)果是一個(gè)cookie數(shù)組

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多