JSP網(wǎng)頁(yè)編程(3).ppt_第1頁(yè)
JSP網(wǎng)頁(yè)編程(3).ppt_第2頁(yè)
JSP網(wǎng)頁(yè)編程(3).ppt_第3頁(yè)
JSP網(wǎng)頁(yè)編程(3).ppt_第4頁(yè)
JSP網(wǎng)頁(yè)編程(3).ppt_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Web應(yīng)用開(kāi)發(fā) JSP網(wǎng)頁(yè)編程 3 浙江工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 組件的概念 應(yīng)用軟件的開(kāi)發(fā)需要直接使用具有特定功能的程序 軟件組件 一個(gè)個(gè)具有一定功能的 且被封裝好的軟件模塊 形象地稱(chēng)為軟件黑匣子 組件與外界交流的接口組件保存的狀態(tài) 也成為屬性一定條件下 組件還可以觸發(fā)一些事件外部調(diào)用組件的方法完成一定任務(wù) JAVABEAN技術(shù) JAVABEAN是一種基于JAVA的軟件組件 JavaBean特點(diǎn) 可以實(shí)現(xiàn)代碼的重復(fù)利用 易編寫(xiě) 易維護(hù) 易使用 跨平臺(tái) JAVABEAN的模型 package包名 publicclass類(lèi)名 構(gòu)造方法 屬性 Property 方法 Method 分析 編寫(xiě)JavaBean就是編寫(xiě)一個(gè)Java的類(lèi) 這個(gè)類(lèi)創(chuàng)建的一個(gè)對(duì)象稱(chēng)作一個(gè)Bean JavaBean的主要特性 是一個(gè)Java類(lèi)有一個(gè)零參數(shù)的構(gòu)造函數(shù)不應(yīng)該有公開(kāi)的實(shí)例變量對(duì)值的獲取采用getXxx和setXxx方法來(lái)訪(fǎng)問(wèn) 最簡(jiǎn)單的JavaBean類(lèi) packageA publicclassAccessCountBean privateStringfirstPage publicStringgetFirstPage returnfirstPage publicvoidsetFirstPage StringfirstPage this firstPage firstPage JSP中使用JavaBean 創(chuàng)建一個(gè)Bean實(shí)例并指定它的名字和作用范圍語(yǔ)法格式如下 type package class otherelements id beanInstanceName 變量名對(duì)大小寫(xiě)敏感在所定義的范圍中確認(rèn)Bean的變量 使之能使用此變量名來(lái)分辨不同的Bean若Bean已在某 標(biāo)記中創(chuàng)建 則當(dāng)使用這個(gè)已經(jīng)創(chuàng)建過(guò)Bean時(shí) id的值必須與原來(lái)的那個(gè)id值一致 否則則意味著創(chuàng)建了同一個(gè)類(lèi)的兩個(gè)不同的對(duì)象 屬性 屬性 scope page request session application 描述Bean存在的范圍以及id變量名的有效范圍 缺省值是pagepage 能在包含 元素的JSP文件以及此文件中的所有靜態(tài)包含文件中使用這個(gè)Bean 直到頁(yè)面執(zhí)行完畢向客戶(hù)端發(fā)回響應(yīng)或轉(zhuǎn)到另一個(gè)文件為止 屬性 scope page request session application request 在任何執(zhí)行相同請(qǐng)求的Jsp文件中使用這個(gè)Bean 直到頁(yè)面執(zhí)行完畢向客戶(hù)端發(fā)回響應(yīng)或轉(zhuǎn)到另一個(gè)文件為止 能夠使用Request對(duì)象訪(fǎng)問(wèn)這個(gè)Bean 比如request getAttribute beanInstanceName 屬性 scope page request session application session Bean存在于整個(gè)Session生存周期內(nèi) 任何在分享此Session的Jsp文件都能使用同一Bean 注意在創(chuàng)建該Bean的Jsp文件中 指令中必須指定session true application Bean存在于整個(gè)application生存周期內(nèi) 任何在分享此application的Jsp文件都能使用同一Bean 屬性 class package class 使用new關(guān)鍵字從一個(gè)class中實(shí)例化一個(gè)bean該class不能是抽象的 必須有一個(gè)公用的 沒(méi)有參數(shù)的構(gòu)造器package和class名字區(qū)分大小寫(xiě)type package class 若Bean已經(jīng)在指定的范圍中存在 那么賦予該Bean一個(gè)的數(shù)據(jù)類(lèi)型 必須是Bean類(lèi)的名字 超類(lèi)名字 該類(lèi)所實(shí)現(xiàn)的接口名字之一 若使用type屬性的同時(shí)沒(méi)有使用class或beanName Bean將不會(huì)被實(shí)例化package和class名稱(chēng)區(qū)分大小寫(xiě) 屬性 beanName package class type package class 使用java beans Beans instantiate方法來(lái)從一個(gè)class或串行化的模板中實(shí)例化一個(gè)Bean 同時(shí)指定Bean的類(lèi)型Beans instantiate方法將檢查此名稱(chēng)是否表示一個(gè)類(lèi)或一個(gè)串行化模板 若這個(gè)Bean是被串行化的 那么Beans instantiate方法將通過(guò)使用一個(gè)類(lèi)裝載器讀取串行化格式 類(lèi)似package class ser 語(yǔ)法格式如下 屬性 name beanInstanceName bean的名字 由指定property propertyName 所指定的Bean的屬性名 例子 testCalendarof 設(shè)置Bean的屬性值語(yǔ)法格式如下 屬性 name beanInstanceName 在 中創(chuàng)建的Bean實(shí)例的名字property propertyName value string 使用指定的值來(lái)設(shè)定Bean屬性該值可以是字符串 也可以是表達(dá)式 若是字符串 它會(huì)被轉(zhuǎn)換成Bean屬性的類(lèi)型 若是一個(gè)表達(dá)式 它的類(lèi)型必須和將要設(shè)定的屬性值的類(lèi)型一致如果參數(shù)值為空值 那么對(duì)應(yīng)的屬性值也不會(huì)被設(shè)定不能在中同時(shí)使用param和value參數(shù) 屬性 屬性 屬性 property propertyName param parameterName 用一個(gè)參數(shù)值來(lái)指定Bean中的一個(gè)屬性值 一般情況下是從request對(duì)象中獲得的 其中property指定Bean的屬性名 param指定request中的參數(shù)名property 儲(chǔ)存用戶(hù)在jsp輸入的所有值 用于匹配Bean中的屬性 JavaBean的一些特殊問(wèn)題 boolean型屬性 允許用is代替get和set 例 建立類(lèi)rmg student 例子 packagermg publicclassstudent privatelongclassNo privateStringname privateintage privatebooleansexy 構(gòu)造函數(shù)publicstudent classNo 970431 name ZZZl age 34 sexy true publicintgetAge returnage publicvoidsetAge intage this age age publicbooleangetSexy returnsexy publicvoidsetSexy booleansexy this sexy sexy publiclonggetClassNo returnclassNo publicvoidsetClassNo longno this classNo no publicStringgetName returnname publicvoidsetName Stringname this name name 例子 例子 第一次運(yùn)行結(jié)果 以后運(yùn)行結(jié)果 第一行發(fā)生變化 JavaBean類(lèi)的安裝 bean安裝在常規(guī)的Java目錄中 WEB INF classes directoryMatchingPackageName 將Bean屬性與表單參數(shù)關(guān)聯(lián) 通過(guò)param指定表單元素的名稱(chēng) 通過(guò)perperty指定對(duì)應(yīng)的Bean屬性名稱(chēng) 由此建立這兩個(gè)變量的關(guān)聯(lián) 通過(guò) 來(lái)設(shè)置所有屬性和輸入?yún)?shù)之間的關(guān)聯(lián) 如何采用JavaBean實(shí)現(xiàn)表單數(shù)據(jù)回顯 問(wèn)題描述 用戶(hù)在輸入數(shù)據(jù)時(shí) 由于數(shù)據(jù)輸入不正確需要重輸 這時(shí)候 需要把用戶(hù)原來(lái)輸入的數(shù)據(jù)重新填回到頁(yè)面 解決方案 以個(gè)人檔案輸入為例 定義和表單參數(shù)相一致的Bean接收表單信息將表單數(shù)據(jù)填充到Bean在JSP中讀取Bean屬性 定義和表單參數(shù)相一致的Bean packagePersonInfo publicclassPersonBean privateStringname privateintage 0 privateStringpwd publicvoidsetName Stringname this name name publicStringgetName returnthis name 表單信息 登陸名 將表單數(shù)據(jù)填充到Bean 在JSP中讀取Bean屬性 你輸入的信息如下 登陸名 年齡 密碼 JAVABEAN的生命周期 Scope的取值 Page 該beans的有效范圍是當(dāng)前頁(yè)面Session 該beans的有效范圍是客戶(hù)的會(huì)話(huà)期間 Request 該beans的有效范圍是request期間Forward跳轉(zhuǎn)的頁(yè)面之間共享Application 所有客戶(hù)共享 Scope page 客戶(hù)端 useBeans jsp Circle對(duì)象1Scope page Circle對(duì)象2Scope page Circle對(duì)象3Scope page 第一次 第二次 第三次 setProperty getProperty setProperty getProperty setProperty getProperty Scope session 客戶(hù)端A Bean1 jspBean2 jsp Circle對(duì)象scope session Scope application Appbeans jsp Circle對(duì)象scope application 客戶(hù)端A 客戶(hù)端B Javabean開(kāi)發(fā)總結(jié) 定義javabean類(lèi)編譯得到 class文件把 class文件放入 WEB INF classes directoryMatchingPackageName目錄中采用jsp usebean或classa newbeanname進(jìn)行定義在JSP文件中采用jsp getProperty或id getXXX進(jìn)行調(diào)用 jsp usebean

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論