資源描述:
《javabean在jsp中的應(yīng)用》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第7章JavaBean在JSP中的應(yīng)用7.1JavaBean簡介7.2JavaBean的范圍7.3JSP訪問JavaBean的語法7.4在JSP中使用JavaBean7.5小結(jié)7.6習(xí)題7.1JavaBean簡介7.1.1什么是JavaBean7.1.2編寫JavaBean7.1.3編譯JavaBean7.1.1什么是JavaBeanJavaBean是一種Java語言寫成的可重用組件。為成為JavaBean,類必須是具體的和公共的,并且具有無參數(shù)的構(gòu)造函數(shù)。7.1.1什么是JavaBean一個Web應(yīng)用系統(tǒng)包括數(shù)據(jù)層、業(yè)務(wù)邏輯層和表示層。一個基本的JSP
2、頁面包含了HTML標(biāo)記和Java程序段,將表示層和業(yè)務(wù)邏輯層混雜在一起,使得頁面顯得混亂,不好維護(hù)。應(yīng)用JavaBean可以將表示層和業(yè)務(wù)邏輯層分開,把業(yè)務(wù)處理過程交給JavaBean完成,再由JSP頁面去調(diào)用JavaBean。JavaBean降低了JSP程序的復(fù)雜度,同時也增加了軟件的可重用性。7.1.2編寫JavaBean編寫JavaBean實(shí)際上就是編寫一個Java類,因此可以使用任何一個文本編輯器來編寫,如記事本。設(shè)計JavaBean類就是要設(shè)計這個JavaBean的屬性和方法JavaBean方法的命名規(guī)則:(1)如果成員變量的名字為Xx,則相應(yīng)
3、地有兩個用來得到成員變量值和設(shè)置變量值的方法,它們分別命名為getXx()和setXx()。即如下的兩種形式:publicdataTypegetXx()publicvoidsetXx(dataTypedata)其中,dataType是成員變量的數(shù)據(jù)類型,參數(shù)data是賦予成員變量的值。注意,方法名getXx和setXx中變量名第一個字母大寫。7.1.2編寫JavaBean(2)如果成員變量是boolean類數(shù)據(jù),則有三個方法和該成員變量對應(yīng),分別是:publicbooleanisXx()publicbooleangetXx()publicvoidsetX
4、x(booleandata)前兩個可用來得到成員變量的值,第三個用于設(shè)置成員變量的值。(3)訪問成員變量的方法都設(shè)為public,即公有方法;如果有構(gòu)造函數(shù),則必須有一個public類型且沒有參數(shù)的構(gòu)造函數(shù)。7.1.2編寫JavaBean【例7.1】JavaBean的編寫。此處以第四章的圖書征訂Bean為例。BookBean.java源代碼如下:packagebean;importjava.io.*;publicclassBookBean{privateStringBookName="";privateintBookNum=1;publicBookBea
5、n(){}publicvoidsetBookName(StringBookName){this.BookName=BookName;}7.1.2編寫JavaBeanpublicStringgetBookName(){returnthis.BookName;}publicvoidsetBookNum(intBookNum){this.BookNum=BookNum;}publicintgetBookNum(){returnthis.BookNum;}}需要注意的是,文件名必須要和類的名字相同,否則編譯時會出錯。7.1.3編譯JavaBeanJavaBean
6、必須經(jīng)過編譯成class字節(jié)碼文件才能供JSP文件調(diào)用。在許多的集成開發(fā)環(huán)境中,能夠自動完成編譯工作,如在Eclipse集成開發(fā)環(huán)境中編譯JavaBean類的方法很簡單,只需要保存源文件,就會自動編譯7.2JavaBean的范圍JavaBean存在四種作用范圍,或者叫生命周期:頁面范圍請求范圍會話范圍應(yīng)用范圍具體取值是通過scope屬性來指定的。7.2.1頁面范圍page范圍的JavaBean只在當(dāng)前頁面有效常用于進(jìn)行一次性操作的JavaBean,這樣的Bean用的最多,比如:大部分表單提交bean的一些計算處理7.2.2請求范圍此JavaBean對象保
7、存在request對象中有request范圍的JavaBean實(shí)例可以在處理請求的所有JSP頁面中都存在,這個對象只有在請求全部處理完畢后才會被釋放掉。比如判斷用戶登錄功能,如果用戶輸入的用戶名和密碼合法就可以用forward動作轉(zhuǎn)到一個合法輸入的處理頁面,否則就轉(zhuǎn)到一個出錯的處理頁面,這時,所轉(zhuǎn)到的頁面仍然可以得到用戶的輸入。7.2.3會話范圍是保存在session里的,它的生存周期是整個session,只有當(dāng)session過期后才能釋放掉。通常用于共享同一session的JSP頁面,比如購物車登錄后的用戶信息7.2.4應(yīng)用范圍是保存在applicat
8、ion對象里的,它的生存周期是整個application。只有當(dāng)WebServe