版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢 業(yè) 設(shè) 計(jì)(論 文)</p><p> 課題名稱: 基于JSP和JavaBean的Web</p><p><b> 開發(fā)模式的研究</b></p><p> 院 系: 計(jì)算機(jī)學(xué)院 </p><p> 專 業(yè): 軟件工程
2、</p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p><b> 任務(wù)與要求</b></p><p> 畢 業(yè) 設(shè) 計(jì) (論文) 工 作 計(jì) 劃</p><p> 學(xué)生姓名__辛繼民___指導(dǎo)教師__陳有為__職稱_助教(碩士)_</p><p> 院系___計(jì)算機(jī)學(xué)院____專業(yè)_
3、_ 軟件工程___________</p><p> 題目_《基于Jsp和JavaBean的Web開發(fā)模式的研究》____ </p><p> _______________________________________________________</p><p><b> 工作進(jìn)程</b></p><p&
4、gt; 3月15日~3月25日 完成開題報(bào)告。</p><p> 3月16日~3月31日 查閱、整理相關(guān)資料,學(xué)習(xí)理論知識(shí)。</p><p> 4月 1日~4月15日 進(jìn)行系統(tǒng)的分析、設(shè)計(jì)、編程。</p><p> 4月16日~4月30日 編程,并完成相關(guān)文檔撰寫
5、,準(zhǔn)備中期檢查。</p><p> 5月 1 日~5月15日 繼續(xù)完善畢業(yè)設(shè)計(jì)內(nèi)容,準(zhǔn)備撰寫畢業(yè)論文。</p><p> 5月16日~5月31日 完成畢業(yè)論文。</p><p> 6月 1日~6月10日 打印論文,準(zhǔn)備答辯。</p><p> 主要參考書目(資料
6、)</p><p><b> 《計(jì)算機(jī)網(wǎng)絡(luò)》</b></p><p> 《Java程序設(shè)計(jì)指南》</p><p> 一臺(tái)電腦、打印機(jī)等。</p><p> 每周至少有1個(gè)小時(shí)以上的畢設(shè)指導(dǎo)時(shí)間,平時(shí)通過郵件、電話、QQ等形式,隨時(shí)與學(xué)生保持良好的聯(lián)系,及時(shí)指導(dǎo)。</p><p><b
7、> 嚴(yán)格按照計(jì)劃執(zhí)行。</b></p><p> 畢業(yè)設(shè)計(jì)(論文)開題報(bào)告</p><p> 課題名稱: 基于JSP和JavaBean的Web</p><p> 開發(fā)模式的研究 </p><p><b> 說明:</b></p><p> 本報(bào)告必須由承擔(dān)畢業(yè)論
8、文(設(shè)計(jì))課題任務(wù)的學(xué)生在畢業(yè)論文(設(shè)計(jì)) 正式開始的第1周周五之前獨(dú)立撰寫完成,并交指導(dǎo)教師審閱。</p><p> 畢業(yè)設(shè)計(jì) (論文)成績(jī)?cè)u(píng)定表</p><p> 西安郵電學(xué)院畢業(yè)論文(設(shè)計(jì))成績(jī)?cè)u(píng)定表</p><p><b> 目 錄</b></p><p><b> 摘 要I</b&
9、gt;</p><p> AbstractII</p><p><b> 1引言1</b></p><p><b> 2基礎(chǔ)理論知識(shí)2</b></p><p> 2.1 JSP概述2</p><p> 2.2 JSP工作原理4</p><
10、;p> 2.3 JavaBean概述6</p><p> 2.4 JavaBean工作原理7</p><p> 2.5 Web開發(fā)模式介紹7</p><p> 3基于JSP和javaBean的web開發(fā)模式理論研究10</p><p> 3.1 JavaBean的定義10</p><p>
11、3.2 JavaBean的設(shè)置10</p><p> 3.3在Jsp中調(diào)用JavaBean12</p><p> 3.4運(yùn)用JavaBean技術(shù)訪問數(shù)據(jù)庫(kù)12</p><p> 3.5 建立基于Jsp和JavaBean的Web開發(fā)模式13</p><p> 3.5.1 B/S三層web開發(fā)結(jié)構(gòu)13</p>&l
12、t;p> 3.5.2 模式的設(shè)計(jì)思想13</p><p> 3.5.3 模式的工作原理14</p><p> 3.5.4 模式的特點(diǎn)和優(yōu)勢(shì)15</p><p> 4基于JSP和javaBean的web開發(fā)模式的實(shí)例應(yīng)用16</p><p> 4.1實(shí)例介紹16</p><p> 4.1.1
13、功能概述16</p><p> 4.1.2 實(shí)例應(yīng)用研究驗(yàn)證16</p><p> 4.2 運(yùn)用JSP和JAVABEAN進(jìn)行WEB開發(fā)17</p><p> 4.2.1 搭建Web開發(fā)環(huán)境17</p><p> 4.2.2 實(shí)例中基于jsp的編程19</p><p> 4.2.3實(shí)例中基于Javab
14、ean的編程24</p><p> 4.3 實(shí)例應(yīng)用總結(jié)28</p><p><b> 5 結(jié)論29</b></p><p><b> 結(jié)束語(yǔ)30</b></p><p><b> 致 謝31</b></p><p><b>
15、 參考文獻(xiàn)32</b></p><p><b> 摘 要</b></p><p> 隨著web技術(shù)的引入,顯現(xiàn)了大批的web開發(fā)語(yǔ)言,例如asp,jsp,php等等,早期,各種開發(fā)語(yǔ)言還不成熟,開發(fā)不是很看重開發(fā)的效率而關(guān)心的重點(diǎn)是怎樣達(dá)到預(yù)期的功能,隨著各種語(yǔ)言的完善,出現(xiàn)了很多新的技術(shù),此時(shí)它們看重的是怎樣提高開發(fā)的效率,怎樣降低成本,像本課
16、題研究的基于jsp和javabean的web開發(fā)模式就是眾多技術(shù)中的一種。</p><p> 本課題研究的內(nèi)容是首先通過學(xué)習(xí)jsp和javabean的理論知識(shí),掌握jsp和javabean的使用,包括jsp指令的使用,javabean類的定義,屬性的設(shè)置與獲取以及如何在jsp文件中調(diào)用bean。然后在對(duì)它們進(jìn)行分析實(shí)踐,最后用一個(gè)簡(jiǎn)單的實(shí)例來驗(yàn)證用jsp和javabean技術(shù)可以完成web開發(fā),并且此種開發(fā)模式
17、和以往傳統(tǒng)的web開發(fā)模式有著明顯的優(yōu)勢(shì)。研究方式是通過理論聯(lián)系實(shí)踐,一方面學(xué)習(xí)書本知識(shí),另一方面通過實(shí)例研究,達(dá)到事半功倍的效果。通過研究,這種開發(fā)模式的確有它的優(yōu)點(diǎn),比如把數(shù)據(jù)的顯示和數(shù)據(jù)的操作分開,使得維護(hù)更容易,再加上javabean封裝了操作和屬性,并且使用java編寫,使得它的使用更方便,跨平臺(tái)性更好。</p><p> 關(guān)鍵詞:web開發(fā) 開發(fā)模式 jsp javabean</p&g
18、t;<p><b> Abstract</b></p><p> With the introduction of web technology, revealed a large number of web development languages,such as asp, jsp, php,and so on, early, a variety of developm
19、ent languages is not yet ripe , development is not a great importance on developing the efficiency of the major concerns is how to achievethe expected features, with the language of improving, there have been many new te
20、chnologies, then they saw in the need to improve the efficiency of development and how to reduce costs, as the study of the s</p><p> The content of the research is the first is tolearn the theory of knowle
21、dge 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
22、practice,finally with a simple example to verify the use of jsp and javabean can complete web development, and that such development patterns and past the traditional web development model has clear advantage</p>
23、<p><b> 1引言</b></p><p> 眾所周知,Web這個(gè)Internet上最熱門的應(yīng)用架構(gòu)是由Tim Berners-Lee發(fā)明的。Web的前身是1980年Tim Berners-Lee負(fù)責(zé)的Enquire(Enquire Within Upon Everything的簡(jiǎn)稱)項(xiàng)目。1990年11月,第一個(gè)Web服務(wù)器nxoc01.cern.ch開始運(yùn)行,Tim
24、Berners-Lee在自己編寫的圖形化Web瀏覽器"WorldWideWeb"上看到了最早的Web頁(yè)面。1991年,CERN(European Particle Physics Laboratory)正式發(fā)布了Web技術(shù)標(biāo)準(zhǔn)。目前,與Web相關(guān)的各種技術(shù)標(biāo)準(zhǔn)都由著名的W3C組織(World Wide Web Consortium)管理和維護(hù)。 從技術(shù)層面看,Web架構(gòu)的精華有三處:用超文本技術(shù)(HTML)實(shí)現(xiàn)信息與
25、信息的連接;用統(tǒng)一資源定位技術(shù)(URI)實(shí)現(xiàn)全球信息的精確定位;用新的應(yīng)用層協(xié)議(HTTP)實(shí)現(xiàn)分布式的信息共享。這三個(gè)特點(diǎn)無一不與信息的分發(fā)、獲取和利用有關(guān)。其實(shí),Tim Berners-Lee早就明確無誤地告訴我們:"Web是一個(gè)抽象的(假想的)信</p><p> Web開發(fā)技術(shù)從產(chǎn)生到現(xiàn)在,web開發(fā)技術(shù)已經(jīng)相當(dāng)成熟,已經(jīng)不能停留在技術(shù)方面了,為了滿足開發(fā)的需求,程序員們已經(jīng)向web開發(fā)模式進(jìn)
26、軍,已再次提高開發(fā)效率,降低web開發(fā)的成本。現(xiàn)今web開發(fā)模式雖然已經(jīng)有很多種,但是他們的用途卻不一樣,有的是能夠用于開發(fā)大的項(xiàng)目,有的適合開發(fā)適中大小的的,能不能根據(jù)現(xiàn)有的知識(shí),再提出一種web開發(fā)模式,使它用于開發(fā)小的項(xiàng)目,這也是此次研究的目的。</p><p><b> 2基礎(chǔ)理論知識(shí)</b></p><p><b> 2.1 JSP概述<
27、/b></p><p> 目前,最常用的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)有ASP(Active Server Page),JSP(Java Server Page),PHP(Hypertext Preprocessor)。</p><p> ASP內(nèi)涵于Microsoft Internet Information Server(IIS)當(dāng)中,提供一個(gè)服務(wù)器端的運(yùn)行環(huán)境,現(xiàn)在IIS 6.0已經(jīng)支持AS
28、P 4.0了。Web服務(wù)器(IIS3.0/4.0/5.0/6.0、Microsoft Site Server 2.0)會(huì)自動(dòng)化將你設(shè)計(jì)的ASP的程序代碼解釋為標(biāo)準(zhǔn)的HTML格式的主頁(yè)內(nèi)容,在用戶端的瀏覽器上顯示出來。用戶端只要使用常規(guī)可執(zhí)行HTML碼的瀏覽器即可以瀏覽。</p><p> PHP是一種跨平臺(tái)的服務(wù)器端的嵌入式腳本語(yǔ)言,它大量的借用C,Java和perl語(yǔ)言的語(yǔ)法,并結(jié)合PHP自己的特征,使Web
29、開發(fā)者能夠快速的挾持動(dòng)態(tài)生成頁(yè)面。它支持目前所有的數(shù)據(jù)庫(kù)。PHP是完全免費(fèi)的你可以自由下載,甚至可以不受限制的獲得源碼,從而加入你自己需要的特色。</p><p> JSP是SUN公司推出的新一代站點(diǎn)開發(fā)語(yǔ)言它完全解決了目前ASP和PHP的一個(gè)通病腳本級(jí)執(zhí)行。JSP可以在Servlet和JavaBean/EJB/CORBA/JNDI等支持下,構(gòu)建功能強(qiáng)大的電子商務(wù)應(yīng)用平臺(tái)。</p><p&g
30、t; ASP無需編譯或鏈接就可以解釋執(zhí)行。它集成于HTML紅,使用常規(guī)的文本編輯器,并與瀏覽器無關(guān),用戶端只要使用常規(guī)的可執(zhí)行的HTML碼的瀏覽器就可以瀏覽。Script語(yǔ)言在Web服務(wù)器執(zhí)行,用戶不需要執(zhí)行這些Script代碼。它還可以通過ActiveX服務(wù)器組件來擴(kuò)充功能ActiveX Server Component可以使用VB,Java,C++,COBOL等語(yǔ)言來實(shí)現(xiàn)。此外,Active Server Page與任何Activ
31、eX Scripting語(yǔ)言兼容。除了可以使用VB Script或Java Script語(yǔ)言來設(shè)計(jì),還可以通過Plug_in的方式使用第三方所提供的其他腳本語(yǔ)言,如PerlScript。他的源程序代碼不會(huì)傳到用戶的瀏覽器,可以保護(hù)源代碼。不過ASP有一個(gè)缺點(diǎn),安全性不是太好,你必須隨時(shí)注意Microsoft公司的補(bǔ)丁程序須及時(shí)更新你的系統(tǒng)。</p><p> PHP可以支持具有與許多數(shù)據(jù)庫(kù)有關(guān)的函數(shù)。PHP與M
32、ysql是黃金組合。你還可以自己編寫外圍的函數(shù)間接存取數(shù)據(jù)庫(kù)而當(dāng)你更換使用的數(shù)據(jù)庫(kù)時(shí),可以輕松的更改編碼以適應(yīng)這樣的變化。PHPLB就是常用的可以提供一般事務(wù)需要的一系列基庫(kù)。但PHP提供的支持?jǐn)?shù)據(jù)庫(kù)的接口不統(tǒng)一,比如對(duì)Oracle、Mysql、Sybase的接口,這也是PHP的一個(gè)缺點(diǎn)。</p><p> JSP最大的特點(diǎn)是將內(nèi)容的生成和顯示分開。使用JSP技術(shù)Web開發(fā)人員可以使用HTML或者XML標(biāo)記來設(shè)
33、計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)記或者小腳本來生成頁(yè)面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在JSP標(biāo)記和JavaBean組件中,并捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)記和Beans中,那么他人如Web管理人員和頁(yè)面設(shè)計(jì)人員能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)記和小腳本,生成所請(qǐng)求的內(nèi)容,并且將結(jié)果以HTML或者XML的格式發(fā)送給瀏覽器。這有助作者保護(hù)自己的代碼,而有保
34、證任何基于HTML的Web瀏覽器的完全可用性。Web頁(yè)面開發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。JSP技術(shù)封裝了很多功能,這些功能是在易用的、與JSP相關(guān)的XML表集中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)記能夠訪問和實(shí)例化JavaBean組件,設(shè)置或者得到組件屬性,下載applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。通過開發(fā)定制化標(biāo)記庫(kù),JSP技術(shù)是可以擴(kuò)展的。技術(shù)人員可以為常用的功能創(chuàng)建自己的標(biāo)記庫(kù),這使得Web頁(yè)面開發(fā)人
35、員能夠使用熟練的</p><p> 在各自的應(yīng)用范圍內(nèi)ASP只能運(yùn)行在微軟的服務(wù)器產(chǎn)品上。Unix下也有ChiliSoft的插件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的組合來擴(kuò)充,UNix下的COM實(shí)現(xiàn)起來非常困難。而PHP3/4可以在Windows、Linux、Unix的Web服務(wù)器上運(yùn)行還支持IIS,Apache等通用的Web服務(wù)器,用戶在更換平臺(tái)時(shí)需要對(duì)代碼做一定的改變,不是平臺(tái)無
36、關(guān)的。JSP同PHP3/4類似,幾乎可以運(yùn)行在所有的平臺(tái)上。如:Windows ,Linux,Unix。Windows下IIS通過一個(gè)插件,如JRun或者ServletExec、resin、tomcat,就能支持JSP。著名的Web服務(wù)器Apache已經(jīng)能夠支持JSP。雖然現(xiàn)在Windows操作系統(tǒng)占了很大的市場(chǎng)份額,但是在服務(wù)器方面Linux還是有很大優(yōu)勢(shì)的。從一個(gè)平臺(tái)移植到另一個(gè)平臺(tái),JSP和JavaBean甚至不用編譯,因?yàn)镴av
37、a字節(jié)碼都是標(biāo)準(zhǔn)的和平臺(tái)無關(guān)的。在性能比較上,曾經(jīng)有人做過這樣的實(shí)驗(yàn),對(duì)這三種語(yǔ)言分別做循環(huán)實(shí)驗(yàn)測(cè)試以及存取Oracle數(shù)據(jù)庫(kù)測(cè)試,JSP都是最快的。</p><p> 目前在國(guó)內(nèi)PHP和ASP應(yīng)用最為廣泛。但在國(guó)外JSP已經(jīng)是比較流行的一種技術(shù)尤其是電子商務(wù)類的網(wǎng)站多采用JSP。在國(guó)內(nèi)采用PHP的網(wǎng)站有ChinaRen等,但PHP本身存在很多缺點(diǎn)。首先,PHP缺乏規(guī)模支持。其次,缺乏多層結(jié)構(gòu)支持。對(duì)于大夫和網(wǎng)
38、站,解決辦法只有一個(gè):分布計(jì)算。數(shù)據(jù)庫(kù)、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層亦可以根據(jù)流量分開,組成二維陣列。而PHP則缺乏這種支持。還有上面提到的,PHP提供的數(shù)據(jù)庫(kù)接口支持不統(tǒng)一,這就使得它不適合運(yùn)用在電子商務(wù)中。ASP和JSP則沒有以上缺點(diǎn),ASP可以通過Microsoft Windows的COM/DCOM獲得ActiveX的規(guī)模支持,通過DCOM和Microsoft Transaction Server獲得結(jié)構(gòu)支持;JSP可
39、以通過SUN java的Java Bean和EJB獲得規(guī)模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結(jié)構(gòu)支持??傮w來說JSP應(yīng)該是未來的發(fā)展趨勢(shì)。世界上一些大的電子商務(wù)解決方案提供商都采用JSP/Servlet。比較出名的如IBM的E-business。</p><p> JSP(java Server Page)是基于Java Servlet以及哼歌java體系的We
40、b開發(fā)技術(shù),是Servlet的擴(kuò)展其作用是簡(jiǎn)化網(wǎng)站的創(chuàng)建過程和維護(hù)動(dòng)態(tài)網(wǎng)站,利用這一技術(shù)可以建立先進(jìn)、安全和跨平臺(tái)的動(dòng)態(tài)網(wǎng)站。JSP技術(shù)在多方面加速了動(dòng)態(tài)Web頁(yè)面的開發(fā),JSP主要有以下幾個(gè)方面的特點(diǎn):JSP技術(shù)在多方面加速了動(dòng)態(tài)Web頁(yè)面的開發(fā),JSP主要有以下幾個(gè)方面的特點(diǎn):1.內(nèi)容的生成和顯示進(jìn)行分離;2.強(qiáng)調(diào)組件的重用,此方法加速了總體開發(fā)進(jìn)程;3.平臺(tái)為慣性。JSP繼承了java技術(shù)的平臺(tái)無關(guān)的特點(diǎn),并且因此豐富而且高質(zhì)量的
41、工具支持。</p><p> 正是由于JSP技術(shù)和其它技術(shù)的不同,是的JSP由于展示的舞臺(tái),是它快速的在Web開發(fā)領(lǐng)域占有的很大的比例,成為一顆耀眼的新星,它的發(fā)展更是不可估量的。</p><p> 2.2 JSP工作原理</p><p> 在一個(gè)JSP文件第一次被請(qǐng)求時(shí),JSP引擎把該JSP文件轉(zhuǎn)換成為一個(gè)servlet。而這個(gè)引擎本身也是一個(gè)servlet
42、,在JSWDK或WEBLOGIC中,它就是JspServlet。 JSP引擎先把該JSP文件轉(zhuǎn)換成一個(gè)Java源文件,在轉(zhuǎn)換時(shí)如果發(fā)現(xiàn)jsp文件有任何語(yǔ)法錯(cuò)誤,轉(zhuǎn)換過程將中斷,并向服務(wù)端和客戶端輸出出錯(cuò)信息;如果轉(zhuǎn)換成功, JSP引擎用javac把該Java源文件編譯成相應(yīng)的class文件。然后創(chuàng)建一個(gè)該SERVLET的實(shí)例,該SERVLET的jspInit()方法被執(zhí)行,jspInit()方法在servlet的生命周期中只被執(zhí)行一次。
43、然后jspService()方法被調(diào)用來處理客戶端的請(qǐng)求。對(duì)每一個(gè)請(qǐng)求,JSP引擎創(chuàng)建一個(gè)新的線程來處理該請(qǐng)求。如果有多個(gè)客戶端同時(shí)請(qǐng)求該JSP文件,則JSP引擎會(huì)創(chuàng)建多個(gè)線程。每個(gè)客戶端請(qǐng)求對(duì)應(yīng)一個(gè)線程。以多線程方式執(zhí)行可大大降低對(duì)系統(tǒng)的資源需求,提高系統(tǒng)的并發(fā)量及響應(yīng)時(shí)間.但應(yīng)該注意多線程的編程限制,由于該servlet始終駐于內(nèi)存,所以響應(yīng)是非??斓摹H绻?jsp文件被修改了,服務(wù)器將根據(jù)設(shè)置決定是否對(duì)該文件重新編譯,如果需要重新
44、</p><p><b> <%! </b></p><p> public void jspInit() </p><p><b> { </b></p><p> System.out.println("jspinit"); </p><p
45、><b> } </b></p><p><b> %> </b></p><p><b> <%! </b></p><p> public void jspDestory() </p><p><b> { </b><
46、/p><p> System.out.println("jspDestory"); </p><p><b> } </b></p><p><b> %> </b></p><p> 工作流程圖如圖2-1所示:</p><p> 客戶端
47、 服務(wù)器端</p><p> 圖2-1 jsp工作流程圖</p><p><b> 步驟分為三步:</b></p><p> (1).當(dāng)客戶端發(fā)送一個(gè)JSP的訪問請(qǐng)求時(shí),Web服務(wù)器會(huì)把這個(gè)請(qǐng)求轉(zhuǎn)發(fā)給JSP容器;</p><p> ?。?).JSP容器將決定由哪個(gè)JSP頁(yè)面實(shí)現(xiàn)類來
48、處理這個(gè)請(qǐng)求;</p><p> ?。?).JSP容器調(diào)用JSP頁(yè)面實(shí)現(xiàn)類的一個(gè)方法對(duì)這個(gè)請(qǐng)求進(jìn)行處理,并且通過容器和Web服務(wù)器把響應(yīng)返回給客戶端。</p><p> 2.3 JavaBean概述</p><p> JavaBean是描述Java的軟件組件模型有點(diǎn)類似Microsoft的COM組建的概念。在Java模型中,通過JavaBean可以無限擴(kuò)展Jav
49、a程序的功能,通過JavaBean的組合可以快速地生成新的應(yīng)用程序。對(duì)于程序員來說,最好的一點(diǎn)就是JavaBean可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對(duì)于程序的易維護(hù)性等也有很重大意義。JavaBean通過Java虛擬機(jī)可以得到正確的執(zhí)行,具有平臺(tái)無關(guān)性。</p><p> 1.JavaBean的組成:屬性Property:Bean的屬性就是對(duì)象的屬性,但提供屬性讀寫和設(shè)置的接口支持;Method:由于Bean本身是J
50、ava對(duì)象,調(diào)用這個(gè)對(duì)象的方法是與其交互作用的唯一途徑。JavaBean嚴(yán)格遵守面向?qū)ο蟮膶〉脑O(shè)計(jì)邏輯,不讓外界訪問其任何字段(沒有public字段)。這樣,方法調(diào)用是介接觸Bean的唯一途徑,;事件Event:Bean與其他軟件組建交流信息的主要方式是發(fā)送和接受事件。</p><p> 2.JavaBean的用途:JavaBean傳統(tǒng)的應(yīng)用在于任何可視化的領(lǐng)域,如Awt下的應(yīng)用。字從JSP誕生以后,JavaB
51、ean更多的應(yīng)用在非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出了越來越強(qiáng)的生命力。利用非可視化JavaBean,可以用來封裝數(shù)據(jù),也可以用來封裝功能,或者說,用來表示業(yè)務(wù)邏輯中的實(shí)體。具體地說,JavaBean在Web應(yīng)用程序中有以下3個(gè)用途。Ⅰ.用來封裝公共的功能;當(dāng)某些功能在程序中多次被使用時(shí),就可以是用Bean來封裝成一個(gè)可重用組件,這既方便了程序設(shè)計(jì),也使程序更加合理;Ⅱ.用來實(shí)現(xiàn)業(yè)務(wù)邏輯的實(shí)體;一個(gè)應(yīng)用程序可以被分成表現(xiàn)邏輯層和業(yè)務(wù)
52、邏輯層,表現(xiàn)邏輯層負(fù)責(zé)應(yīng)用程序的頁(yè)面顯示,業(yè)務(wù)邏輯層主要負(fù)責(zé)應(yīng)用程序的業(yè)務(wù)處理,包括對(duì)表單的提交,數(shù)據(jù)庫(kù)的訪問等等。</p><p> 2.4 JavaBean工作原理</p><p> JavaBean工作原理圖如圖2-2所示:</p><p> 圖2-2 JavaBean工作原理圖</p><p> JavaBean處于三層結(jié)構(gòu)
53、中的的二層,上連Jsp,下接數(shù)據(jù)庫(kù)。Jsp將數(shù)據(jù)處理交給指定的JavaBean類處理,使用此JavaBean來封裝數(shù)據(jù)的處理,負(fù)責(zé)連接和處理數(shù)據(jù)庫(kù)。</p><p> JavaBean一般用于封裝一些對(duì)像和對(duì)這些對(duì)象所進(jìn)行的操作,它實(shí)際上不出現(xiàn)在顯示界面上,它主要負(fù)責(zé)數(shù)據(jù)庫(kù)連接和數(shù)據(jù)的設(shè)置與獲取,在jsp請(qǐng)求某種操作的時(shí)候,jsp頁(yè)面僅僅是顯示數(shù)據(jù),它不會(huì)對(duì)數(shù)據(jù)做任何操作,只是通過一定的方式把這種請(qǐng)求交給一個(gè)b
54、ean處理,請(qǐng)求的交付不是簡(jiǎn)單的調(diào)用而已,必須在jsp頁(yè)面中做詳細(xì)的設(shè)置,到底是用哪一個(gè)bean對(duì)象,收到請(qǐng)求的bean對(duì)象對(duì)數(shù)據(jù)進(jìn)行操作,待到數(shù)據(jù)處理完了以后,會(huì)把處理完的結(jié)果返回給先前的jsp頁(yè)面,它的工作也就完成。像圖2-2中所示,第一步是jsp頁(yè)面接受用戶的請(qǐng)求,而這種請(qǐng)求它本身并不能解決,只有通過第二步,不請(qǐng)求處理交給javabean處理,javabean是作為一種中間件組件,操作數(shù)據(jù)庫(kù)的工作都在javabean中進(jìn)行,直到處
55、理完成位置,javabean的工作結(jié)束,也就是它的生命后期已經(jīng)完了。</p><p> 2.5 Web開發(fā)模式介紹</p><p> 隨著Web項(xiàng)目的越來越龐大,人們已經(jīng)不得不考慮項(xiàng)目的開發(fā)效率和成本,以及后期的維護(hù),正是這個(gè)原因,人們提出了Web開發(fā)模式這個(gè)概念,這個(gè)概念正是為了解決這方面的問題而產(chǎn)生的。Web開發(fā)模式有很多種,如PHP,ASP,JSP等等,而基于Jsp和JavaBe
56、an的web開發(fā)模式這是其中比較流行的一種?;贘sp和JavaBean的web開發(fā)模式的結(jié)構(gòu)圖如2-3所示:</p><p> 圖2-3 開發(fā)模式結(jié)構(gòu)圖</p><p> 在介紹該開發(fā)模式之前,先做一個(gè)Java Web應(yīng)用的簡(jiǎn)介:</p><p> SUN的servlet規(guī)范對(duì)JavaWeb應(yīng)用作了這樣的定義:“Java Web應(yīng)用是由一組Servlet/J
57、SP、Html文檔、相關(guān)Java類,以及其他可以被綁的資源構(gòu)成,他可以在各種提供商提供的符合Servlet規(guī)范的Servlt容器中運(yùn)行?!?lt;/p><p> 從Java Web應(yīng)用的定義可以看出Java Web應(yīng)用程序不僅可以在Tomcat中運(yùn)行,還可以在其他符合Servlet規(guī)范的Servlet容器中運(yùn)行。在JavaWeb應(yīng)用程序中可以包含如下內(nèi)容。</p><p> ?。?).Ser
58、vlLoginDate.java組件:標(biāo)準(zhǔn)Servlet接口的實(shí)現(xiàn)類,運(yùn)行在服務(wù)器端,包含被Servlet容器動(dòng)態(tài)調(diào)用的程序代碼。</p><p> JSP組件:包含Java程序代碼的html文檔,運(yùn)行在服務(wù)器端當(dāng)客戶端請(qǐng)求訪問JSP文件時(shí),Servlet容器首先把它編譯成Servlet類,然后在動(dòng)態(tài)調(diào)用它。</p><p> (2).相關(guān)的Java類:開發(fā)人員定義的與應(yīng)用程序有關(guān)的j
59、ava類。</p><p> ?。?).靜態(tài)文檔:存放在服務(wù)器端的文件系統(tǒng)中,如html文檔圖片文件和聲音文件等等。黨客戶端要訪問這些文件時(shí),Servlet容器首先從本地文件系統(tǒng)中去讀取這些文件的數(shù)據(jù)再把它發(fā)送端客戶端。</p><p> ?。?).客戶端類:有客戶端運(yùn)行的類。Applet是典型的客戶端類。當(dāng)客戶端訪問Applet時(shí),Servlet容器首先從本地系統(tǒng)文件中讀取Applet的
60、.Class文件中的數(shù)據(jù),在發(fā)送到客戶端,有客戶端來運(yùn)行Applet。</p><p> ?。?).web.Xml文件:JavaWeb應(yīng)用的配置文件,采用XML格式,該文件必須放在Web應(yīng)用程序的WEB-INF子目錄下。</p><p> 該開發(fā)模式主要涉及兩部分內(nèi)容,JSP和javaBean。JSP負(fù)責(zé)動(dòng)態(tài)生成HTML文檔,javabean負(fù)責(zé)業(yè)務(wù)邏輯。JSP可以通過java程序片段來
61、訪問這些業(yè)務(wù)邏輯。圖3-1顯示了JSP訪問服務(wù)器可重用的業(yè)務(wù)組件的模型,其中javaBean表示業(yè)務(wù)組件。</p><p> 雖然理論上JSP和servlet能完成同樣的功能,但由于他們形式上的不一樣,JSP直接包含html標(biāo)記,servlet是純粹的java程序代碼,所以他們?cè)趙eb開發(fā)中有何不同的分工。</p><p> 從圖2-3中可以看出,JSP技術(shù)的出現(xiàn),使得把web應(yīng)用中的
62、html文檔和業(yè)務(wù)邏輯代碼有效的分開成為可能?;贘SP和javaBean開發(fā)模式正是一種有效實(shí)現(xiàn)方式。</p><p> 3基于JSP和javaBean的web開發(fā)模式理論研究</p><p> 3.1 JavaBean的定義</p><p> 對(duì)于JavaBean的定義,不同的公司,不同組織有不同的說法,但基本內(nèi)容差不多,這里介紹兩種。</p>
63、<p> 第一種:JavaBean 是一種JAVA語(yǔ)言寫成的可重用組件。為寫成JavaBean,類必須是具體的和公共的,并且具有無參數(shù)的構(gòu)造器。JavaBean 通過提供符合一致性設(shè)計(jì)模式的公共方法將內(nèi)部域暴露成員屬性。眾所周知,屬性名稱符合這種模式,其他Java 類可以通過自身機(jī)制發(fā)現(xiàn)和操作這些JavaBean 屬性。</p><p> 用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫(kù)訪問
64、和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應(yīng)用來使用這些對(duì)象。用戶可以認(rèn)為JavaBean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。</p><p> 第二種:按著Sun公司的定義,JavaBean是一個(gè)可重復(fù)使用的軟件組件。實(shí)際上JavaBean是一種Java類,通過封裝屬性和方法成為具有
65、某種功能或者處理某個(gè)業(yè)務(wù)的對(duì)象,簡(jiǎn)稱bean。由于javabean是基于java語(yǔ)言的,因此javabean不依賴平臺(tái),具有以下特點(diǎn): 1. 可以實(shí)現(xiàn)代碼的重復(fù)利用 2. 易編寫、易維護(hù)、易使用 3. 可以在任何安裝了Java運(yùn)行環(huán)境的平臺(tái)上的使用,而不需要重新編譯。 編寫javabean就是編寫一個(gè)java的類,所以你只要會(huì)寫類就能編寫一個(gè)bean,這個(gè)類創(chuàng)建的一個(gè)對(duì)象稱做一個(gè)bean。為了能讓使用這個(gè)bean的應(yīng)用程序構(gòu)建工具(比如
66、JSP引擎)知道這個(gè)bean的屬性和方法,只需在類的方法命名上遵守以下規(guī)則: 1. 如果類的成員變量的名字是xxx,那么為了更改或獲取成員變量的值,即更改或獲取屬性,在類中可以使用兩個(gè)方法: getXxx(),用來獲取屬性xxx。 setXxx(),用來修改屬性xxx.。 2. 對(duì)于boolean類型的成員變量,即布爾邏輯類型的屬性,允許使用"is"代替上面的"get"和"set&quo
67、t;。 3. 類中方法的訪問屬性都必須是</p><p> 3.2 JavaBean的設(shè)置</p><p> 3.2.1 Java Bean編寫規(guī)范</p><p> Java Bean實(shí)際上是根據(jù)Java Bean技術(shù)標(biāo)準(zhǔn)所指定Bean的命名和設(shè)計(jì)規(guī)范編寫的Java類這些類遵循一個(gè)接口格式,以便于使函數(shù)命名、底層行為以及繼承或?qū)崿F(xiàn)的行為,其最大的優(yōu)點(diǎn)在于可以
68、實(shí)現(xiàn)代碼的可重用性。Bean并不需要繼承特別的基類(Base Class)或?qū)崿F(xiàn)特定的接口(Interface)。Bean的編寫規(guī)范使Bean的容器(Container)能夠分析一個(gè)Java類文件,并將其方法(Methods)翻譯成屬性(Properties),即把Java類作為一個(gè)Bean類使用。Bean的編寫規(guī)范包括Bean類的構(gòu)造方法、定義屬性和訪問方法編寫規(guī)則。</p><p> 3.2.2 Bean組
69、件的工作機(jī)制</p><p> 在JavaBeans Version1.01 A規(guī)范中定義了該組件的5種重要機(jī)制:</p><p> 內(nèi)省(Introspection):組建可以發(fā)表其支持的操作和屬性,同時(shí)也支持在其他組件中發(fā)現(xiàn)重復(fù)利用的對(duì)象庫(kù),如用戶權(quán)限控制和電子郵件自動(dòng)回復(fù)等。</p><p> 通信(Communication):生成和收集組件的消息事件
70、。</p><p> 持續(xù)(Persistence):存放組件的狀態(tài)。</p><p> 屬性(Properties):支持組件布局的控制,包括組件占用的空間和組件的相對(duì)位置。</p><p> 定制(Customization):開發(fā)者可控制組件所需的改變機(jī)制。</p><p> 3.2.3 Java Bean的編寫要求</p
71、><p> 編寫Java Bean必須滿足以下幾點(diǎn)要求:</p><p> 所有的Java Bean必須放在一個(gè)包(Package)中。</p><p> Java Bean必須生成public class類,文件名稱應(yīng)該與類名稱一致。</p><p> 所有屬性必須封裝,一個(gè)Java Bean類不應(yīng)有公共實(shí)例變量,類變量都為privat
72、e。</p><p> 屬性值應(yīng)該通過一組存取方法(getXxx 和 setXxx)來訪問:對(duì)于每個(gè)屬性,應(yīng)該有一個(gè)帶匹配公用 getter 和 setter 方法的專用實(shí)例變量。</p><p> Java Bean 類必須有一個(gè)空的構(gòu)造函數(shù):類中必須有一個(gè)不帶參數(shù)的公用構(gòu)造器,此構(gòu)造器也應(yīng)該通過調(diào)用各個(gè)屬性的設(shè)置方法來設(shè)置屬性的默認(rèn)值。</p><p>
73、3.2.4.Java Bean的命名規(guī)范</p><p> Java Bean的命名規(guī)范如下:</p><p> 包命名:全部字母小寫。</p><p> 類命名:每個(gè)單詞首字母大寫。</p><p> 屬性名:第一個(gè)單詞全部小寫,之后每個(gè)單詞首字母大寫。</p><p> 方法名:與屬性命名方法相同。<
74、;/p><p> 常量名:全部字母大寫。</p><p> 3.3在Jsp中調(diào)用JavaBean</p><p> 學(xué)習(xí)了Java Bean的編寫,由于Java Bean是為了重復(fù)使用的程序段落,具有“Write once, run anywhere, reuse everywhere”,即“一次性編寫,任何地方執(zhí)行,所有地方可重用”的特點(diǎn),所以可以為JSP平臺(tái)提
75、供一個(gè)簡(jiǎn)單的、緊湊的和優(yōu)秀的問題解決方案,能大幅度提高系統(tǒng)的功能上限、加快執(zhí)行速度,而且不需要犧牲系統(tǒng)的性能。同時(shí),采用JavaBean技術(shù)可以使系統(tǒng)更易于維護(hù),因此極大地提高了JSP的應(yīng)用范圍。本節(jié)將詳細(xì)學(xué)習(xí)如何在JSP中應(yīng)用Bean組件。</p><p> <jsp:useBean>動(dòng)作來調(diào)用Java Bean,下面我們?cè)趯W(xué)習(xí)完Java Bean的編寫之后,再來復(fù)習(xí)一下這個(gè)標(biāo)記:</p&g
76、t;<p> <jsp:useBean id="beanId" scope="page|request|session|application" class="package.class" /></p><p> 首先,我們通過標(biāo)記中的id屬性標(biāo)記Bean,以使JSP頁(yè)面的其余部分可以正確的識(shí)別該Bean。</p>
77、;<p> 其次,使用scope屬性來確定該Bean的使用范圍。</p><p> 最后,class屬性通知JSP頁(yè)面從何處查找Bean,即找到Bean的.class文件。在此我們必須同時(shí)指定JavaBean的包(package)名和類(class)名,即class="package.class",否則JSP引擎將無法找到相應(yīng)的Bean。</p><p&g
78、t; 3.4運(yùn)用JavaBean技術(shù)訪問數(shù)據(jù)庫(kù)</p><p> 在JSP的應(yīng)用中,數(shù)據(jù)庫(kù)的運(yùn)用有著十分重要的地位,可以說數(shù)據(jù)庫(kù)的運(yùn)用是JSP應(yīng)用的關(guān)鍵之一。在數(shù)據(jù)庫(kù)的運(yùn)用中我們可以發(fā)現(xiàn),在數(shù)據(jù)庫(kù)相關(guān)程序中,這些操作都有很多相似之處,許多語(yǔ)句都是通用的。在學(xué)習(xí)了Java Bean之后,我們很自然的就想到是否可以將這些語(yǔ)句編寫到一個(gè)Java Bean中,這樣可以為以后編寫的數(shù)據(jù)庫(kù)程序提供極大的方便。</p
79、><p> 通過javabean訪問數(shù)據(jù)庫(kù),有兩種可以使用的方式,1.odbc數(shù)據(jù)源;2.jdbc連接橋,不管哪種方式,javabean完成的工作大致一樣,主要是用來封裝數(shù)據(jù)庫(kù)的連接和各種操作,在需要使用數(shù)據(jù)庫(kù)的時(shí)候,只需在相關(guān)的jsp文件中引入該bean的一個(gè)對(duì)象,通過該對(duì)象調(diào)用不bean中的相關(guān)操作。</p><p> 工作過程如圖3-1所示:</p><p>
80、 圖3-1 訪問數(shù)據(jù)庫(kù)工作圖</p><p> 3.5 建立基于Jsp和JavaBean的Web開發(fā)模式</p><p> 該模塊主要是通過前面知識(shí)的學(xué)習(xí)和分析,通過和B/S模式的三層結(jié)構(gòu)的比較,驗(yàn)證通過jsp和javabean可以進(jìn)行web開發(fā),以及此種開發(fā)開發(fā)模式的設(shè)計(jì)思想,工作原理,特點(diǎn)和優(yōu)勢(shì)。</p><p> 3.5.1 B/S三層web開發(fā)結(jié)
81、構(gòu)</p><p> B/S三層體系結(jié)構(gòu),即用戶層、應(yīng)用層和數(shù)據(jù)庫(kù)服務(wù)器。用戶層主要指用戶界面,它要求盡可能的簡(jiǎn)單,使最終用戶不需要進(jìn)行任何培訓(xùn)就能方便地訪問信息;第二層就是應(yīng)用服務(wù)器,也就是常說的中間件,所有的應(yīng)用系統(tǒng)、應(yīng)用邏輯、控制都在這一層,系統(tǒng)的復(fù)雜性也主要體現(xiàn)在應(yīng)用層;最后的數(shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)大量的數(shù)據(jù)信息和數(shù)據(jù)邏輯,所有與數(shù)據(jù)有關(guān)的安全、完整性控制、數(shù)據(jù)的一致性、并發(fā)操作等都是在第三層完成。</
82、p><p> 經(jīng)過Jsp和JavaBean理論知識(shí)的學(xué)習(xí),我了解到了Jsp主要功能是用于界面顯示,JavaBean用于處理數(shù)據(jù),二者滿足B/S模式的三層開發(fā)結(jié)構(gòu),它們可以用于Web開發(fā),那么可不可以有一種基于Jsp和JavaBean的Web開發(fā)模式。</p><p> 3.5.2 模式的設(shè)計(jì)思想</p><p><b> 知識(shí)總結(jié):</b>&
83、lt;/p><p> 1.jsp在界面顯示方面有突出功能,那么讓jsp文件用于顯示信息,一方面用于接受來自瀏覽器的請(qǐng)求,另一方面用于將請(qǐng)求交給指定操作處理。</p><p> 2.javabean用于封裝對(duì)數(shù)據(jù)庫(kù)的操作,用過jsp指定使用哪一個(gè)javabean,數(shù)據(jù)處理完了以后再交給jsp頁(yè)面。</p><p> 通過知識(shí)的學(xué)習(xí)和總結(jié),概括出它的思想如下:<
84、/p><p> 當(dāng)瀏覽器發(fā)出請(qǐng)求時(shí),JSP接收請(qǐng)求并訪問JavaBean。若需要訪問數(shù)據(jù)庫(kù)或后臺(tái)服務(wù)器,則通過JavaBean連接數(shù)據(jù)庫(kù)或后臺(tái)服務(wù)器,執(zhí)行相應(yīng)的處理。JavaBean將處理的結(jié)果數(shù)據(jù)交給JSP。JSP提取結(jié)果并重新組織后,動(dòng)態(tài)生成HTML頁(yè)面,返回給瀏覽器。用戶從瀏覽器顯示的頁(yè)面中得到交互的結(jié)果。JSP和JavaBean可以充分利用了JSP技術(shù)易于開發(fā)動(dòng)態(tài)網(wǎng)頁(yè)的特點(diǎn),頁(yè)面顯示層的任務(wù)由JSP(但它也
85、含事物邏輯層的內(nèi)容)承擔(dān),JavaBean主要負(fù)責(zé)事務(wù)邏輯層和數(shù)據(jù)層的工作。JSP和JavaBean模型可以依靠幾個(gè)JavaBean組件實(shí)現(xiàn)具體的應(yīng)用功能,生成動(dòng)態(tài)內(nèi)容。</p><p> 3.5.3 模式的工作原理</p><p> Jsp作為很好的動(dòng)態(tài)網(wǎng)站開發(fā)語(yǔ)言得到了廣泛的應(yīng)用。在各類Jsp應(yīng)用中,Jsp結(jié)合JavaBean成為了一種事實(shí)上最常見的Jsp程序標(biāo)準(zhǔn)。Jsp-Java
86、Bean的開發(fā)模式工作原理如圖3-2所示。</p><p> 圖3-2 開發(fā)模式共組原理圖</p><p> (1)JavaBean:包含了Web應(yīng)用中程序功能的核心,負(fù)責(zé)存儲(chǔ)與Web應(yīng)用相關(guān)的數(shù)據(jù),集中體現(xiàn)了應(yīng)用程序的狀態(tài)。JavaBean在JSP-JavaBean模式中,主要用來處理事務(wù)邏輯和數(shù)據(jù)結(jié)構(gòu),能夠與數(shù)據(jù)庫(kù)或文件系統(tǒng)進(jìn)行交互,承擔(dān)維護(hù)應(yīng)用程序的責(zé)任。</p>
87、<p> ?。?)JSP:JSP在JSP-JavaBean模式中有兩種主要作用:實(shí)現(xiàn)視圖,通過視圖用戶可以訪問JavaBean中的數(shù)據(jù);實(shí)現(xiàn)控制,JSP除了負(fù)責(zé)Web頁(yè)面視圖,還負(fù)責(zé)整個(gè)Web應(yīng)用程序的流程控制,根據(jù)用戶的請(qǐng)求類型來決定應(yīng)用程序的操作,如數(shù)據(jù)的更新、維護(hù),頁(yè)面的顯示與轉(zhuǎn)發(fā)。</p><p> Jsp用于接受瀏覽器的請(qǐng)求,更具請(qǐng)求調(diào)用相關(guān)的bean,而bean中封裝了對(duì)數(shù)據(jù)的處理操作,在
88、處理完后交給jsp最后相應(yīng)給瀏覽器,完成一次請(qǐng)求到相應(yīng)。</p><p> 3.5.4 模式的特點(diǎn)和優(yōu)勢(shì)</p><p> 通過前面知識(shí)的學(xué)習(xí)和分析總結(jié)出以下兩點(diǎn):</p><p> (1). JSP(java Server Page)是基于Java Servlet的Web開發(fā)技術(shù),是Servlet的擴(kuò)展其作用是簡(jiǎn)化網(wǎng)站的創(chuàng)建過程和維護(hù)動(dòng)態(tài)網(wǎng)站,利用這一技術(shù)
89、可以建立先進(jìn)、安全和跨平臺(tái)的動(dòng)態(tài)網(wǎng)站站。JSP技術(shù)在多方面加速了動(dòng)態(tài)Web頁(yè)面的開發(fā),JSP主要有以下幾個(gè)方面的特點(diǎn):1.內(nèi)容的生成和顯示進(jìn)行分離;2.強(qiáng)調(diào)組件的重用,此方法加速了總體開發(fā)進(jìn)程;3.平臺(tái)為慣性。JSP繼承了java技術(shù)的平臺(tái)無關(guān)的特點(diǎn),并且因此豐富而且高質(zhì)量的工具支持。</p><p> ?。?). JavaBean是一個(gè)可重復(fù)使用的軟件組件。實(shí)際上JavaBean是一種Java類,通過封裝屬性和
90、方法成為具有某種功能或者處理某個(gè)業(yè)務(wù)的對(duì)象,簡(jiǎn)稱bean。由于javabean是基于java語(yǔ)言的,因此javabean不依賴平臺(tái),具有以下特點(diǎn): 1. 可以實(shí)現(xiàn)代碼的重復(fù)利用 2. 易編寫、易維護(hù)、易使用 3. 可以在任何安裝了Java運(yùn)行環(huán)境的平臺(tái)上的使用,而不需要重新編譯。 </p><p> 由于基
91、于jsp和javabean的web開發(fā)模式主要用到的技術(shù)就是jsp技術(shù)和javabean技術(shù),總和以上兩點(diǎn)可以概括出此種開發(fā)模式的特點(diǎn):1.簡(jiǎn)單;2.易維護(hù);3.跨平臺(tái);4.組件重用率高;</p><p> 與此同時(shí),正是因?yàn)橛辛诉@么多的特點(diǎn),使得這種該開模式在web開發(fā)領(lǐng)域有了一定的優(yōu)勢(shì),比如:1.操作簡(jiǎn)單;2.跨平臺(tái),有很多開發(fā)模式不具有跨平臺(tái)性;3.開發(fā)要求低,知道裝有jdk和web服務(wù)器就可以開發(fā),并且
92、很多集成開發(fā)環(huán)境都支持;4.開發(fā)成本大大降低等等。</p><p> 4基于JSP和javaBean的web開發(fā)模式的實(shí)例應(yīng)用</p><p><b> 4.1實(shí)例介紹</b></p><p> 該實(shí)例是有關(guān)圖書信息管理的項(xiàng)目,做這個(gè)實(shí)例的目的不是為了讓開發(fā)一個(gè)功能齊全的圖書管理系統(tǒng),重點(diǎn)在于是為了驗(yàn)證可以利用jsp和javabean驚醒
93、web開發(fā),證明這種開發(fā)模式是可行的。</p><p> 4.1.1 功能概述</p><p> 該實(shí)例主要完成的操作有:圖書的添加,圖書的刪除,圖書信息的更新,圖書的查找。</p><p> 該實(shí)例的文件結(jié)構(gòu)如圖4-1所示</p><p> 圖4-1 文件結(jié)構(gòu)圖</p><p> 4.1.2 實(shí)例應(yīng)用研
94、究驗(yàn)證</p><p> 該實(shí)例使用基于Jsp和JavaBean的web開發(fā)模式,用jsp完成界面的顯示,javabean完成數(shù)據(jù)的操作,通過該實(shí)例驗(yàn)證基于jsp和javabean的web開發(fā)模式可以用于web開發(fā)。</p><p> 4.2 運(yùn)用JSP和JAVABEAN進(jìn)行WEB開發(fā)</p><p> 4.2.1 搭建Web開發(fā)環(huán)境</p>&
95、lt;p> 該實(shí)例使用的軟件如下:JDK1.50;Tomcat6.0;Myeclipse6.0;SQL server2000。</p><p><b> 搭建開發(fā)環(huán)境步驟:</b></p><p><b> 1.安裝JDK</b></p><p> 首先下載JDK 5.0;然后運(yùn)行JDK 5.0安裝程序jdk
96、-1_5_0_06-windows-i586-p.exe,安裝過程中所有選項(xiàng)保持默認(rèn);最后配置JDK的環(huán)境變量:在“我的電腦”上點(diǎn)右鍵—>“屬性”—>“高級(jí)”—> “環(huán)境變量(N)”。</p><p> 新建系統(tǒng)變量JAVA_HOME:C:\Program Files\Java\jdk1.5.0_06;</p><p> 新建系統(tǒng)變量CLASSPATH:.;%JAVA
97、_HOME%\lib;(注意:點(diǎn)號(hào)表示當(dāng)前目錄,不能省略)</p><p> 在系統(tǒng)變量Path的值的前面加入以下內(nèi)容:%JAVA_HOME%\bin;(注意:這里的分號(hào)不能省略)</p><p> 到這里,JDK安裝完畢。下面我們測(cè)試一下JDK是否安裝成功:</p><p> 將以下內(nèi)容復(fù)制到記事本中:</p><p> publi
98、c class HelloJAVA</p><p><b> {</b></p><p> public static void main(String srg[])</p><p><b> {</b></p><p> System.out.println("Hello JAV
99、A!");</p><p><b> }}</b></p><p> 另存為“HelloJAVA.java”(不含引號(hào),下同),并保存到D盤根目錄下。</p><p> 進(jìn)入命令行,編譯這個(gè)java類。如果正常輸出,說明以上安裝完成。</p><p> 注意:如果以后要安裝諸如Eclipse、Borla
100、nd JBuilder、JCreator、IntelliJ IDEA等集成開發(fā)環(huán)境(IDE,Integrated Development Environment),應(yīng)該在IDE中編譯運(yùn)行一個(gè)簡(jiǎn)單的HelloWorld程序,以保證IDE可以識(shí)別出JDK的位置。</p><p> 2.安裝Tomcat</p><p> 首先下載jakarta-tomcat-5.0.30.zip,之所以下載
101、免安裝版的好處是可以使用多個(gè)Tomcat</p><p> 然后將jakarta-tomcat-5.0.30.zip直接解壓到D盤根目錄:</p><p> 最后配置Tomcat的環(huán)境變量:在“我的電腦”上點(diǎn)右鍵—>“屬性”—>“高級(jí)”—> “環(huán)境變量(N)”。</p><p> 新建系統(tǒng)變量CATALINA_HOME:D:\jakarta-
102、tomcat-5.0.30;</p><p> 在系統(tǒng)變量CLASSPATH的值的后面加入:%CATALINA_HOME%\common\lib;</p><p> 在系統(tǒng)變量Path的值中"%JAVA_HOME%\bin;"的后面加入以下內(nèi)容:%CATALINA_HOME%\bin;</p><p> 到這里,Tomcat安裝完畢。<
103、;/p><p> 進(jìn)行完一、二兩步的設(shè)置以后,各系統(tǒng)變量的值如下:</p><p> JAVA_HOME:C:\Program Files\Java\jdk1.5.0_06</p><p> CATALINA_HOME:D:\jakarta-tomcat-5.0.30</p><p> CLASSPATH:.;%JAVA_HOME%\li
104、b;%CATALINA_HOME%\common\lib;</p><p> Path:%JAVA_HOME%\bin;%CATALINA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem </p><p> 3.安裝Eclipse</p><p> 首先下載ecli
105、pse-SDK-3.1.2-win32.zip(eclipse-SDK-3.1.2-win32.zip下載地址為:</p><p> http://www.eclipse.org/downloads/);</p><p> 然后將eclipse-SDK-3.1.2-win32.zip直接解壓到D盤根目錄:</p><p> 到這里,Eclipse安裝完畢。&l
106、t;/p><p> 4.安裝MyEclipse</p><p><b> 首先下載</b></p><p> EnterpriseWorkbenchInstaller_4.1.1GA_E3.1.exe(EnterpriseWorkbenchInstaller_4.1.1GA_E3.1.exe 的下載地址為:</p><p&
107、gt; http://www.myeclipseide.com/ContentExpress-display-ceid-10.html);</p><p> 然后安裝EnterpriseWorkbenchInstaller_4.1.1GA_E3.1.exe。</p><p> 安裝完畢之后,將MyEclipse安裝目錄下的features和plugins這2個(gè)目錄覆蓋到Eclipse
108、的安裝目錄下。</p><p> 最后將剛才安裝的 MyEclipse 卸載。</p><p> 解釋一下上面這樣做的原因: 因?yàn)镸yEclipse是Eclipse的插件,所以只要把features和plugins這2個(gè)目錄覆蓋到Eclipse的安裝目錄,Eclipse就會(huì)自動(dòng)認(rèn)出這些插件。 </p><p> 到這里,MyEclipse安裝完畢,整個(gè)環(huán)境搭建
109、完成。</p><p> 4.2.2 實(shí)例中基于jsp的編程</p><p> 該實(shí)例涉及到的jsp文件如下:</p><p> bookList.jsp 負(fù)責(zé)顯示圖書列表;</p><p> addBook.jsp 負(fù)責(zé)圖書的添加;</p><p> editBook.jsp 負(fù)責(zé)圖書信息的修改;&l
110、t;/p><p> delBook.jsp 負(fù)責(zé)刪除圖書;</p><p> selectBook.jsp負(fù)責(zé)查詢圖書;</p><p> error.jsp 負(fù)責(zé)顯示錯(cuò)誤信息 。</p><p><b> 代碼分析: </b></p><p> 1.模塊首界面如圖4-2所示:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于Jsp、JavaBean及Servlet的教務(wù)系統(tǒng)研究開發(fā).pdf
- 計(jì)算機(jī)畢業(yè)論文---基于jsp+javabean的網(wǎng)上花店系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的簽章控件開發(fā)【畢業(yè)論文】
- 畢業(yè)論文外文翻譯-mysql和jsp的web應(yīng)用程序
- 畢業(yè)論文---基于jsp的在線畢業(yè)論文管理系統(tǒng)
- 基于jsp的新聞網(wǎng)站設(shè)計(jì)與開發(fā)畢業(yè)論文
- 畢業(yè)論文基于jsp的畢業(yè)論文管理系統(tǒng)的設(shè)計(jì)
- 基于jsp畢業(yè)論文模板
- 畢業(yè)設(shè)計(jì)(論文)基于mvc模式的web開發(fā)框架研究
- 基于php的微信web應(yīng)用開發(fā)-畢業(yè)論文
- 基于jsp的網(wǎng)上購(gòu)物商場(chǎng)系統(tǒng)的設(shè)計(jì)與開發(fā)畢業(yè)論文
- 基于jsp軟件開發(fā)會(huì)員管理系統(tǒng)畢業(yè)論文
- 基于jsp留言本的畢業(yè)論文
- 基于jsp的網(wǎng)上書店畢業(yè)論文
- 基于jsp的網(wǎng)上書店畢業(yè)論文
- 基于jsp的商品發(fā)布平臺(tái)-畢業(yè)論文
- 基于jsp的個(gè)人網(wǎng)頁(yè)設(shè)計(jì)畢業(yè)論文
- 基于jsp的個(gè)人網(wǎng)頁(yè)設(shè)計(jì)畢業(yè)論文
- 基于jsp的黨員管理系統(tǒng)畢業(yè)論文
- 基于jsp的網(wǎng)上辦公系統(tǒng)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論