資源描述:
《北大青鳥-JSP教程-(7).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第八章JavaBean和JSP中的標(biāo)準(zhǔn)動(dòng)作回顧JSP隱式對(duì)象是預(yù)定義的類,可被嵌入JSP表達(dá)式和Scriplet隱式對(duì)象通過JSP容器導(dǎo)入到JSP頁(yè)面中request、response和out對(duì)象等輸入和輸出對(duì)象用于顯示和檢索網(wǎng)頁(yè)中的信息session、application和pageContext等作用域通信和控制對(duì)象向JSP頁(yè)面提供頁(yè)面環(huán)境的訪問權(quán)page對(duì)象用于表示Servlet,而config對(duì)象用于存儲(chǔ)Servlet的初始化參數(shù)2目標(biāo)運(yùn)用JavaBean運(yùn)用JSP標(biāo)準(zhǔn)動(dòng)作3為什么要使用JavaBean前幾節(jié)課
2、所編寫的jsp頁(yè)面中混合了HTML代碼和java代碼,頁(yè)面顯示和業(yè)務(wù)邏輯混合在一起可讀性和可維護(hù)性都比較差為了分離頁(yè)面的HTML代碼和Java代碼,我們單獨(dú)編寫一個(gè)類來(lái)封裝頁(yè)面的業(yè)務(wù)邏輯,在頁(yè)面中調(diào)用該類的方法即可完整所需的功能這種封裝業(yè)務(wù)邏輯的類就是JavaBean組件4什么是JavaBeanJavaBean組件本質(zhì)上就是一個(gè)類,只不過這個(gè)類需要遵循一些編碼的約定在jsp頁(yè)面中可以通過new操作符來(lái)實(shí)例化JavaBean類的對(duì)象,也可以利用jsp技術(shù)中提供的動(dòng)作元素來(lái)訪問JavaBean5JavaBeanJavaBe
3、an是可重用組件可重用組件可在多個(gè)應(yīng)用程序中使用可以跨平臺(tái)JavaBean的優(yōu)點(diǎn)6JavaBean特性JavaBean特性它是一個(gè)公開的public類它有一個(gè)默認(rèn)的構(gòu)造方法,也就是不帶參數(shù)的構(gòu)造方法(在實(shí)例化JavaBean對(duì)象時(shí),需要調(diào)用默認(rèn)的構(gòu)造方法)它提供setXXX()方法和getXXX()方法來(lái)讓外部程序設(shè)置和獲取JavaBean的屬性。符合上述條件的類就可以看成是JavaBean組件7屬性的命名約定屬性(property)是JavaBean組件內(nèi)部狀態(tài)的抽象表示,外部程序使用屬性來(lái)設(shè)置和獲取JavaBean
4、組件的狀態(tài)。為了讓外部程序能夠知道JavaBean提供了那些屬性,JavaBean的編寫者必須遵循標(biāo)準(zhǔn)的命名方式例子:一個(gè)String類型的name屬性對(duì)應(yīng)的方法:publicStringgetName()publicvoidsetName(Stringname)為每一個(gè)屬性添加一個(gè)get和set方法,其中屬性名字的第一個(gè)字母大寫,然后在名字前面加上“get”和“set”只有g(shù)et方法則是只讀屬性,只有set方法則是可寫屬性,兩者都有則是可讀可寫屬性8屬性的命名約定-續(xù)get/set命名方式有一個(gè)例外。那就是對(duì)于boo
5、lean類型的屬性,應(yīng)該使用is/set命名方法,也可以使用get/set方法例子:privatebooleanmarriedpublicbooleanisMarried()publicvoidsetMarried()9JavaBean演示:創(chuàng)建如何創(chuàng)建JavaBean10屬性的類型JavaBean有4中類型的屬性:簡(jiǎn)單屬性、索引屬性、綁定屬性、約束屬性在jsp中,支持javaBean的簡(jiǎn)單屬性和索引屬性,綁定屬性和約束屬性則主要用于圖形界面編程中簡(jiǎn)單屬性接受單個(gè)值的屬性。只要采用get/set命名約定即可索引屬性就是
6、獲取和設(shè)置數(shù)組時(shí)使用的屬性。要運(yùn)用索引屬性,需要提供兩對(duì)get/set方法,一對(duì)用于數(shù)組,另一對(duì)用于數(shù)組中的元素11屬性的類型-索引12Jsp動(dòng)作元素Jsp中的元素有哪幾種類型?動(dòng)作元素為請(qǐng)求處理階段提供信息,jsp2.0規(guī)范定義了一些標(biāo)準(zhǔn)動(dòng)作。標(biāo)準(zhǔn)動(dòng)作是一些標(biāo)簽,它們影響jsp運(yùn)行時(shí)行為和對(duì)客戶端請(qǐng)求的響應(yīng),這些動(dòng)作由jsp容器來(lái)實(shí)現(xiàn)從效果上來(lái)說(shuō),一個(gè)標(biāo)準(zhǔn)動(dòng)作是嵌入到j(luò)sp頁(yè)面中的一個(gè)標(biāo)簽。在頁(yè)面被轉(zhuǎn)換為Servlet期間,當(dāng)JSP容器遇到這個(gè)標(biāo)簽,就用預(yù)先定義的對(duì)應(yīng)該標(biāo)簽的java代碼來(lái)替代它。Jsp2.0規(guī)范中定
7、義了20個(gè)標(biāo)準(zhǔn)的動(dòng)作元素指令元素,腳本元素,動(dòng)作元素13JSP標(biāo)準(zhǔn)動(dòng)作JSP標(biāo)準(zhǔn)動(dòng)作包括:JSP標(biāo)準(zhǔn)動(dòng)作14標(biāo)準(zhǔn)動(dòng)作用于:將JavaBean嵌入JSP頁(yè)面設(shè)置和獲取JavaBean的屬性將用戶請(qǐng)求轉(zhuǎn)發(fā)給其他頁(yè)面將其他頁(yè)面的內(nèi)容嵌入當(dāng)前頁(yè)面標(biāo)準(zhǔn)動(dòng)作可以為空標(biāo)簽及容器標(biāo)簽標(biāo)準(zhǔn)動(dòng)作中的屬性區(qū)分大小寫JSP中的標(biāo)準(zhǔn)動(dòng)作使用作為前綴JSP使用JavaBeanJavaBeanJ
8、SP可使用JSP標(biāo)準(zhǔn)動(dòng)作調(diào)用JavaBean組件并訪問屬性JSP頁(yè)面15動(dòng)作......創(chuàng)建引用并嵌入現(xiàn)有的Beanid屬性創(chuàng)建對(duì)class屬性中所述類的引用用于實(shí)例化JavaB