版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章 JavaBean基礎(chǔ),JavaBean是一種Java語(yǔ)言寫成的可重用組件。JSP可以方便地支持JavaBean組件的使用。用戶將常用的功能寫入JavaBean。當(dāng)用戶需要使用這些功能,直接在JSP頁(yè)面調(diào)用對(duì)應(yīng)的JavaBean即可。實(shí)現(xiàn)了一次編寫,任何地方調(diào)用。本章將詳細(xì)講解如何編寫JavaBean,以及JSP如何調(diào)用JavaBean,最后我們會(huì)為大家展示JavaBean在Web領(lǐng)域的具體應(yīng)用。,4.1 創(chuàng)建JavaBean
2、,Sun公司對(duì)JavaBean的定義為:可以重復(fù)利用的軟件組件,它在遵循JavaBean技術(shù)規(guī)范的基礎(chǔ)上提供特定的功能,這些功能模塊可以組合成更大規(guī)模的應(yīng)用系統(tǒng)。JavaBean其實(shí)本質(zhì)上就是一個(gè)封裝了一系列屬性和方法的類。其中屬性和方法封裝需要遵循各特定的規(guī)范。本節(jié)將講解如何創(chuàng)建JavaBean。,4.1.1 JavaBean類,首先我們要?jiǎng)?chuàng)建一個(gè)JavaBean類。JavaBean類創(chuàng)建的語(yǔ)法格式如圖4.1所示。,,4.1.1
3、JavaBean類,一個(gè)標(biāo)準(zhǔn)的JavaBean類有以下幾個(gè)特性:它是一個(gè)公開(kāi)的(public)類。它有一個(gè)默認(rèn)的構(gòu)造方法,也就是不帶參數(shù)的構(gòu)造方法(在實(shí)例化JavaBean對(duì)象時(shí),需要調(diào)用默認(rèn)的構(gòu)造方法)。他提供getXXX()和setXXX()方法來(lái)讓外部程序設(shè)置和獲取JavaBean的屬性。一般來(lái)說(shuō),符合上述條件的類,我們都可以將其看做JavaBean類。明白了如何創(chuàng)建JavaBean類后,我們?cè)賮?lái)看如何創(chuàng)建JavaBea
4、n的屬性和方法。,4.1.2 JavaBean屬性和方法,JavaBean的屬性用于表示其內(nèi)部狀態(tài)。在Java Web開(kāi)發(fā)中,其屬性主要用來(lái)存儲(chǔ)中間數(shù)據(jù)。JavaBean屬性定義如圖4.2所示。對(duì)于我們?cè)贘avaBean中生命的屬性,在類中必須定義用來(lái)獲取或更改屬性值的兩個(gè)方法——getXXX()和setXXX()方法。JSP文件就運(yùn)用JavaBean方法在需要時(shí)從JavaBean中把這些屬性取出,然后在客戶端將其顯示出來(lái)。
5、根據(jù)JavaBean類特定的接口格式要求我們可以將其屬性分為簡(jiǎn)單方法和索引方法。,,1.簡(jiǎn)單方法,簡(jiǎn)單的方法是指一個(gè)擁有g(shù)et或者set方法的方法。我們?cè)贘ava Web開(kāi)發(fā)中使用的JavaBean屬性一般都是讀寫類型,必須采用標(biāo)識(shí)命名約定來(lái)定義getXXX()和setXXX()方法。對(duì)于布爾類型的值我們還可以采用is()屬性來(lái)獲取屬性值。簡(jiǎn)單方法的使用語(yǔ)法如圖4.1所示。,2.索引方法,索引方法是指一個(gè)有g(shù)et/set方法的數(shù)組方法。
6、get和set方法的作用同簡(jiǎn)單類型的方法一樣,即用來(lái)獲取和設(shè)置屬性值。但是索引方法不只有一個(gè)get或者set方法,可能有兩個(gè)get方法,但是參數(shù)不一樣。索引方法的語(yǔ)法格式如圖4.3所示。,,4.2 JSP與JavaBean交互的動(dòng)作指令,在JSP中專門提供了3個(gè)動(dòng)作指令來(lái)與JavaBean進(jìn)行交互,分別為動(dòng)作指令、動(dòng)作指令和動(dòng)作指令。,4.2.1 動(dòng)作指令,動(dòng)作指令用來(lái)在JSP頁(yè)面中獲取或創(chuàng)建一個(gè)JavaBean組件的實(shí)例并指定它的
7、名字和作用范圍。動(dòng)作指令的語(yǔ)法形式如圖4.6所示。,,4.2.1 動(dòng)作指令,該動(dòng)作指令表示的含義是:在頁(yè)面中引用一個(gè)已經(jīng)存在或創(chuàng)建一個(gè)新的由class屬性指定的Java類的實(shí)例,然后將其綁定到名字由id屬性給出的變量上,并且該變量只在scope屬性所指定的范圍內(nèi)有效。對(duì)于第二種形式,則是只用當(dāng)?shù)谝淮螌?shí)例化JavaBean時(shí),才執(zhí)行body(JSP語(yǔ)句)部分,如果是獲取現(xiàn)有的JavaBean實(shí)例,則不執(zhí)行body部分。然后我們看一下這幾
8、個(gè)屬性的作用,如表4.1所示。,4.2.2 動(dòng)作指令,在JSP頁(yè)面中我們可以通過(guò)和動(dòng)作指令來(lái)代替一般的get和set方法。動(dòng)作指令用來(lái)獲取JavaBean中指定的屬性值并將其轉(zhuǎn)化為一個(gè)字符串,然后將其輸出到頁(yè)面中。即其作用相當(dāng)于前面提到的getXXX()方法。動(dòng)作指令的語(yǔ)法格式如圖4.10所示。值得一提的是,在使用動(dòng)作指令之前,必須使用動(dòng)作指令來(lái)獲取或者創(chuàng)建JavaBean實(shí)例。,,4.2.3 動(dòng)作指令,動(dòng)作指令用來(lái)設(shè)
9、置已經(jīng)實(shí)例化的JavaBean對(duì)象的屬性值。實(shí)際上,該動(dòng)作指令作用即相當(dāng)于獲取屬性值的setXXX()方法。動(dòng)作指令有3種不同的語(yǔ)法形式。,1.通過(guò)表達(dá)式或字符串常量設(shè)置屬性,這種形式的具體語(yǔ)法格式如圖4.12所示。,,2.通過(guò)內(nèi)置對(duì)象request傳遞的參數(shù)值設(shè)置屬性,在實(shí)際應(yīng)用中,直接使用表達(dá)式或字符串常量設(shè)置值的情況很少,往往都是通過(guò)接收用戶請(qǐng)求中傳遞的參數(shù)值來(lái)設(shè)置JavaBean屬性的。該形式的具體語(yǔ)法如圖4.14所示。,,3.
10、通過(guò)表單的提交參數(shù)設(shè)置屬性,這種形式的具體語(yǔ)法形式如圖4.18所示。這種形式省略了第二種方式中的param屬性。但要求表單中參數(shù)名字必須與JavaBean中的名字一致。,,4.3 JavaBean的應(yīng)用,在Web應(yīng)用中,我們經(jīng)常要用到JavaBean,其中最常用的有兩種——計(jì)數(shù)器和數(shù)據(jù)庫(kù)應(yīng)用。有關(guān)數(shù)據(jù)庫(kù)的具體知識(shí)我們將在后面單獨(dú)一章為大家介紹。本節(jié)先來(lái)介紹這兩種功能的簡(jiǎn)單應(yīng)用。,4.3.1 計(jì)數(shù)器JavaBean,對(duì)于一
11、個(gè)Web應(yīng)用來(lái)說(shuō),計(jì)數(shù)器的功能幾乎是必不可少的。接下來(lái)我們就為大家介紹如何應(yīng)用JavaBean實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)數(shù)器。這個(gè)JavaBean的功能是定義一個(gè)計(jì)數(shù)器變量,并且給出這個(gè)變量的取值和賦值的方法。注意:在這個(gè)計(jì)數(shù)器中,刷新頁(yè)面不會(huì)改變計(jì)數(shù)器的值,只有新打開(kāi)一個(gè)瀏覽器窗口這時(shí)候才會(huì)使計(jì)數(shù)器的值增加,而且因?yàn)檫@個(gè)JavaBean的作用范圍是application,所以只要服務(wù)器在運(yùn)行這個(gè)計(jì)數(shù)器的值都會(huì)保存在服務(wù)器中,當(dāng)服務(wù)器關(guān)閉的時(shí)
12、候這個(gè)值會(huì)被置零。,4.3.2 數(shù)據(jù)庫(kù)應(yīng)用,JavaBean同樣可以使用到數(shù)據(jù)庫(kù)開(kāi)發(fā)中,從而簡(jiǎn)化開(kāi)發(fā)過(guò)程,提高代碼的可重用性。接下來(lái)的將要介紹的內(nèi)容就是利用JavaBean封裝數(shù)據(jù)庫(kù)操作。我們首先通過(guò)一個(gè)例子來(lái)說(shuō)明如何實(shí)現(xiàn)JavaBean操作數(shù)據(jù)庫(kù)。,4.4 小結(jié),本章主要介紹了JavaBean的屬性和方法,并在此基礎(chǔ)上介紹了JSP中與JavaBean交互的3個(gè)動(dòng)作指令的具體用法。最后通過(guò)實(shí)例講解了JavaBean作為計(jì)數(shù)器和在數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java web基礎(chǔ)總結(jié)
- 畢業(yè)論文---基于jsp和javabean的web開(kāi)發(fā)模式的研究
- 基于java的web開(kāi)發(fā)--控制界面設(shè)計(jì)
- 中興java 數(shù)據(jù)庫(kù) web開(kāi)發(fā)筆試題
- 基于java_web技術(shù)開(kāi)發(fā)的bbs論壇
- 基于java web的美食網(wǎng)站研究與開(kāi)發(fā)
- 基于java web的網(wǎng)上商城設(shè)計(jì)與開(kāi)發(fā)
- 集成Struts框架和企業(yè)JavaBean構(gòu)建多層web系統(tǒng).pdf
- 中興java web開(kāi)發(fā)工程師筆試題及答案
- 輕松學(xué)歌謠 快樂(lè)學(xué)英語(yǔ)
- 快樂(lè)數(shù)學(xué)輕松學(xué)
- 基于Java的主流Web開(kāi)發(fā)框架的研究與整合.pdf
- java瀏覽器課程設(shè)計(jì)--web瀏覽器開(kāi)發(fā)
- 基于ssh的web開(kāi)發(fā)及java技術(shù)選型-歡迎訪問(wèn)北京
- 《基于web的java開(kāi)發(fā)設(shè)計(jì)》課程設(shè)計(jì)-- 網(wǎng)上訂餐系統(tǒng)
- 信息學(xué)之?dāng)?shù)學(xué)基礎(chǔ)
- java web項(xiàng)目基本標(biāo)準(zhǔn)
- web前端開(kāi)發(fā)基礎(chǔ)離線作業(yè)全集答案
- 《web前端開(kāi)發(fā)基礎(chǔ)》作業(yè)考核試題
- 學(xué)音標(biāo),記單詞,輕松學(xué)英語(yǔ)
評(píng)論
0/150
提交評(píng)論