版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、掌握掌握J(rèn)avaBean的主要作用;的主要作用;掌握掌握J(rèn)avaBean的定義格式及使用操作。的定義格式及使用操作。JavaBean是使用Java語(yǔ)言開(kāi)發(fā)的一個(gè)可重用的組件,在JSP的開(kāi)發(fā)中可以使用JavaBean減少重復(fù)代碼,使整個(gè)JSP代碼的開(kāi)發(fā)更簡(jiǎn)潔。JSP搭配JavaBean來(lái)使用,有以下的優(yōu)點(diǎn): ,這主要是為了日后維護(hù)的方便。如果把,這主要是為了日后維護(hù)的方便。如果把可將可將HTML和和Java代碼分離代碼分離所有的程序代碼(所有的程序代碼(HTML和和Java)寫(xiě)到)寫(xiě)到JSP 頁(yè)面中,會(huì)使整個(gè)程序代碼又多又復(fù)雜,造成日后頁(yè)面中,會(huì)使整個(gè)程序代碼又多又復(fù)雜,造成日后維護(hù)上的困難。維
2、護(hù)上的困難。 可利用可利用JavaBean的優(yōu)點(diǎn)。將常用到的程序?qū)懗傻膬?yōu)點(diǎn)。將常用到的程序?qū)懗蒍avaBean組件,當(dāng)在組件,當(dāng)在JSP要使用時(shí),只要調(diào)用要使用時(shí),只要調(diào)用JavaBean組件來(lái)執(zhí)行用戶所要的功能,組件來(lái)執(zhí)行用戶所要的功能,不用再重復(fù)寫(xiě)不用再重復(fù)寫(xiě)相同的程序,相同的程序,這樣一來(lái)也可以節(jié)省開(kāi)發(fā)所需的時(shí)間。這樣一來(lái)也可以節(jié)省開(kāi)發(fā)所需的時(shí)間。 JavaBean本身就是一個(gè)類,屬于本身就是一個(gè)類,屬于Java的面向的面向?qū)ο缶幊?。?duì)象編程。在在JSP中如果要應(yīng)用中如果要應(yīng)用JSP提供的提供的Javabean的標(biāo)的標(biāo)簽來(lái)操作簡(jiǎn)單類的話,則此類必須滿足如下的簽來(lái)操作簡(jiǎn)單類的話,則此類必須
3、滿足如下的開(kāi)發(fā)要求:開(kāi)發(fā)要求: 所有的所有的類必須放在一個(gè)包類必須放在一個(gè)包中,在中,在WEB中沒(méi)有包的是中沒(méi)有包的是不存在的;不存在的;所有的所有的類必須聲明為類必須聲明為public class,這樣才能夠被,這樣才能夠被外部所訪問(wèn);外部所訪問(wèn);類中所有的類中所有的屬性都必須封裝屬性都必須封裝,即:使用,即:使用private聲聲明;明;封裝的屬性如果需要被外部所操作,則必須封裝的屬性如果需要被外部所操作,則必須編寫(xiě)對(duì)編寫(xiě)對(duì)應(yīng)的應(yīng)的setter、getter方法方法;package demo ;public class SimpleBeanprivate String name ;priv
4、ate int age ;public void setName(String name) = name ;public void setAge(int age)this.age = age ;public String getName()return ;public int getAge()return this.age ;simple.jsp姓名:姓名:年齡:年齡:除了使用除了使用import的語(yǔ)句之外,也可以使用的語(yǔ)句之外,也可以使用JSP中提供的:中提供的:指令完成操作,指指令完成操作,指令的操作語(yǔ)法如下所示:令的操作語(yǔ)法如下所示:主要屬性:主要屬
5、性:id:表示實(shí)例化對(duì)象的名稱 scope:表示此對(duì)象保存的范圍,一共有四種屬性范圍:page、request、session、application class:對(duì)象所對(duì)應(yīng)的包.類名稱 use_javabean_demo02.jsp姓名:姓名:年齡:年齡:通過(guò)JavaBean可以封裝JAVA的復(fù)雜操作;JSP中提供了專門的JavaBean操作標(biāo)簽,也可以使用page導(dǎo)入。JavaBean與表單與表單在JavaBean語(yǔ)法中實(shí)際上最大的特點(diǎn)就在于與表單的交互上,可以回顧一下:如果按照之前的做法,有一個(gè)表單提交了內(nèi)容給JSP,JSP中如果要是想進(jìn)行接收的話,則需要通過(guò)request,分別進(jìn)行接收
6、,并設(shè)置到JavaBean對(duì)應(yīng)的屬性里。Input_bean.htmInput_bean.jspSimpleBeaninput_bean.htm姓名:姓名:年齡:年齡:input_bean.jsp姓名:姓名:年齡:年齡:input_bean1.jsp姓名:姓名:年齡:年齡:標(biāo)簽可以通過(guò)“*”形式將表單中name和age文本框中的值自動(dòng)匹配到對(duì)象simple的name和age屬性中。而且自動(dòng)完成類型轉(zhuǎn)換。標(biāo)簽一共有四種使用方法:自動(dòng)匹配:自動(dòng)匹配:指定屬性:指定屬性:指定參數(shù):指定參數(shù):指定內(nèi)容:指定內(nèi)容:input_bean.jsp姓名:姓名:年齡:年齡:input_bean.jsp姓名:姓名
7、:年齡:年齡:property代表的是simple對(duì)象屬性,param代表的是文本框的名字即傳遞過(guò)來(lái)的參數(shù)。value_bean.jspjsp:setProperty name=simple property=age value=/姓名:姓名:年齡:年齡:在JavaBean的操作標(biāo)簽中也提供了專門取得屬性的標(biāo)簽:,此標(biāo)簽會(huì)自動(dòng)調(diào)用JavaBean中的getter()方法,與設(shè)置屬性的標(biāo)簽相比,取得屬性的標(biāo)簽只有一種語(yǔ)法格式: 姓名:姓名:年齡:年齡: JSP中專門提供了JavaBean的屬性設(shè)置標(biāo)簽:JSP中專門提供了JavaBean的屬性取得標(biāo)簽:設(shè)置和取得屬性的標(biāo)簽依靠的是反射機(jī)制運(yùn)行Ja
8、vaBean的保存范圍的保存范圍掌握J(rèn)avaBean的四種屬性范圍的特點(diǎn)。在的指令上存在了一個(gè)scope屬性,表示的是一個(gè)JavaBean的保存范圍,保存的范圍一共是四種:page:保存在一頁(yè)的范圍之中,跳轉(zhuǎn)之后此保存在一頁(yè)的范圍之中,跳轉(zhuǎn)之后此JavaBean無(wú)效;無(wú)效; request:一個(gè)一個(gè)JavaBean對(duì)象可以保存在一次服務(wù)對(duì)象可以保存在一次服務(wù)器跳轉(zhuǎn)范圍中;器跳轉(zhuǎn)范圍中; session:在一個(gè)用戶的操作范圍中保存,重新打在一個(gè)用戶的操作范圍中保存,重新打開(kāi)瀏覽器的時(shí)候才會(huì)聲明新的開(kāi)瀏覽器的時(shí)候才會(huì)聲明新的JavaBean; application:在整個(gè)服務(wù)器上保存,服務(wù)器關(guān)閉
9、時(shí)在整個(gè)服務(wù)器上保存,服務(wù)器關(guān)閉時(shí)才會(huì)消失。才會(huì)消失。 package demo ;public class Countprivate int count = 0 ;public Count()System.out.println(= 一個(gè)新的一個(gè)新的Count對(duì)象產(chǎn)生對(duì)象產(chǎn)生 =) ;public int getCount()return + this.count ;/ 每次自增之后返回每次自增之后返回;page_bean01.jsp第第次訪次訪問(wèn)!問(wèn)!page_bean02.jsp第第次訪次訪問(wèn)!問(wèn)!page_bean01.jsp第第次訪次訪問(wèn)!問(wèn)!page_bean02.jsp第第次訪次
10、訪問(wèn)!問(wèn)!session_bean.jsp第第次訪問(wèn)!次訪問(wèn)!application_bean.jsp第第次訪次訪問(wèn)!問(wèn)!JavaBean一共包含了四種屬性保存范圍,這一點(diǎn)與JSP中的四種屬性保存范圍是一樣的,唯一的區(qū)別就是page范圍不用像在JSP那樣通過(guò)pageContext指定了。掌握J(rèn)avaBean的刪除操作。JavaBean雖然使用了標(biāo)簽進(jìn)行創(chuàng)建,但是其操作依靠的仍然是四種屬性范圍,如果一個(gè)JavaBean不再使用的話,則可以直接使用四種屬性范圍的removeAttribute()方法進(jìn)行刪除。刪除page范圍的JavaBean可以使用:pageContext.removeAttri
11、bute(JavaBean名稱);刪除request范圍的JavaBean可以使用:request.removeAttribute(JavaBean名稱);刪除session范圍的JavaBean可以使用:session.removeAttribute(JavaBean名稱);刪除application范圍的JavaBean可以使用:application.removeAttribute(JavaBean名稱);delete_bean.jsp第第次訪問(wèn)!次訪問(wèn)!掌握程序的分層定義及各層的主要功能;掌握DAO的開(kāi)發(fā);掌握J(rèn)SP + DAO的開(kāi)發(fā)模式DAO(Data Access Object,數(shù)
12、據(jù)訪問(wèn)對(duì)象),主要的功能就是用于進(jìn)行數(shù)據(jù)操作的,在程序的標(biāo)準(zhǔn)開(kāi)發(fā)架構(gòu)中屬于數(shù)據(jù)層的操作 客戶層:客戶層:因?yàn)楝F(xiàn)在都采用了因?yàn)楝F(xiàn)在都采用了B/S開(kāi)發(fā)架構(gòu),所以一開(kāi)發(fā)架構(gòu),所以一般都使用瀏覽器進(jìn)行訪問(wèn)。般都使用瀏覽器進(jìn)行訪問(wèn)。顯示層:顯示層:使用使用JSP/Servlet進(jìn)行頁(yè)面效果的顯示。進(jìn)行頁(yè)面效果的顯示。業(yè)務(wù)層(業(yè)務(wù)層(Business Object,業(yè)務(wù)對(duì)象):會(huì)將多,業(yè)務(wù)對(duì)象):會(huì)將多個(gè)原子性的個(gè)原子性的DAO操作進(jìn)行組合,組合成一個(gè)完整的操作進(jìn)行組合,組合成一個(gè)完整的業(yè)務(wù)邏輯。業(yè)務(wù)邏輯。數(shù)據(jù)層(數(shù)據(jù)層(DAO):):提供多個(gè)原子性的提供多個(gè)原子性的DAO操作,例操作,例如:增加、修改、
13、刪除等,都屬于原子性的操作。如:增加、修改、刪除等,都屬于原子性的操作。在整個(gè)在整個(gè)DAO的中實(shí)際上都是以接口為操作標(biāo)準(zhǔn)的中實(shí)際上都是以接口為操作標(biāo)準(zhǔn)的,即:客戶端依靠的,即:客戶端依靠DAO實(shí)現(xiàn)的接口進(jìn)行操作,實(shí)現(xiàn)的接口進(jìn)行操作,而服務(wù)端要將接口進(jìn)行具體的實(shí)現(xiàn),而服務(wù)端要將接口進(jìn)行具體的實(shí)現(xiàn),DAO由以由以下幾個(gè)部分組成下幾個(gè)部分組成: DatabaseConnection:專門負(fù)責(zé)數(shù)據(jù)庫(kù)的打開(kāi)與專門負(fù)責(zé)數(shù)據(jù)庫(kù)的打開(kāi)與關(guān)閉操作的類;關(guān)閉操作的類; VO:主要由屬性、主要由屬性、setter、getter方法組成,方法組成,VO類中的屬性與表中的字段相對(duì)應(yīng),每一個(gè)類中的屬性與表中的字段相對(duì)應(yīng),
14、每一個(gè)VO類的類的對(duì)象都表示表中的每一條記錄;對(duì)象都表示表中的每一條記錄; DAO:主要定義操作的接口,定義一系列數(shù)據(jù)庫(kù)的主要定義操作的接口,定義一系列數(shù)據(jù)庫(kù)的原子性操作,例如:增加、修改、刪除、按原子性操作,例如:增加、修改、刪除、按ID查詢查詢等;等; Impl:DAO接口的真實(shí)實(shí)現(xiàn)類,完成具體的數(shù)據(jù)庫(kù)接口的真實(shí)實(shí)現(xiàn)類,完成具體的數(shù)據(jù)庫(kù)操作,但是不負(fù)責(zé)數(shù)據(jù)庫(kù)的打開(kāi)和關(guān)閉操作,但是不負(fù)責(zé)數(shù)據(jù)庫(kù)的打開(kāi)和關(guān)閉; package cn.mldn.lxh.dao;/ 定義在定義在dao包中包中import java.util.List;import cn.mldn.lxh.vo.Emp;public
15、 interface IEmpDAO / 定義定義DAO操操作標(biāo)準(zhǔn)作標(biāo)準(zhǔn)/* * 數(shù)據(jù)的增加操作,一般以doXxx的方式命名 * param emp 要增加的數(shù)據(jù)對(duì)象 * return 是否增加成功的標(biāo)記 * throws Exception 有異常交給被調(diào)用處處理 */public boolean doCreate(Emp emp) throws Exception ;/* * 查詢?nèi)康臄?shù)據(jù),一般以findXxx的方式命名 * param keyWord 查詢關(guān)鍵字 * return 返回全部的查詢結(jié)果,每一個(gè)Emp對(duì)象表示表的一行記錄 * throws Exception 有異常交給被調(diào)用處處理 */public List findAll(String
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版特色餐飲店鋪出租管理協(xié)議3篇
- 2025版小額貸款抵押合同財(cái)務(wù)報(bào)告披露要求3篇
- 買賣合同糾紛代理詞3篇
- 二零二五版薦知識(shí)產(chǎn)權(quán)擔(dān)保交易合同集3篇
- 二零二五年度城市通勤車輛出租合作協(xié)議4篇
- 二零二五年度員工借款爭(zhēng)議調(diào)解及勞動(dòng)法執(zhí)行合同
- 二零二五年度農(nóng)業(yè)OEM產(chǎn)品種植與加工合同范本3篇
- 二零二五年度工業(yè)廠房租賃市場(chǎng)拓展合同范本3篇
- 二零二五年度光伏充電樁場(chǎng)地共享租賃合同3篇
- 2025年度倉(cāng)儲(chǔ)物流零星維修施工合同協(xié)議書(shū)3篇
- 湖北省黃石市陽(yáng)新縣2024-2025學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末考試題 含答案
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報(bào)告
- 央視網(wǎng)2025亞冬會(huì)營(yíng)銷方案
- 《00541語(yǔ)言學(xué)概論》自考復(fù)習(xí)題庫(kù)(含答案)
- 《無(wú)砟軌道施工與組織》 課件 第十講雙塊式無(wú)砟軌道施工工藝
- 江蘇省南京市、鹽城市2023-2024學(xué)年高三上學(xué)期期末調(diào)研測(cè)試+英語(yǔ)+ 含答案
- 2024新版《藥品管理法》培訓(xùn)課件
- 《阻燃材料與技術(shù)》課件 第7講 阻燃橡膠材料
- 爆炸物運(yùn)輸安全保障方案
- 江蘇省南京市2025屆高三學(xué)業(yè)水平調(diào)研考試數(shù)學(xué)試卷(解析版)
- 2024年黑龍江省哈爾濱市中考數(shù)學(xué)試卷(附答案)
評(píng)論
0/150
提交評(píng)論