小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

JSP漸進學習教程7

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

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

JavaBean的概念

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

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

JavaBean的屬性

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

單值屬性:

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

如:

int counter;

float tax;

String name;

Date datetime;

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

索引屬性:

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

如:int ID[];

String name[];

Float score[];

JavaBean的方法

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

構(gòu)造方法:

類似于類中的構(gòu)造器(即對它及它的成員變量進行初始化),它的方法名要和此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ī)則:

讀取一個屬性:getXXX()

改寫一個屬性:setXXX()

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

讀取屬性值:

public int getCounter{

return counter;

}

改寫屬性值:

public void setCounter(int counter){

this.counter=counter;

}

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

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

public boolean isWhizkid(){

return whizkid;

}

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

讀取索引屬性中的一個屬性值:

public String getName(int index){

return name[index];

}

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

public String[] getName(){

return name;

}

改寫索引屬性中的一個屬性值:

public void setName(int index,String str){

name[index]=str;

}

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

public void setName(String[] str){

name=str;

}

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

客戶端做的工作

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

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

二、在客戶端進行校驗、以及頁面的修飾等功能

客戶端提交的方法

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

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

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

post提交

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

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

<form method=post action=*.asp>

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

注:submit按鈕有一個默認事件,就是提交

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

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

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

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

注:

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

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

點擊"注冊"后,先執(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")

服務器端做的工作

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

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

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

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

第三類:cookie信息

獲得第一類信息用:

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

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

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

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

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

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

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

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

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

request.getProtocol():

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

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

獲得第二類 get 信息用:

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

獲得第二類 post 信息用:

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

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

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

獲得第三類Cookie信息用:

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多