【正文】
也應(yīng)該通過調(diào)用各個屬性的設(shè)置方法來設(shè)置屬性的默認(rèn)值。所有屬性必須封裝,一個 Java Bean 類不應(yīng)有公共實例變量,類變量都為private。 Java Bean 的編寫要求編寫 Java Bean 必須滿足以下幾點要求:所有的 Java Bean 必須放在一個包(Package)中。屬性(Properties) :支持組件布局的控制,包括組件占用的空間和組件的相對位置。通信(Communication):生成和收集組件的消息事件。Bean 的編寫規(guī)范包括 Bean 類的構(gòu)造方法、定義屬性和訪問方法編寫規(guī)則。Bean 并不需要繼承特別的基類(Base Class)或?qū)崿F(xiàn)特定的接口(Interface)。 4. 類中如果有構(gòu)造方法,那么這個構(gòu)造方法也是 public 的并且是無參數(shù)的。 2. 對于 boolean 類型的成員變量,即布爾邏輯類型的屬性,允許使用is代替上面的get 和set。為了能讓使用這個 bean 的應(yīng)用程序構(gòu)建工具(比如JSP 引擎)知道這個 bean 的屬性和方法,只需在類的方法命名上遵守以下規(guī)則: 1. 如果類的成員變量的名字是 xxx,那么為了更改或獲取成員變量的值,即更改或獲取屬性,在類中可以使用兩個方法: getXxx(),用來獲取屬性 xxx。由于 javabean 是基于 java 語言的,因此 javabean 不依賴平臺,具有以下特點: 1. 可以實現(xiàn)代碼的重復(fù)利用 2. 易編寫、易維護(hù)、易使用 3. 可以在任何安裝了 Java 運行環(huán)境的平臺上的使用,而不需要重新編譯。第二種:按著 Sun 公司的定義, JavaBean 是一個可重復(fù)使用的軟件組件。用戶可以使用 JavaBean 將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用 java代碼創(chuàng)造的對象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的 JSP 頁面、Servlet、其他 JavaBean、applet 程序或者應(yīng)用來使用這些對象。JavaBean 通過提供符合一致性設(shè)計模式的公共方法將內(nèi)部域暴露成員屬性。第一種:JavaBean 是一種 JAVA 語言寫成的可重用組件?;?JSP 和 javaBean 開發(fā)模式正是一種有效實現(xiàn)方式。雖然理論上 JSP 和 servlet 能完成同樣的功能,但由于他們形式上的不一樣,JSP 直接包含 html 標(biāo)記, servlet 是純粹的 java 程序代碼,所以他們在 web 開發(fā)中有何不同的分工。JSP 可以通過 java 程序片段來訪問這些業(yè)務(wù)邏輯。該開發(fā)模式主要涉及兩部分內(nèi)容,JSP 和 javaBean。當(dāng)客戶端訪問 Applet 時, Servlet 容器首先從本地系統(tǒng)文件中讀取 Applet 文件中的數(shù)據(jù),在發(fā)送到客戶端,有客戶端來運行 Applet。(4).客戶端類:有客戶端運行的類。(3).靜態(tài)文檔:存放在服務(wù)器端的文件系統(tǒng)中,如 html 文檔圖片文件和聲音文件等等。JSP 組件 :包含 Java 程序代碼的 html 文檔,運行在服務(wù)器端當(dāng)客戶端請求訪問JSP 文件時,Servlet 容器首先把它編譯成 Servlet 類,然后在動態(tài)調(diào)用它。在 JavaWeb 應(yīng)用程序中可以包含如下內(nèi)容?;?Jsp 和JavaBean 的 web 開發(fā)模式的結(jié)構(gòu)圖如 23 所示: 圖 23 開發(fā)模式結(jié)構(gòu)圖在介紹該開發(fā)模式之前,先做一個 Java Web 應(yīng)用的簡介:SUN 的 servlet 規(guī)范對 JavaWeb 應(yīng)用作了這樣的定義: “Java Web 應(yīng)用是由一組Servlet/JSP、 Html 文檔、相關(guān) Java 類,以及其他可以被綁的資源構(gòu)成,他可以在各種提供商提供的符合 Servlet 規(guī)范的 Servlt 容器中運行。 Web 開發(fā)模式介紹隨著 Web 項目的越來越龐大,人們已經(jīng)不得不考慮項目的開發(fā)效率和成本,以及后期的維護(hù),正是這個原因,人們提出了 Web 開發(fā)模式這個概念,這個概念正是為了解決這方面的問題而產(chǎn)生的。JavaBean 一般用于封裝一些對像和對這些對象所進(jìn)行的操作,它實際上不出現(xiàn)在顯示界面上,它主要負(fù)責(zé)數(shù)據(jù)庫連接和數(shù)據(jù)的設(shè)置與獲取,在 jsp 請求某種操作的時候,jsp 頁面僅僅是顯示數(shù)據(jù),它不會對數(shù)據(jù)做任何操作,只是通過一定的方式把這種請求交給一個 bean 處理,請求的交付不是簡單的調(diào)用而已,必須在 jsp 頁面中做詳細(xì)的設(shè)置,到底是用哪一個 bean 對象,收到請求的 bean 對象對數(shù)據(jù)進(jìn)行操作,待到數(shù)據(jù)處理完了以后,會把處理完的結(jié)果返回給先前的 jsp 頁面,它的工作也就完成。基于 Jsp 和 JavaBean 的 web 開發(fā)模式的研究7 JavaBean 工作原理JavaBean 工作原理圖如圖 22 所示: 圖 22 JavaBean 工作原理圖JavaBean 處于三層結(jié)構(gòu)中的的二層,上連 Jsp,下接數(shù)據(jù)庫。具體地說,JavaBean在 Web 應(yīng)用程序中有以下 3 個用途。字從 JSP 誕生以后,JavaBean 更多的應(yīng)用在非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出了越來越強的生命力。這樣,方法調(diào)用是介接觸 Bean 的唯一途徑, ;事件 Event:Bean 與其他軟件組建交流信息的主要方式是發(fā)送和接受事件。1.JavaBean 的組成:屬性 Property:Bean 的屬性就是對象的屬性,但提供屬性讀寫和設(shè)置的接口支持;Method:由于 Bean 本身是 Java 對象,調(diào)用這個對象的方法是與其交互作用的唯一途徑。對于程序員來說,最好的一點就是 JavaBean 可以實現(xiàn)代碼的重復(fù)利用,另外對于程序的易維護(hù)性等也有很重大意義。 JavaBean 概述JavaBean 是描述 Java 的軟件組件模型有點類似 Microsoft 的 COM 組建的概念。 } % %! public void jspDestory() { (jspDestory)。 jspInit()及 jspDestory()格式如下:可在 jspInit()中進(jìn)行一些初始化工作,如建立與數(shù)據(jù)庫的連接,或建立網(wǎng)絡(luò)連接,從配置文件中取一些參數(shù)等,在 jspDestory()中釋放相應(yīng)的資源。此外,如果在任何時候如果由于系統(tǒng)資源不足的原因,JSP 引擎將以某種不確定的方式將 servlet從內(nèi)存中移去。如 文件被修改了,服務(wù)器將根據(jù)設(shè)置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結(jié)果取代內(nèi)存中的 servlet,并繼續(xù)上述處理過程。每個客戶端請求對應(yīng)一個線程。對每一個請求,JSP 引擎創(chuàng)建一個新的線程來處理該請求。然后創(chuàng)建一個該 SERVLET 的實例,該 SERVLET 的 jspInit()方法被執(zhí)行,jspInit()方法在servlet 的生命周期中只被執(zhí)行一次。而這個引擎本身也是一個 servlet,在 JSWDK 或 WEBLOGIC 中,它就是JspServlet。正是由于 JSP 技術(shù)和其它技術(shù)的不同,是的 JSP 由于展示的舞臺,是它快速的在 Web 開發(fā)領(lǐng)域占有的很大的比例,成為一顆耀眼的新星,它的發(fā)展更是不可估量的。JSP 技術(shù)在多方面加速了動態(tài) Web 頁面的開發(fā),JSP 主要有以下幾個方面的特點:JSP 技術(shù)在多方面加速了動態(tài) Web 頁面的開發(fā),JSP 主要有以下幾個方面的特點:;件的重用,此方法加速了總體開發(fā)進(jìn)程;。比較出名的如 IBM 的 Ebusiness。總體來說 JSP 應(yīng)該是未來的發(fā)展趨勢。還有上面提到的,PHP 提供的數(shù)據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運用在電子商務(wù)中。數(shù)據(jù)庫、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層亦可以根據(jù)流量分開,組成二維陣列。其次,缺乏多層結(jié)構(gòu)支持。在國內(nèi)采用 PHP 的網(wǎng)站有 ChinaRen 等,基于 Jsp 和 JavaBean 的 web 開發(fā)模式的研究4但 PHP 本身存在很多缺點。目前在國內(nèi) PHP 和 ASP 應(yīng)用最為廣泛。從一個平臺移植到另一個平臺,JSP 和 JavaBean 甚至不用編譯,因為 Java 字節(jié)碼都是標(biāo)準(zhǔn)的和平臺無關(guān)的。著名的Web 服務(wù)器 Apache 已經(jīng)能夠支持 JSP。如:Windows ,Linux ,Unix。而 PHP3/4 可以在Windows、Linux 、Unix 的 Web 服務(wù)器上運行還支持 IIS,Apache 等通用的 Web 服務(wù)器,用戶在更換平臺時需要對代碼做一定的改變,不是平臺無關(guān)的。在各自的應(yīng)用范圍內(nèi) ASP 只能運行在微軟的服務(wù)器產(chǎn)品上。JSP 技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴展到能夠支持企業(yè)級的分布式應(yīng)用。通過開發(fā)定制化標(biāo)記庫,JSP 技術(shù)是可以擴展的。JSP 技術(shù)封裝了很多功能,這些功能是在易用的、與 JSP 相關(guān)的 XML 表集中進(jìn)行動態(tài)內(nèi)容生成所需要的。這有助作者保護(hù)自己的代碼,而有保證任何基于 HTML 的 Web 瀏覽器的完全可用性。如果核心邏輯被封裝在標(biāo)記和Beans 中,那么他人如 Web 管理人員和頁面設(shè)計人員能夠編輯和使用 JSP 頁面,而不影響內(nèi)容的生成。使用 JSP 標(biāo)記或者小腳本來生成頁面上的動態(tài)內(nèi)容。基于 Jsp 和 JavaBean 的 web 開發(fā)模式的研究3 JSP 最大的特點是將內(nèi)容的生成和顯示分開。PHPLB 就是常用的可以提供一般事務(wù)需要的一系列基庫。PHP 與 Mysql 是黃金組合。不過 ASP 有一個缺點,安全性不是太好,你必須隨時注意 Microsoft 公司的補丁程序須及時更新你的系統(tǒng)。除了可以使用 VB Script 或 Java Script 語言來設(shè)計,還可以通過Plug_in 的方式使用第三方所提供的其他腳本語言,如 PerlScript。它還可以通過 ActiveX 服務(wù)器組件來擴充功能 ActiveX Server Component 可以使用VB,Java,C++,COBOL 等語言來實現(xiàn)。它集成于 HTML 紅,使用常規(guī)的文本編輯器,并與瀏覽器無關(guān),用戶端只要使用常規(guī)的可執(zhí)行的 HTML 碼的瀏覽器就可以瀏覽。JSP 可以在 Servlet 和 JavaBean/EJB/CORBA/JNDI 等支持下,構(gòu)建功能強大的電子商務(wù)應(yīng)用平臺。PHP 是完全免費的你可以自由下載,甚至可以不受限制的獲得源碼,從而加入你自己需要的特色。 PHP 是一種跨平臺的服務(wù)器端的嵌入式腳本語言,它大量的借用 C,Java 和perl 語言的語法,并結(jié)合 PHP 自己的特征,使 Web 開發(fā)者能夠快速的挾持動態(tài)生成頁面。Web 服務(wù)器(、Microsoft Site Server )會自動化將你設(shè)計的 ASP 的程序代碼解釋為標(biāo)準(zhǔn)的 HTML 格式的主頁內(nèi)容,在用戶端的瀏覽器上顯示出來?;?Jsp 和 JavaBean 的 web 開發(fā)模式的研究22 基礎(chǔ)理論知識 JSP 概述目前,最常用的動態(tài)網(wǎng)頁技術(shù)有 ASP(Active Server Page) ,JSP (Java Server Page) ,PHP( Hypertext Preprocessor) 。Web 開發(fā)技術(shù)從產(chǎn)生到現(xiàn)在, web 開發(fā)技術(shù)已經(jīng)相當(dāng)成熟,已經(jīng)不能停留在技術(shù)方面了,為了滿足開發(fā)的需求,程序員們已經(jīng)向 web 開發(fā)模式進(jìn)軍,已再次提高開發(fā)效率,降低 web 開發(fā)的成本。一個 Web 開發(fā)者倘若忘記了 Web 技術(shù)的最終目標(biāo)是提供信息和信息服務(wù),他的愚蠢程度就絲毫不亞于一個在足球場上只知道賣弄技巧,卻忘記了射門得分的大牌球星。他們在自己開發(fā)的網(wǎng)站或 Web 應(yīng)用中大肆堆砌各種所謂的 先進(jìn)技術(shù),但最終用戶能夠在這些網(wǎng)站或應(yīng)用中獲得的有價值信息卻寥寥無幾。也就是說,作為 Inter 上的一種應(yīng)用架構(gòu),Web 的首要任務(wù)就是向人們提供信息和信息服務(wù)。這三個特點無一不與信息的分發(fā)、獲取和利用有關(guān)。目前,與 Web 相關(guān)的各種技術(shù)標(biāo)準(zhǔn)都由著名的 W3C 組織(World Wide Web Consortium)管理和維護(hù)。 1990 年 11 月,第一個 Web 服務(wù)器 開始運行,Tim BernersLee 在自己編寫的圖形化 Web 瀏覽器WorldWideWeb 上看到了最早的 Web 頁面。s web development model is one of many technologies.The content of the research is the first is tolearn the theory of knowledge about jsp and javabean, to master the use of jsp and javabean, including the use of jsp directive, javabean class definition, how to set and get property, and how to call bean in the jsp file. And then analyze their practice,