




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章JSP與JavaBean學(xué)習(xí)目的與要求本章主要介紹在JSP程序中如何使用JavaBean組件。通過(guò)本章的學(xué)習(xí),熟練掌握<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>等JSP的操作指令?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄5.1編寫(xiě)JavaBean5.2JSP中使用JavaBea建《JavaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.1編寫(xiě)JavaBeanJavaBean是一個(gè)可重復(fù)使用的軟件組件,是遵循一定標(biāo)準(zhǔn)、用Java語(yǔ)言編寫(xiě)的一個(gè)類(lèi),該類(lèi)的一個(gè)實(shí)例稱為一個(gè)JavaBean,簡(jiǎn)稱bean。JavaBean具有可重用、升級(jí)方便、不依賴于平臺(tái)等特點(diǎn)。JavaBean又可分為業(yè)務(wù)bean和數(shù)據(jù)bean。業(yè)務(wù)bean用于封裝業(yè)務(wù)邏輯、數(shù)據(jù)庫(kù)操作等;數(shù)據(jù)bean用于封裝數(shù)據(jù)?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.1編寫(xiě)JavaBean編寫(xiě)一個(gè)JavaBean就是編寫(xiě)一個(gè)Java類(lèi)(該類(lèi)必須帶有包名),這個(gè)類(lèi)創(chuàng)建的一個(gè)對(duì)象稱為一個(gè)bean,為了讓JSP引擎(比如Tomcat)知道這個(gè)bean的屬性和方法,JavaBean類(lèi)必須遵守以下規(guī)則:1.如果類(lèi)的成員變量的名字是name,那么為了獲取或更改成員變量的值,類(lèi)中必須提供兩個(gè)方法:
getName(),用來(lái)獲取屬性name。
setName(),用來(lái)修改屬性name。即方法的名字用get或set為前綴,后綴是首字母大寫(xiě)的成員變量的名字。2.對(duì)于boolean類(lèi)型的成員變量,允許使用“is”代替上面的“get”和“set”。3.類(lèi)中方法的訪問(wèn)權(quán)限必須是public。4.如果有構(gòu)造方法,必須提供一個(gè)無(wú)參數(shù)的構(gòu)造方法?!纠?-1】創(chuàng)建bean的源文件Rectangle.java(在包c(diǎn)om.bean中)。該bean的作用是封裝矩形的長(zhǎng)和寬,并計(jì)算矩形的面積和周長(zhǎng)?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄5.1編寫(xiě)JavaBean5.2JSP中使用JavaBean建《JavaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.2JSP中使用JavaBean在JSP頁(yè)面中使用bean時(shí),首先使用page指令的import屬性導(dǎo)入創(chuàng)建bean的類(lèi),例如:<%@pageimport="com.bean.*"%>《JavaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.2.1動(dòng)作標(biāo)記useBeanuseBean動(dòng)作標(biāo)記是用來(lái)查找或者實(shí)例化一個(gè)JavaBean。useBean標(biāo)記的格式為:<jsp:useBeanid="bean的名字"class="創(chuàng)建bean的類(lèi)"scope="bean的有效范圍"/>或<jsp:useBeanid="bean的名字"type="創(chuàng)建bean的類(lèi)"scope="bean的有效范圍"/>例如:<jsp:useBeanid="rectangle"class="com.bean.Rectangle"scope="page"/>屬性名描
述id指定該JavaBean實(shí)例的變量名,通過(guò)id可以訪問(wèn)這個(gè)實(shí)例。class指定JavaBean的類(lèi)名。如果需要?jiǎng)?chuàng)建一個(gè)新的實(shí)例,Web容器會(huì)使用class指定的類(lèi),并調(diào)用無(wú)參數(shù)的構(gòu)造方法來(lái)完成實(shí)例化。scope指定JavaBean的作用范圍,包括page、request、session和application。缺省值為page,表明此JavaBean只能應(yīng)用于當(dāng)前頁(yè);值為request表明此JavaBean只能應(yīng)用于當(dāng)前的請(qǐng)求;值為session表明此JavaBean能應(yīng)用于當(dāng)前會(huì)話;值為application則表明此JavaBean能應(yīng)用于整個(gè)應(yīng)用程序內(nèi)。type指定JavaBean對(duì)象的類(lèi)型,通常在查找已存在的JavaBean時(shí)使用,這時(shí)使用type將不會(huì)產(chǎn)生新的對(duì)象。如果是查找已存在的JavaBean對(duì)象,type屬性的值可以是此對(duì)象的準(zhǔn)確類(lèi)名、其父類(lèi)或者其實(shí)現(xiàn)的接口;如果是新建實(shí)例,則只能是準(zhǔn)確類(lèi)名或者父類(lèi)。另外,如果能夠確定此JavaBean的對(duì)象肯定存在,則指定type屬性后可以省略class屬性?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.2.1動(dòng)作標(biāo)記useBean當(dāng)含有useBean動(dòng)作標(biāo)記的JSP頁(yè)面被Web容器加載執(zhí)行時(shí),Web容器首先根據(jù)id的名字,在pageContext內(nèi)置對(duì)象中查看是否含有名字為id和作用域?yàn)閟cope的對(duì)象;如果該對(duì)象存在,Web容器就將這個(gè)對(duì)象的副本(bean)分配給JSP頁(yè)面使用;如果沒(méi)有找到,就根據(jù)class指定的類(lèi)創(chuàng)建一個(gè)名字是id的bean,并添加到pageContext對(duì)象中,同時(shí)將這個(gè)bean分配給JSP頁(yè)面使用?!纠?-2】編寫(xiě)1個(gè)JSP頁(yè)面example5_2.jsp,在JSP頁(yè)面中使用useBean標(biāo)記獲得一個(gè)bean,負(fù)責(zé)創(chuàng)建bean的類(lèi)是例5-1中的Rectangle類(lèi),bean的名字是rectangle,rectangle的scope取值為page?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.2.2動(dòng)作標(biāo)記getPropertyJavaBean的實(shí)質(zhì)是遵守一定規(guī)范的類(lèi)所創(chuàng)建的對(duì)象,可以通過(guò)兩種方式獲取bean的屬性:(1)在Java程序片或表達(dá)式中,使用bean對(duì)象調(diào)用getXxx()方法獲取bean的屬性值,比如,例5-2中的語(yǔ)句:<%=rectangle.getLength()%>;(2)先通過(guò)<jsp:useBean>標(biāo)記獲得一個(gè)bean,再通過(guò)<jsp:getProperty>標(biāo)記獲取bean的屬性值。使用getProperty動(dòng)作標(biāo)記可以獲得bean的屬性值。使用該動(dòng)作標(biāo)記之前,必須事先使用useBean動(dòng)作標(biāo)記獲得一個(gè)相應(yīng)的bean。getProperty動(dòng)作標(biāo)記語(yǔ)法格式如下:<jsp:getPropertyname="bean的名字"property="bean的屬性"/>或<jsp:getPropertyname="bean的名字"property="bean的屬性"/></jsp:getProperty>其中,name取值是bean的名字,與useBean標(biāo)記中的id對(duì)應(yīng);property取值是bean的一個(gè)屬性名字,和創(chuàng)建該bean的類(lèi)的成員變量名對(duì)應(yīng)。這條指令相當(dāng)于在Java表達(dá)式中使用bean的名字調(diào)用getXxx()方法?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.2.2動(dòng)作標(biāo)記getProperty【例5-3】創(chuàng)建bean的源文件NewRectangle.java,該bean的作用是計(jì)算矩形的面積和周長(zhǎng)。編寫(xiě)1個(gè)JSP頁(yè)面useGetProperty.jsp,在該JSP頁(yè)面中使用useBean標(biāo)記創(chuàng)建一個(gè)名字是pig的bean,并使用getProperty動(dòng)作標(biāo)記獲得pig的每個(gè)屬性值。負(fù)責(zé)創(chuàng)建pig的類(lèi)是NewRectangle類(lèi)?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.2.3動(dòng)作標(biāo)記setProperty除了在Java程序片中使用bean對(duì)象調(diào)用setXxx()方法修改bean的屬性值外,可以使用setProperty動(dòng)作標(biāo)記修改bean的屬性值。1.用表達(dá)式或字符串設(shè)置bean的屬性(1)用表達(dá)式設(shè)置bean的屬性<jsp:setPropertyname="bean的名字"property="bean的屬性"value="<%=expression%>"/>(2)用字符串設(shè)置bean的屬性<jsp:setPropertyname="bean的名字"property="bean的屬性"value="字符串"/>用表達(dá)式修改bean屬性值時(shí),表達(dá)式值的類(lèi)型必須與bean的屬性類(lèi)型一致?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.2.3動(dòng)作標(biāo)記setProperty2.通過(guò)HTTP表單參數(shù)值設(shè)置bean的屬性<jsp:setPropertyname="bean的名字"property="*"/>通過(guò)HTTP表單參數(shù)值設(shè)置bean的屬性時(shí),表單參數(shù)的名字必須與bean屬性的名字相同,服務(wù)器會(huì)根據(jù)名字自動(dòng)匹配,類(lèi)型自動(dòng)轉(zhuǎn)換。3.任意指定請(qǐng)求參數(shù)設(shè)置bean的屬性<jsp:setPropertyname="bean的名字"property="屬性名"param="參數(shù)名"/>可以根據(jù)自己的需要,任意選擇傳遞的參數(shù),請(qǐng)求參數(shù)名無(wú)需與bean屬性名相同?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.2.3動(dòng)作標(biāo)記setProperty【例5-4】用表達(dá)式或字符串修改bean的屬性。具體要求如下:(1)創(chuàng)建bean的源文件Car.java,該bean的作用是描述小汽車(chē)的一些屬性。(2)編寫(xiě)JSP頁(yè)面car.jsp,在該JSP頁(yè)面中使用useBean標(biāo)記創(chuàng)建一個(gè)名字是smallCar的bean,其有效范圍是page,并使用動(dòng)作標(biāo)記修改、獲取該bean的屬性值。負(fù)責(zé)創(chuàng)建smallCar的類(lèi)是Car。JSP頁(yè)面運(yùn)行效果如圖5.4所示?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.2.3動(dòng)作標(biāo)記setProperty【例5-5】通過(guò)HTTP表單參數(shù)值設(shè)置bean的屬性。具體要求如下:(1)編寫(xiě)JSP頁(yè)面inputCar.jsp和showCar.jsp。(2)在inputCar.jsp頁(yè)面中輸入信息后提交給showCar.jsp頁(yè)面顯示信息。(3)JSP頁(yè)面中用到的bean是例5-4中Car類(lèi)創(chuàng)建的?!禞avaWeb開(kāi)發(fā)從入門(mén)到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
5.2.4實(shí)踐環(huán)節(jié)——使用JavaBean計(jì)算三角形面積和周長(zhǎng)編寫(xiě)兩個(gè)JSP頁(yè)面:inputTriangle.jsp與showTriangle.jsp。inputTriangle.jsp提供一個(gè)表單,用戶可以通過(guò)表單輸入三角形的三條邊提交給showTriang
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆寧夏石嘴山市第一高級(jí)中學(xué)高二下化學(xué)期末質(zhì)量跟蹤監(jiān)視試題含解析
- 江蘇省南京一中2025屆高一下化學(xué)期末復(fù)習(xí)檢測(cè)試題含解析
- 2025屆廣東省深圳市耀華實(shí)驗(yàn)學(xué)校高一化學(xué)第二學(xué)期期末檢測(cè)試題含解析
- 山東省棲霞二中2025屆高一下化學(xué)期末聯(lián)考模擬試題含解析
- 殘聯(lián)康復(fù)資金管理辦法
- 團(tuán)隊(duì)基金管理辦法課件
- 51單片機(jī)糧倉(cāng)溫濕度檢測(cè)系統(tǒng)設(shè)計(jì)
- 大學(xué)生身體活動(dòng)對(duì)體質(zhì)健康影響的中介效應(yīng)研究
- 獸藥原料銷(xiāo)售管理辦法
- 杭州租車(chē)公司管理辦法
- 港口裝卸作業(yè)培訓(xùn)
- 2025年湖北省武漢市中考數(shù)學(xué)真題(無(wú)答案)
- 鉗工考試試題及答案
- 拖欠維修費(fèi)車(chē)輛以車(chē)抵債協(xié)議范本
- 2025至2030中國(guó)復(fù)印機(jī)行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 暑假安全家長(zhǎng)會(huì)4
- 2024年安徽省泗縣衛(wèi)生局公開(kāi)招聘試題帶答案
- 2025年北京市高考化學(xué)試卷真題(含答案)
- 2025年重慶市中考化學(xué)試卷真題(含標(biāo)準(zhǔn)答案)
- JG/T 202-2007工程管道用聚氨酯、蛭石絕熱材料支吊架
- 呼倫貝爾農(nóng)墾集團(tuán)有限公司招聘筆試題庫(kù)2025
評(píng)論
0/150
提交評(píng)論