Java Web——JavaBean简介
基本概念
JavaBean:
JavaBean是一種可重用的Java組件,它可以被Applet、Servlet、SP等Java應(yīng)用程序調(diào)用.也可以可視化地被Java開發(fā)工具使用。它包含屬性(Properties)、方法(Methods)、事件(Events)等特性。
JavaBean是一種軟件組件模型,就跟ActiveX控件一樣,它們提供已知的功能,可以輕松重用并集成到應(yīng)用程序中的java類。任何可以用Java代碼創(chuàng)造的對(duì)象都可以利用JavaBean進(jìn)行封裝。通過合理的組織具有不同功能的JavaBean,可以快速的生成一個(gè)全新的應(yīng)用程序,如果將這個(gè)應(yīng)用程序比作一輛汽車,那么這些JavaBean就好比組成這輛汽車的不同零件。對(duì)軟件開發(fā)人員來說,JavaBean帶來的最大的優(yōu)點(diǎn)是充分提高了代碼的可重用性,并且對(duì)軟件的可維護(hù)性和易維護(hù)性起到了積極作用。
JavaBean的種類按照功能可以劃分為可視化和不可視化兩類。可視化的JavaBean就是擁有GUI圖形用戶界面的,對(duì)最終用戶是可見的。不可視化的JavaBean不要求繼承,它更多的被使用在JSP中,通常情況下用來封裝業(yè)務(wù)邏輯、數(shù)據(jù)分頁邏輯、數(shù)據(jù)庫操作和事物邏輯等,這樣可以實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序的分離,提高了代碼的可讀性和易維護(hù)性,使系統(tǒng)更健壯和靈活。隨著JSP的發(fā)展,JavaBean更多的應(yīng)用在非可視化領(lǐng)域,并且在服務(wù)器端應(yīng)用方面表現(xiàn)出了越來越強(qiáng)的生命力。
特征
第一,其中JavaBean為共有類,此類要使用訪問權(quán)限對(duì)public進(jìn)行修飾,主要是為了方便JSP的訪問;
第二,JavaBean定義構(gòu)造的方式時(shí),一定要使用public修飾,同時(shí)不能要參數(shù),不定義構(gòu)造方式時(shí),Java編譯器可以構(gòu)造無參數(shù)方式;
第三,JavaBean屬性通常可以使用訪問權(quán)限對(duì)private進(jìn)行修飾,此種主要表示私有屬性,但是也只能在JavaBean內(nèi)使用,在聲明中使用public修飾的則被認(rèn)為是公有權(quán)限,主要是方便同時(shí)JSP進(jìn)行交互;
第四,使用setXXX()的方法以及getXXX()的方法得到JavaBean里的私有屬性XXX數(shù)值;
第五,JavaBean--定要放在包內(nèi),使用package進(jìn)行自定義,也可以放在JavaBean代碼第一行;
第六,對(duì)于部署好的JavaBean修改是,一定要重新編譯節(jié)碼文件,同時(shí)啟動(dòng)Tomcat服務(wù)器,之后便能夠生效。
?
優(yōu)點(diǎn)
構(gòu)件對(duì)組裝環(huán)境具有較強(qiáng)的適應(yīng)能力。通過主對(duì)象對(duì)組裝環(huán)境的感知,協(xié)調(diào)內(nèi)部對(duì)象作出反應(yīng),改變接口狀態(tài)以適應(yīng)環(huán)境。在必要時(shí),可依靠外部驅(qū)動(dòng)對(duì)象的引入,進(jìn)一步增強(qiáng)對(duì)環(huán)境的適應(yīng)能力。實(shí)現(xiàn)從分析設(shè)計(jì)到實(shí)現(xiàn)的平滑過渡。領(lǐng)域分析和設(shè)計(jì)的基本原則:將領(lǐng)域知識(shí)和計(jì)算機(jī)實(shí)現(xiàn)分離開來。將構(gòu)件內(nèi)部對(duì)象劃分成實(shí)現(xiàn)用戶功能的對(duì)象集和用于組裝的對(duì)象集加以實(shí)現(xiàn),符合分析和設(shè)計(jì)原則。最大限度地利用成熟的技術(shù)。從構(gòu)件的分析、設(shè)計(jì)和實(shí)現(xiàn)都可借助已有的比較成熟的面向?qū)ο蠹夹g(shù)。
JSP搭配JavaBean來使用,有以下的優(yōu)點(diǎn):
1.可將HTML和Java代碼分離,這主要是為了日后維護(hù)的方便。如果把所有的程序代碼(HTML和Java)寫到JSP頁面中,會(huì)使整個(gè)程序代碼又多又復(fù)雜,造成日后維護(hù)上的困難。
2.可利用JavaBean的優(yōu)點(diǎn)。將日常用到的程序?qū)懗蒍avaBean組件,當(dāng)在JSP要使用時(shí),只要調(diào)用JavaBean組件來執(zhí)行用戶所要的功能,不用再重復(fù)寫相同的程序,這樣以來也可以節(jié)省開發(fā)所需的時(shí)間。
組成
一個(gè)JavaBean由3部分組成:
(1) 屬性(properties)
JavaBean提供了高層次的屬性概念,屬性在JavaBean中不只是傳統(tǒng)的面向?qū)ο蟮母拍罾锏膶傩?#xff0c;它同時(shí)還得到了屬性讀取和屬性寫入的API的支持。屬性值可以通過調(diào)用適當(dāng)?shù)腷ean方法進(jìn)行。比如,可能bean有一個(gè)名字屬性,這個(gè)屬性的值可能需要調(diào)用String getName()方法讀取,而寫入屬性值可能要需要調(diào)用void setName(String str)的方法。
每個(gè)JavaBean屬性通常都應(yīng)該遵循簡單的方法命名規(guī)則,這樣應(yīng)用程序構(gòu)造器工具和最終用戶才能找到JavaBean提供的屬性,然后查詢或修改屬性值,對(duì)bean進(jìn)行操作。JavaBean還可以對(duì)屬性值的改變作出及時(shí)的反應(yīng)。比如一個(gè)顯示當(dāng)前時(shí)間的JavaBean,如果改變時(shí)鐘的時(shí)區(qū)屬性,則時(shí)鐘會(huì)立即重畫,顯示當(dāng)前指定時(shí)區(qū)的時(shí)間。
(2) 方法(method)
JavaBean中的方法就是通常的Java方法,它可以從其他組件或在腳本環(huán)境中調(diào)用。默認(rèn)情況下,所有bean的公有方法都可以被外部調(diào)用,但bean一般只會(huì)引出其公有方法的一個(gè)子集。由于JavaBean本身是Java對(duì)象,調(diào)用這個(gè)對(duì)象的方法是與其交互作用的唯一途徑。JavaBean嚴(yán)格遵守面向?qū)ο蟮念愒O(shè)計(jì)邏輯,不讓外部世界訪問其任何字段(沒有public字段)。這樣,方法調(diào)用是接觸Bean的唯一途徑。
但是和普通類不同的是,對(duì)有些Bean來說,采用調(diào)用實(shí)例方法的低級(jí)機(jī)制并不是操作和使用Bean的主要途徑。公開Bean方法在Bean操作中降為輔助地位,因?yàn)閮蓚€(gè)高級(jí)Bean特性--屬性和事件是與Bean交互作用的更好方式。因此Bean可以提供要讓客戶使用的public方法,但應(yīng)當(dāng)認(rèn)識(shí)到,Bean設(shè)計(jì)人員希望看到絕大部分Bean的功能反映在屬性和事件中,而不是在人工調(diào)用和各個(gè)方法中。
(3) 事件(event)
Bean與其他軟件組件交流信息的主要方式是發(fā)送和接受事件。我們可以將bean的事件支持功能看作是集成電路中的輸入輸出引腳:工程師將引腳連接在一起組成系統(tǒng),讓組件進(jìn)行通訊。有些引腳用于輸入,有些引腳用于輸出,相當(dāng)于事件模型中的發(fā)送事件和接收事件。
事件為JavaBean組件提供了一種發(fā)送通知給其他組件的方法。在AWT事件模型中,一個(gè)事件源可以注冊(cè)事件監(jiān)聽器對(duì)象。當(dāng)事件源檢測到發(fā)生了某種事件時(shí),它將調(diào)用事件監(jiān)聽器對(duì)象中的一個(gè)適當(dāng)?shù)氖录幚矸椒▉硖幚磉@個(gè)事件。 由此可見,JavaBean確實(shí)也是普通的Java對(duì)象,只不過它遵循了一些特別的約定而已。
開發(fā)要求
1.JavaBean本身就是一個(gè)類,屬于Java的面向?qū)ο缶幊獭?/p>
2.在JSP中如果要應(yīng)用JSP提供的Javabean的標(biāo)簽來操作簡單類的話,則此類必須滿足如下的開發(fā)要求:
(1)所有的類必須放在一個(gè)包中,在WEB中沒有包的是不存在的;
(2)所有的類必須聲明為public class,這樣才能夠被外部所訪問;
(3)類中所有的屬性都必須封裝,即:使用private聲明;
(4)封裝的屬性如果需要被外部所操作,則必須編寫對(duì)應(yīng)的setter、getter方法;
(5)一個(gè)JavaBean中至少存在一個(gè)無參構(gòu)造方法,此為JSP中的標(biāo)簽所使用。 ?
參考文章?
https://baike.baidu.com/item/javaBean/529577
https://www.cnblogs.com/mq0036/p/3873406.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Java Web——JavaBean简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringMVC——Maven项目依赖
- 下一篇: JAVA——[MySQLNonTrans