版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 本論文論述的是一個簡化的Web應(yīng)用程序模型,是一個B/S結(jié)構(gòu)的 JSP+Javabean+SQL Server2000的應(yīng)用。主要介紹了采用的JSP技術(shù)和JAVABEAN技術(shù)結(jié)合的特點,系統(tǒng)功能非常的完善,而且選擇開放的應(yīng)用平臺,建設(shè)了一套與平臺無關(guān),以統(tǒng)一的服務(wù)接口規(guī)范和與數(shù)據(jù)庫相連的網(wǎng)站應(yīng)用。以及怎樣使Web程序設(shè)
2、計模塊化和面向?qū)ο蠡?,即將表現(xiàn)和邏輯剝離。還介紹了采用的編程模型和特點。JSP技術(shù)以其獨特的優(yōu)勢成為開發(fā)網(wǎng)站系統(tǒng)的首選工具,論文中以一種簡化的方式介紹了JSP開發(fā)網(wǎng)站系統(tǒng)的方法和特點,即使用JBUILDER開發(fā)工具,使用本機(jī)做服務(wù)器模擬實現(xiàn)客戶端登錄,最終能夠?qū)崿F(xiàn)客戶端的所有操作。由于JSP具有一次編寫,各處運行、豐富而且高質(zhì)量的工具支持、通過構(gòu)件和標(biāo)簽實現(xiàn)重用、通過指令和標(biāo)簽庫增強(qiáng)與面開發(fā)能力等優(yōu)點,開發(fā)的系統(tǒng)可以在任何平臺上編寫、運
3、行在任意平臺上的JAVA服務(wù)器構(gòu)件。</p><p><b> 關(guān)鍵字:</b></p><p> JavaBeans;JAVA;JSP</p><p><b> Abstract</b></p><p> This what thesis discuss is the Web applic
4、ation of a simplification procedure model, is a B/ S the construction's JSP+ Javabean+ SQL Server2000application.</p><p> Primarilyintroduced the adoption's JSP technique with the JAVABEAN technique
5、 characteristics, system function that join together very of perfect, and applied terrace, developments that open of choice an electronic commerce application for and terraceirrelevantly, with united service connecting f
6、irst norm with with database connect with each othering.And how make the Web procedure the design the molderation piece the with face to the objective , will soon express with the logic removal.Still int</p><
7、p><b> Key: </b></p><p> JavaBeans;JAVA;JSP</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p>
8、;<b> 第1章 緒論1</b></p><p><b> 1.1問題提出1</b></p><p> 1.2文本研究(軟件開發(fā))的整體框架1</p><p> 1.3 研究(軟件開發(fā))的內(nèi)容和意義2</p><p> 第2章軟件開發(fā)平臺分析3</p><
9、p> 2.1 課題的可行性分析3</p><p> 2.2 可行性分析3</p><p> 2.2.1 JAVA的特點3</p><p> 2.2.2 技術(shù)可行性分析4</p><p> 2.2.3可靠性和安全性特點4</p><p> 2.3 JSP技術(shù)介紹5</p>&
10、lt;p> 2.3.1 什么是JSP5</p><p> 2.3.2 JSP技術(shù)特點5</p><p> 2.3.3 JSP開發(fā)WEB的幾種方式6</p><p> 2.4 JAVABEAN技術(shù)介紹7</p><p> 2.4.1 什么是JAVABEAN7</p><p> 2.4.2 JA
11、VABEAN的特點8</p><p> 2.5 JDBC技術(shù)8</p><p> 2.5.1 JDBC簡介8</p><p> 2.5.2 JDBC類定義8</p><p> 第3章軟件需求分析10</p><p> 3.1功能需求10</p><p> 3.1.1功能
12、劃分10</p><p> 3.1.2功能描述10</p><p> 3.2外部接口需求10</p><p> 3.2.1用戶界面10</p><p> 3.2.2軟件接口11</p><p> 3.2.3通訊接口11</p><p> 3.2.4故障處理11</
13、p><p> 3.3性能需求11</p><p> 3.3.1時間特性11</p><p> 3.3.2適應(yīng)性11</p><p> 3.4軟件屬性需求12</p><p> 3.4.1正確性12</p><p> 3.4.2可靠性12</p><p>
14、; 3.4.3效率12</p><p> 3.4.4完整性12</p><p> 3.4.5易實用性12</p><p> 3.4.6可維護(hù)性12</p><p> 3.4.7可測試性12</p><p> 3.4.8復(fù)用性13</p><p> 3.4.9安全保密性
15、13</p><p> 3.4.10可移植性13</p><p> 第4章軟件概要設(shè)計14</p><p> 4.1總體設(shè)計14</p><p> 4.1.1處理流程14</p><p> 4.1.2總體結(jié)構(gòu)與模塊外部設(shè)計14</p><p> 4.1.3功能分配14&
16、lt;/p><p> 4.2接口設(shè)計15</p><p> 4.2.1外部接口15</p><p> 4.2.2內(nèi)部接口15</p><p> 4.3出錯處理設(shè)計15</p><p> 4.3.1出錯輸出信息15</p><p> 4.3.2出錯處理對策15</p>
17、;<p> 4.4安全保密設(shè)計16</p><p> 4.5維護(hù)設(shè)計16</p><p> 第5章軟件詳細(xì)設(shè)計17</p><p> 5.1程序設(shè)計說明17</p><p> 5.1.1總體設(shè)計17</p><p> 5.1.2功能模塊描述17</p><p&
18、gt; 第6章編碼與測試24</p><p> 6.1特色代碼24</p><p> 6.1.1 系統(tǒng)JSP程序部分24</p><p> 6.1.2系統(tǒng)javabean程序部分36</p><p><b> 第7章安裝43</b></p><p> 7.1服務(wù)器的安裝
19、43</p><p> 7.2 web server 安裝過程43</p><p> 7.3 DB系統(tǒng)安裝44</p><p><b> 結(jié)論45</b></p><p><b> 參考文獻(xiàn)46</b></p><p><b> 第1章 緒論<
20、;/b></p><p><b> 1.1問題提出</b></p><p> 網(wǎng)站是通過電子信息技術(shù)、網(wǎng)絡(luò)互聯(lián)技術(shù)和現(xiàn)代通訊技術(shù),使得交易涉及的各方當(dāng)事人借助電子方式聯(lián)系,實現(xiàn)整個交易的電子化。由于信息技術(shù)的逐漸完善和網(wǎng)絡(luò)貿(mào)易的日益發(fā)展,網(wǎng)站應(yīng)運而生。自其產(chǎn)生之日起,就一直被人們所重視,并不斷發(fā)展完善,將逐漸成為網(wǎng)絡(luò)貿(mào)易發(fā)展的重要形式,具其發(fā)展趨勢表明它將成
21、為未來網(wǎng)絡(luò)貿(mào)易等交流領(lǐng)域唯一的方式。</p><p> 對于網(wǎng)站除了選取有優(yōu)勢的語言和開發(fā)工具外,還有如網(wǎng)絡(luò)基礎(chǔ)設(shè)施、支付手段、安全認(rèn)證、電子物流配送等諸多問題。雖然當(dāng)今開發(fā)網(wǎng)站系統(tǒng)的開發(fā)工具很多,但是如何開發(fā)出一種同時具有耗費系統(tǒng)較少資源、具有較快的運行速度、較高的安全性、低成本的系統(tǒng)成了問題的關(guān)鍵。用JSP開發(fā)的網(wǎng)站系統(tǒng)無疑具有眾多優(yōu)點,因此本系統(tǒng)就是一個高性能的網(wǎng)站系統(tǒng)雛形,經(jīng)過擴(kuò)展和優(yōu)化即可以用做商務(wù)用
22、途。</p><p> 1.2文本研究(軟件開發(fā))的整體框架</p><p> 該網(wǎng)站系統(tǒng)應(yīng)用了JAVA領(lǐng)域中的JSP技術(shù)、JDBC和JAVABEAN等技術(shù)。該網(wǎng)站系統(tǒng)具有一個完整網(wǎng)站系統(tǒng)的基本功能。該系統(tǒng)對應(yīng)一個WEB應(yīng)用系統(tǒng)的3個層次,使用了JAVA平臺分別提供的不同的技術(shù)支持,這些技術(shù)同其他WEB技術(shù)結(jié)合共同實現(xiàn)完整的JAVA WEB技術(shù)平臺。</p><p&
23、gt; 在瀏覽器一端,支持標(biāo)準(zhǔn)的基于HTML/HTTP協(xié)議的瀏覽器作為前端,通過XML還可以支持更加豐富的瀏覽器前端系統(tǒng),如WAP設(shè)備。對于瀏覽器端的編程開發(fā),則可以使用JAVASCRIPT腳本語言,對于復(fù)雜的客戶端程序還可以通過JAVA APPLET實現(xiàn)。</p><p> 在WEB服務(wù)器上,JAVA通過SERVLET、JSP、JAVABEAN、TAGLIB以及XML技術(shù)提供了充分的動態(tài)WEB應(yīng)用開發(fā)功能。
24、</p><p> 在后臺系統(tǒng)的連接(如數(shù)據(jù)庫)方面,則可以通過JDBC等技術(shù)實現(xiàn)連接。</p><p> 整個技術(shù)體制建立在J2SE平臺基礎(chǔ)之上,既JAVA 2標(biāo)準(zhǔn)環(huán)境。也就是說,在使用JAVA技術(shù)開發(fā)WEB應(yīng)用程序的過程中,可以充分使用J2SE平臺提供的平臺支持,J2SE包括了豐富的基本應(yīng)用功能支持和類庫,如圖形處理、復(fù)雜數(shù)據(jù)類型等等,這就使得當(dāng)使用JSP/SERVLET等技術(shù)開發(fā)
25、動態(tài)WEB程序時可以充分利用J2SE類庫提供的功能支持,實現(xiàn)所需的復(fù)雜功能,禰補(bǔ)基本語言功能的不足。</p><p> 該網(wǎng)站系統(tǒng)運用了上述框架中的一部分技術(shù),既IE瀏覽器、JSP、JAVABEAN、JDBC等基礎(chǔ)技術(shù),用JBULIDER開發(fā)工具,TOMCAT4.0作為服務(wù)器,在WINDOWS2000系統(tǒng)中運行,配置了本地服務(wù)器進(jìn)行本機(jī)訪問,能夠?qū)崿F(xiàn)基本的操作功能,如果有網(wǎng)絡(luò)環(huán)境,能夠在發(fā)布到網(wǎng)絡(luò)上訪問運行。&
26、lt;/p><p> 1.3 研究(軟件開發(fā))的內(nèi)容和意義</p><p> 該系統(tǒng)實現(xiàn)了一個網(wǎng)上圖書超市,其包含了一個網(wǎng)上BtoC銷售系統(tǒng)的WEB前臺和后臺所需的所有核心功能:軟件分類、軟件列表、軟件內(nèi)容介紹、會員登錄、購物推車、會員注冊、發(fā)送郵件、留言板、書籍查詢、以及一個示意性的定單提交功能。系統(tǒng)運用了JSP與JAVABEAN技術(shù)相結(jié)合,使程序更加模塊化。雖然該系統(tǒng)的功能相對來說比較
27、簡單,但是具備了一個網(wǎng)站系統(tǒng)的基本流程,體現(xiàn)了一個網(wǎng)站系統(tǒng)的基礎(chǔ)模型。經(jīng)過一些擴(kuò)展和優(yōu)化能夠適合一些企業(yè)作為商業(yè)用途的網(wǎng)站。</p><p> 網(wǎng)站應(yīng)用后的經(jīng)濟(jì)效益是可觀的。其應(yīng)用發(fā)展的趨勢也是不可低估的。它的未來必將更加完善,并更好地為我國的各個商務(wù)領(lǐng)域服務(wù)。</p><p><b> 軟件開發(fā)平臺分析</b></p><p> 2.1
28、 課題的可行性分析</p><p> 隨著計算機(jī)網(wǎng)絡(luò)和通訊技術(shù)的飛快發(fā)展,特別是Internet的普及應(yīng)用,人們傳統(tǒng)的行為、觀念和管理模式正在經(jīng)受著強(qiáng)烈的沖擊。Internet以其開放性、先進(jìn)性、方便性和低成本的優(yōu)勢迅速向世界各個角落延伸,引起了一場新技術(shù)的革命和社會生活方式的變革。而基于Internet技術(shù)的網(wǎng)站,則是Internet帶給人類社會的新的經(jīng)濟(jì)模式與管理手段,它打破了傳統(tǒng)媒體在時間、空間等方面的
29、限制,通過網(wǎng)絡(luò)提供全時(7X24小時)、全方位(企業(yè)內(nèi)部、相關(guān)部門、社會公眾等)的服務(wù)。</p><p> 信息技術(shù)的快速發(fā)展,為網(wǎng)站系統(tǒng)盡快實現(xiàn)網(wǎng)上商務(wù)交流提供了有力支撐。隨著技術(shù)水平的提高,建設(shè)統(tǒng)一的商務(wù)平臺,整合各業(yè)務(wù)系統(tǒng),建立各商務(wù)部門的商務(wù)信息,實現(xiàn)信息共享、網(wǎng)上商務(wù)交流,是深入開展信息化應(yīng)用的必然要求。經(jīng)過充分調(diào)研論證,我決定參考原有的商務(wù)系統(tǒng),開發(fā)網(wǎng)站系統(tǒng)——山東新世紀(jì)網(wǎng)站。</p>
30、<p> 我的課題《學(xué)深網(wǎng)上圖書超市》,是一個B/S結(jié)構(gòu)的 JSP+SQL Server2000的應(yīng)用。采用技術(shù)成熟的三層結(jié)構(gòu)體系。按照不同的功能來劃分,降低系統(tǒng)模塊與模塊之間的耦合性,提高不同模塊的獨立性,從而保證了系統(tǒng)的穩(wěn)定性、安全性、可擴(kuò)展性和可移植性。</p><p><b> 2.2 可行性分析</b></p><p> 2.2.1 J
31、AVA的特點</p><p> Java是全新的計算機(jī)技術(shù),它是建立在基于強(qiáng)大的網(wǎng)絡(luò)和同樣的軟件應(yīng)該在不同的計算機(jī)系統(tǒng)上運行的思想上的。這些計算機(jī)系統(tǒng)包括消費型器件和其他一些設(shè)備。利用Java技術(shù),您能令人信服的讓同一種應(yīng)用在各種各樣機(jī)器如:PC、Macintosh系統(tǒng)、計算機(jī)網(wǎng)絡(luò)或者像Internet可視電話一樣的新技術(shù)上運行。</p><p> Java可以既可以看作是一種真正的程
32、序設(shè)計語言,也可以看作是一個完整的平臺。作為一種程序語言,它簡潔、面向?qū)ο?、安全、健壯以及適用于Internet技術(shù)。而作為一個平臺,它通過那些符合Sun公司發(fā)布的標(biāo)準(zhǔn)APIs 開發(fā)的應(yīng)用,在操作系統(tǒng)、數(shù)據(jù)庫、中間件和其他第三方廠商提供的服務(wù)。</p><p> 2.2.2 技術(shù)可行性分析</p><p> 根據(jù)系統(tǒng)目標(biāo)來衡量所需的技術(shù)是否具備,從硬件、軟件的性能要求、環(huán)境條件等方面去
33、考慮和分析?!毒W(wǎng)站系統(tǒng)——學(xué)深網(wǎng)絡(luò)書店》是采用B/S結(jié)構(gòu)的JSP+SQL Server 2000的應(yīng)用。</p><p> B/S是Brower/Server的縮寫,客戶機(jī)上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)
34、庫進(jìn)行數(shù)據(jù)交互。</p><p> B/S最大的優(yōu)點就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內(nèi)部的安全認(rèn)證后,不需要人的參與,系統(tǒng)可以自動分配給用戶一個賬號進(jìn)入系統(tǒng)。</p><p> 客戶端實現(xiàn)與服務(wù)器的直接相連,沒有中
35、間環(huán)節(jié),因此響應(yīng)速度快??蛻舨僮鹘缑嬖O(shè)計個性化,具有直觀、簡單、方便的特點,可以滿足客戶個性化的操作要求。同時由于開發(fā)是針對性的,因此,操作界面漂亮、形式多樣,可以充分滿足客戶自身的個性化要求。</p><p> B/S與C/S處理模式相比,則大大簡化了客戶端,只要客戶端機(jī)器能上網(wǎng)就可以。對于B/S而言,開發(fā)、維護(hù)等幾乎所有工作也都集中在服務(wù)器端,當(dāng)企業(yè)對網(wǎng)絡(luò)應(yīng)用進(jìn)行升級時,只需更新服務(wù)器端的軟件就可以,這減輕
36、了異地用戶系統(tǒng)維護(hù)與升級的成本。如果客戶端的軟件系統(tǒng)升級比較頻繁,那么B/S架構(gòu)的產(chǎn)品優(yōu)勢明顯——所有的升級操作只需要針對服務(wù)器進(jìn)行。 </p><p> 2.2.3可靠性和安全性特點</p><p> Java最初設(shè)計目的是應(yīng)用于電子類消費產(chǎn)品因此要求較高的可靠性。Java雖然源于C++,但它消除了許多C++不可靠因素,可以防止許多編程錯 誤。首先,Java是強(qiáng)類型的語言,要求顯式的
37、方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯誤,保證程序更加可靠;其次,Java不支持指針,這杜絕了內(nèi)存的非法訪問;第三,Java的自動單元收集防止了內(nèi)存丟失動態(tài) 內(nèi)存分配導(dǎo)致的問題;第四,Java解釋器運行時實施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的越界,最后,Java 提供了異常處理機(jī)制,程序員可以把一 組錯誤代碼放在一個地方,這樣可以簡化錯誤處理任務(wù)便于恢復(fù)。 </p><p> 由于Java 主要用于網(wǎng)絡(luò)應(yīng)用程
38、序開發(fā),因此對安全性有較高的要求。 如果沒有安全保證,用戶從網(wǎng)絡(luò)下載程序執(zhí)行就非常危險。Java 通過自己 的安全機(jī)制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。當(dāng)Java 字節(jié)碼進(jìn)入解釋器時,首先必須經(jīng)過字節(jié)碼校驗器的檢查,然后,Java 解釋器將決定程序中類的內(nèi)存布局,隨后,類裝載器負(fù)責(zé)把來自網(wǎng)絡(luò)的類 裝載到單獨的內(nèi)存區(qū)域,避免應(yīng)用程序之間相互干擾破壞。最后,客戶端用戶還可以限制從網(wǎng)絡(luò)上裝載的類只能訪問某些文件系統(tǒng)。上述幾種
39、機(jī)制 結(jié)合起來,使得Java 成為安全的編程語言。</p><p> 2.3 JSP技術(shù)介紹</p><p> 2.3.1 什么是JSP</p><p> JSP(IAVA SERVER PAGES)是由Sun 公司在java語言上開發(fā)出來的一種動態(tài)網(wǎng)頁制作技術(shù),其可使您可以將網(wǎng)頁中的動態(tài)部分和靜態(tài)的HTML相分離</p><p>
40、2.3.2 JSP技術(shù)特點</p><p> 按照腳本語言是服務(wù)于某一個子系統(tǒng)的語言這種論述, J S P應(yīng)當(dāng)被看作是一種腳本語言,然而,作為一種腳本語言, J S P又顯得過于強(qiáng)大了,在J S P中幾乎可以使用全部的J a v a類。作為一種基于文本的、以顯示為中心的開發(fā)技術(shù),J S P提供了Java Servlet 的所有好處,并且,當(dāng)與一個JavaBeans 類結(jié)合在一起時,提供了一種使內(nèi)容和顯示邏輯分開
41、的簡單方式。分開內(nèi)容和顯示邏輯的好處是,更新頁面外觀的人員不必懂得Java 代碼,而更新J a v a B e a n s類的人員也不必是設(shè)計網(wǎng)頁的行家里手,就可以用帶JavaBeans 類的JSP 頁面來定義Web 模板,以建立一個由具有相似的外觀的頁面組成的網(wǎng)站。JavaBeans 類完成數(shù)據(jù)提供,這樣在模板中就沒有Java 代碼,這意味著這些模板可以由一個HTML 編寫人員來維護(hù)。當(dāng)然,也可以利用Java Servlet來控制網(wǎng)站
42、的邏輯,通過Java Servlet調(diào)用J S P文件的方式來將網(wǎng)站的邏輯和內(nèi)容分離。這種分離網(wǎng)站的邏輯和內(nèi)容的設(shè)計方法做一些更深入的描述。在選擇使用一個Java Servlet,還是一個JS</p><p> 在J S P文件轉(zhuǎn)譯為S e r v l e t以后,每次客戶機(jī)(通常是用戶的We b瀏覽器)向服務(wù)器請求這一個J S P文件的時候,服務(wù)器將檢查自上次編譯后J S P文件是否有改變,如果沒有改變,就直
43、接執(zhí)行S e r v l e t,而不用再重新編譯,其效率是相當(dāng)高的。一般來說, J S P文件的編譯是在第一個用戶訪問到這個J S P頁面時發(fā)生,而這第一個用戶通常是開發(fā)人員自己,這樣,正式放在服務(wù)器上讓用戶訪問的J S P文件一般都已經(jīng)有了對應(yīng)的編譯好的S e r v l e t了。許多服務(wù)器都有設(shè)置,可以使J S P文件在第一個用戶訪問之前就預(yù)先編譯好,這樣看來,效率就更高了。</p><p> 在J S
44、 P規(guī)范書中,并沒有明確要求J S P中的程序代碼部分(稱為S c r i p t l e t)一定要用J a v a來寫,實際上,有一些J S P引擎就是采用的其他腳本語言,如:E M A C - S c r i p t、We b L等等,但實際上這幾</p><p> 種腳本語言也是構(gòu)建在J a v a上面,編譯為S e r v l e t來實現(xiàn)的。按照J(rèn) S P規(guī)范書,完全和J a v a沒有任何關(guān)系的S
45、 c r i p t l e t也是可以的,不過,由于J S P的強(qiáng)大功能主要在于能和J a v a B e a n s、Enterprise JavaBeans一起工作,所以即使是Scriptlet部分不使用Java,編譯成的執(zhí)行代碼也應(yīng)該是與Java相關(guān)的</p><p> 2.3.3 JSP開發(fā)WEB的幾種方式</p><p> J S P作為J 2 E E的一部分,既可以用于開
46、發(fā)小型的We b站點、也可以用于開發(fā)大型的、企業(yè)級</p><p> 的應(yīng)用程序,本節(jié)將講述對于不同規(guī)模的We b系統(tǒng),使用J S P進(jìn)行開發(fā)的不同方式。</p><p> ?。?) 直接使用J S P</p><p> 對于最小型的We b站點,可以直接使用J S P來構(gòu)建動態(tài)網(wǎng)頁,這種站點最為簡單,所需要的僅僅是簡單的留言板、動態(tài)日期等基本的功能。對于這種開
47、發(fā)模式,一般可以將所有的動態(tài)處理部分都放置在J S P的S c r i p t l e t中,就像一般使用P H P或A S P開發(fā)動態(tài)網(wǎng)頁一樣。</p><p> (2) JSP+JavaBeans</p><p> 中型站點面對的是數(shù)據(jù)庫查詢、用戶管理和小量的商業(yè)業(yè)務(wù)邏輯。對于這種站點,不能將所有的東西全部交給J S P頁面來處理。在單純的J S P中加入J a v a B e a
48、 n s技術(shù)將有助于這種中型網(wǎng)站</p><p> 的開發(fā)。利用J a v a B e a n s,將很容易完成如數(shù)據(jù)庫連接、用戶登錄與注銷、商業(yè)業(yè)務(wù)邏輯封裝的任務(wù)。如:將常用的數(shù)據(jù)庫連接寫為一個Java Beans,既方便了使用,又可以使J S P文件簡單而清晰,通過封裝,還可以防止一般的開發(fā)人員直接獲得數(shù)據(jù)庫的控制權(quán)。</p><p> ?。?)JSP+JavaBeans+Servl
49、et</p><p> 無論用A S P還是P H P開發(fā)動態(tài)網(wǎng)站,長期以來都有一個比較重要的問題,就是網(wǎng)站的邏輯關(guān)系和網(wǎng)站的顯示頁面不容易分開。常??梢钥匆娨恍A雜著i f . . . . . . t h e n . . . . . .、case select或是i f{ . . . . . . }和大量顯示用的H T M L代碼的A S P、P H P頁面,即使是有著良好的程序?qū)懽髁?xí)慣的程序員,其作品也幾乎
50、無法閱讀。另一方面,動態(tài)We b的開發(fā)人員也在抱怨,將網(wǎng)站美工設(shè)計的靜態(tài)頁面和動態(tài)程序和并的過程是一個異常痛苦的過程。如何解決這個問題呢?在J S P問世以后, S e r v l e t已經(jīng)完全可以被J S P代替,然而,事實是S e r v l e t在不再擔(dān)負(fù)動態(tài)頁面生成的任務(wù)以后,開始擔(dān)負(fù)起決定整個網(wǎng)站邏輯流程的任務(wù)。在邏輯關(guān)系異常復(fù)雜的網(wǎng)站中,借助于S e r v l e t和J S P良好的交互關(guān)系和J a v a B e
51、a n s的協(xié)助,完全可以將網(wǎng)站的整個邏輯結(jié)構(gòu)放在S e r v l e t中,而將動態(tài)頁面的輸出放在J S P頁面中來完成。在這種開發(fā)方式中,一個網(wǎng)站可以有一個或幾個核</p><p> ?。?) J2EE開發(fā)模型</p><p> 在J 2 E E開發(fā)模型中,整個系統(tǒng)可以分為三個主要的部分:</p><p><b> 1. 視圖</b>
52、</p><p> 視圖就是用戶界面部分,在We b應(yīng)用程序中也就是H T M L、X M L、J S P頁面。這個部分主要處理用戶看到的東西,動態(tài)的J S P部分處理了用戶可以看見的動態(tài)網(wǎng)頁,而靜態(tài)的網(wǎng)頁則由H T M L、X M L輸出。</p><p><b> 2. 控制器。</b></p><p> 控制器負(fù)責(zé)網(wǎng)站的整個邏輯。它
53、用于管理用戶與視圖發(fā)生的交互。可以將控制器想象成處在視圖和數(shù)據(jù)之間,對視圖如何與模型交互進(jìn)行管理。通過使視圖完全獨立于控制器和模型,就可以輕松替換前端客戶程序,就是說,網(wǎng)頁制作人員將可以獨立自由地改變We b頁面而不用擔(dān)</p><p> 心影響這個基于We b的應(yīng)用程序的功能。在J 2 E E中,控制器的功能一般是由S e r v l e t、J a v a B e a n s、Enterprise Java
54、Beans 中的S e s s i o n B e a n來擔(dān)當(dāng)?shù)摹?lt;/p><p><b> 3. 模型</b></p><p> 模型就是應(yīng)用業(yè)務(wù)邏輯部分,這一部分的主要角色是Enterprise JavaBeans,借助于E J B強(qiáng)大的組件技術(shù)和企業(yè)級的管理控制,開發(fā)人員可以輕松形創(chuàng)建出可重用的業(yè)務(wù)邏輯模塊。</p><p> 2
55、.4 JAVABEAN技術(shù)介紹</p><p> 2.4.1 什么是JAVABEAN</p><p> JavaBean是描述Java的軟件組件模型,有點類似于Microsoft的COM組件概念。在Java模型中,通過JavaBean可以無限擴(kuò)充Java程序的功能,通過JavaBean的組合可以快速的生成新的應(yīng)用程序。對于程序員來說,最好的一點就是JavaBean可以實現(xiàn)代碼的重復(fù)利用
56、,另外對于程序的易維護(hù)性等等也有很重大的意義。 JavaBean通過Java虛擬機(jī)(Java Virtual Machine)可以得到正確的執(zhí)行,運行JavaBean最小的需求是JDK1.1或者以上的版本?! avaBean傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如AWT下的應(yīng)用。自從Jsp誕生后,JavaBean更多的應(yīng)用在了非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出來了越來越強(qiáng)的生命力。</p><p> 2.
57、4.2 JAVABEAN的特點</p><p> JavaBean 是與平臺無關(guān)的,所以對于將來的解決方案,供應(yīng)商可以輕易向不同用戶推出其客戶機(jī)方的 JavaBean,而不必創(chuàng)建或維護(hù)不同的版本。這些 JavaBean 可以與執(zhí)行商業(yè)功能(例如訂購、信用卡處理、電子匯款、存貨分配、運輸?shù)龋┑?EJB 配合使用。這里有巨大潛力,而這正是組件代理(WebSphere Application Server 企業(yè)版)設(shè)
58、計提供的那種潛力。 JavaBean 是一種組件,它在內(nèi)部有接口或有與其相關(guān)的屬性,以便不同人在不同時間開發(fā)的 bean 可以詢問和集成。可以構(gòu)建一個 bean,而在以后構(gòu)造時將其與其它 bean 綁定。這種過程提供了先構(gòu)建,然后重復(fù)使用的方法,這就是組件的概念。可以將這種單一應(yīng)用程序部署成獨立程序、ActiveX 組件或在瀏覽器中。 JavaBean 因其外部接口(即屬性接口)而與純對象不同。這種接口允許工具讀取組件要執(zhí)行的
59、功能,將其與其它 bean 掛鉤,以及將其插入其它環(huán)境。JavaBean 設(shè)計成對單一進(jìn)程而言是本地的,它們在運行時通??梢?。這種可視組件可能是按鈕、列表框、圖形或圖表 - 但這不是必需的。</p><p> 2.5 JDBC技術(shù)</p><p> 2.5.1 JDBC簡介</p><p> JDBC API由java編寫的一組接口和類組成,為開發(fā)者提供通過應(yīng)
60、用開發(fā)訪問數(shù)據(jù)庫的工具/接口。作為低端接口,JDBC需要直接使用SQL命令語句對數(shù)據(jù)庫進(jìn)行操作。此外,通過JMS、EJB以及容器持續(xù)等方式,JDBC可以實現(xiàn)高層調(diào)用,即不直接通過SQL操作數(shù)據(jù)庫。 BEA提供兩種JDBC連接方式,即兩層方式和多次驅(qū)動方式。所謂兩層方式即java應(yīng)用客戶端直接訪問數(shù)據(jù)庫,多層則通過jdbcpool、rmi-driver或者JTS實現(xiàn)。</p><p> 2.5.2 JDBC類定義
61、</p><p> 下面是在weblogic中常用的JDBC類: </p><p> JDBC 類描述 Driver每個驅(qū)動程序包都必須提供,用于創(chuàng)建driver和database之間的連接,并提供數(shù)據(jù)庫連接相關(guān)信息。 </p><p> DataSource描述DBMS或其它數(shù)據(jù)源細(xì)節(jié),用于和數(shù)據(jù)源創(chuàng)建連接。 </p><p> S
62、tatement向數(shù)據(jù)庫系統(tǒng)發(fā)送簡單的SQL語句。 </p><p> PreparedStatement繼承Statement,用于執(zhí)行pre-compiled SQL 語句。 </p><p> CallableStatement繼承PreparedStatement,用于對數(shù)據(jù)庫存儲過程進(jìn)行調(diào)用(可帶參數(shù))。 </p><p> ResultSet結(jié)果集
63、,包含SQL查詢語句執(zhí)行結(jié)果,提供結(jié)果查詢方法。 </p><p> ResultSetMetaData體統(tǒng)結(jié)果集中行列對象的類型、屬性等信息。 </p><p> DataBaseMetaData提供數(shù)據(jù)庫系統(tǒng)整體信息,返回單值或結(jié)果集。 </p><p> Clobsbuilt-in 類型, 在行中存儲列字符型大對象。 </p><p&
64、gt; Blobsbuilt-in 類型,在數(shù)據(jù)庫表中存儲列二進(jìn)制大對象。 </p><p> JDBC 2.0支持 </p><p> WebLogic Server使用JDK 1.3,支持JDBC 2.0。 </p><p><b> 平臺支持: </b></p><p> 具體平臺支持取決于不同數(shù)據(jù)庫廠商
65、提供的數(shù)據(jù)庫(DBMS)及其驅(qū)動。</p><p><b> 軟件需求分析</b></p><p><b> 3.1功能需求</b></p><p><b> 3.1.1功能劃分</b></p><p> 該網(wǎng)上軟件超市雖然規(guī)模較小,但是應(yīng)該具備如下功能模塊:前端顯示的
66、JSP頁面應(yīng)有軟件分類目錄、軟件內(nèi)容介紹、會員登錄、會員注冊、留言板、幫助信息、以及一個示意性的定單提交功能。按照前臺與后臺的區(qū)別,還應(yīng)該細(xì)分為業(yè)務(wù)邏輯和表現(xiàn)邏輯。即前端的JSP頁面調(diào)用JAVABEAN來時間數(shù)據(jù)庫操作等功能。對于JAVABEAN部分,就因該表現(xiàn)業(yè)務(wù)實體的一些主要功能操作,例如增加、刪除和修改購物信息、清空所有信息、登錄認(rèn)證、定單提交及一些存儲信息的數(shù)據(jù)實體。</p><p><b>
67、 3.1.2功能描述</b></p><p> 該網(wǎng)站系統(tǒng)首先對于為登錄會員允許進(jìn)行書籍瀏覽,可以查看軟件詳細(xì)內(nèi)容及圖片的顯示。如果想進(jìn)行商品購買必須進(jìn)行登錄,如果沒有會員號和密碼,可以首先進(jìn)行注冊,登錄后可以查看軟件分類目錄,軟件分類目錄包含一個層次,每個目錄下保存具體的軟件詳細(xì)信息,用戶可以按照分類載瀏覽器中查找相應(yīng)的軟件商品信息,當(dāng)需要該書籍時可以通過購物推車功能進(jìn)行購買,并查看自己的購買信息
68、并提交定單,如果有需要聯(lián)系書店管理員,可以發(fā)送電子郵件給管理員,也可以在留言板上發(fā)言。如果想快速查詢書籍,該系統(tǒng)還有書籍查詢功能,輸入您所需要的書籍名字即可以查詢。</p><p><b> 3.2外部接口需求</b></p><p><b> 3.2.1用戶界面</b></p><p> 系統(tǒng)采用友好容易操作的界面
69、,方便用戶的操作訪問。因此程序采用固定的布局,每個頁面的固定部分都單獨實現(xiàn)成為一個JSP程序,然后在每個具體的頁面中包含他們,這樣既保證了程序的布局統(tǒng)一,又能簡化程序設(shè)計和調(diào)試。這些固定部分的JSP程序應(yīng)包括:頁面的HEAD部分,定義了連接樣式;頁面的頂部區(qū)域,定義頁面的主菜單;頁面的左邊區(qū)域,內(nèi)容為軟件目錄列表;頁面的底部區(qū)域。程序的顯示頁面能夠正確的顯示中文,并且適合當(dāng)今流行的瀏覽器顯示。</p><p>&
70、lt;b> 3.2.2軟件接口</b></p><p> 本系統(tǒng)具備良好的平臺無關(guān)性,無論是在NT系統(tǒng),LINUX系統(tǒng)還是UNIX系統(tǒng)上,都能正常運行而不需更改任何代碼。</p><p> 對WWW服務(wù)器沒有特別的要求或限制。</p><p> 對系統(tǒng)數(shù)據(jù)庫沒有特別的限制,但要求具備JDBC接口,目前市場上的絕大部分?jǐn)?shù)據(jù)庫都具備這一接口。
71、 對CPU、硬盤容量和最小內(nèi)存沒有特別的要求。</p><p> 要求系統(tǒng)的應(yīng)用服務(wù)器具備支持JAVA組件運行的功能。</p><p> 前臺使用 MS IE4.0以上的瀏覽器。本系統(tǒng)的客戶端可運行在任何裝有WWW瀏覽器 Microsoft InternetExplorer5.0以上或 NetScape Navigater 4.7以上的主機(jī)之上,</p><p&g
72、t;<b> 3.2.3通訊接口</b></p><p> 對于發(fā)送郵件部分,本系統(tǒng)使用了JavaMail接口,實現(xiàn)同郵件服務(wù)器的連接。</p><p><b> 3.2.4故障處理</b></p><p> 本軟件正常使用時不會出現(xiàn)錯誤,通常錯誤系統(tǒng)會給出相應(yīng)提示。但是出現(xiàn)不可預(yù)料致命性錯誤時,服務(wù)器將會自動停止
73、服務(wù),一般不會對系統(tǒng)造成損害.</p><p><b> 3.3性能需求</b></p><p><b> 3.3.1時間特性</b></p><p> 由于在 JSP 下,代碼被編譯成 Servlet 并由 Java 虛擬機(jī)執(zhí)行,這種編譯操作僅在對JSP 頁面的第一次請求時發(fā)生。所以其以后的訪問速度會很快,程序要求
74、再進(jìn)行優(yōu)化處理,達(dá)到用戶訪問是只需要較少時間和快速的數(shù)據(jù)庫訪問?! ?lt;/p><p><b> 3.3.2適應(yīng)性</b></p><p> 系統(tǒng)具備良好的平臺無關(guān)性,無論是在NT系統(tǒng),LINUX系統(tǒng)還是UNIX系統(tǒng)上,都能正常運行而不需更改任何代碼。</p><p> 對WWW服務(wù)器沒有特別的要求或限制。</p><
75、p> 對系統(tǒng)數(shù)據(jù)庫沒有特別的限制,但要求具備JDBC接口,目前市場上的絕大部分?jǐn)?shù)據(jù)庫都具備這一接口。</p><p><b> 3.4軟件屬性需求</b></p><p><b> 3.4.1正確性</b></p><p> 要求發(fā)布的軟件能夠達(dá)到用戶的預(yù)期目標(biāo),完全按照開發(fā)計劃進(jìn)行,運行時保證軟件基本無錯誤
76、。</p><p><b> 3.4.2可靠性</b></p><p> 具有運行穩(wěn)定,再發(fā)生嚴(yán)重錯誤時有完善的錯誤處理機(jī)制。由于JAVA技術(shù)本身有良好的錯誤處理機(jī)制,因此運行相對穩(wěn)定可靠。</p><p><b> 3.4.3效率</b></p><p> 用戶在正常情況下對于本軟件的操作
77、達(dá)到軟件開發(fā)的規(guī)格,在網(wǎng)絡(luò)環(huán)境下訪問具有高效的顯示頁面和數(shù)據(jù)操作功能。</p><p><b> 3.4.4完整性</b></p><p> 對于用戶的訪問操作和網(wǎng)站的工作方式,必須具有完整的流程和處理部分,及時完整的回復(fù)用戶的操作請求。</p><p><b> 3.4.5易實用性</b></p>&
78、lt;p> 要求程序?qū)Ψ?wù)器端和客戶端的系統(tǒng)要求比較低,能夠適用與一般配置的系統(tǒng),在使用JSP服務(wù)器并簡單配置后就能夠運行,并可發(fā)布到網(wǎng)絡(luò)上使用,適合大多數(shù)用戶的訪問。要求系統(tǒng)具有友好容易用戶操作的界面。</p><p><b> 3.4.6可維護(hù)性</b></p><p> 在開發(fā)設(shè)計本軟件在運行中發(fā)現(xiàn)錯誤時,能快速、準(zhǔn)確對其進(jìn)行定位、診斷和修改。編寫的
79、代碼注釋等要符合行業(yè)規(guī)范,模塊間具有低偶合性,便于系統(tǒng)維護(hù)和修改擴(kuò)展。</p><p><b> 3.4.7可測試性</b></p><p> 在開發(fā)設(shè)計本軟件時應(yīng)盡量對具體模塊多次測試,并減少測試本軟件的各項功能所需的工作量。</p><p><b> 3.4.8復(fù)用性</b></p><p&g
80、t; 設(shè)計時應(yīng)采取模塊化的方法進(jìn)行設(shè)計,對系統(tǒng)內(nèi)各模塊接口盡可能達(dá)到高內(nèi)聚、低偶合的程度,以提高各模塊的復(fù)用性。</p><p> 3.4.9安全保密性</p><p> 系統(tǒng)對于會員的信息及其購買必須具有保密性,必須只有管理員才能訪問。能夠防止來自網(wǎng)絡(luò)上的惡意訪問和修改信息。</p><p> 3.4.10可移植性</p><p>
81、 要求系統(tǒng)可以從一種操作系統(tǒng)移植到另一種操作系統(tǒng),可以從一種數(shù)據(jù)庫移植到另一種數(shù)據(jù)庫。并且不需要修改代碼或者只需修改少部分代碼和接口。</p><p><b> 軟件概要設(shè)計</b></p><p><b> 4.1總體設(shè)計</b></p><p><b> 4.1.1處理流程</b><
82、/p><p> 整個程序從用戶訪問進(jìn)入index.jsp開始,用戶可以進(jìn)行圖書信息瀏覽,但是要進(jìn)行其他操作就要進(jìn)行登錄,如果沒有注冊,首先需要注冊,登錄后可以瀏覽社區(qū)信息并且可以登錄論壇增加、修改、刪除記錄操作。</p><p> 4.1.2總體結(jié)構(gòu)與模塊外部設(shè)計</p><p> 要求系統(tǒng)程序設(shè)計模塊化和面向?qū)ο蠡年P(guān)鍵就是將表現(xiàn)和邏輯剝離,對于該JSP程序,剝
83、離的關(guān)鍵技術(shù)就是JAVABEAN。程序的總體結(jié)構(gòu)就是呈現(xiàn)給用戶的JSP頁面和邏輯部分JAVABEAN。整個程序的處理流程采用了JSP“簡單的2/1層模型”,部分程序使用了“重定向模型”和“包含模型”。對于“2/1模型”是JSP程序直接訪問外部資源(入數(shù)據(jù)庫),完成對可戶的請求服務(wù)。對于“重定向模型”是在“2/1模型”之上發(fā)展起來的,當(dāng)程序中來自客戶端的請求變的復(fù)雜時,專門使用一個初始JSP程序來處理客戶的請求,然后按照需要,將客戶端請求
84、重定向到其他JSP程序去處理,有它們生成發(fā)送到客戶端的響應(yīng)。對于“包含模型”初始的JSP程序既處理客戶端的請求,頁負(fù)責(zé)生成對客戶端的響應(yīng),但是在處理過程中可能會包含一些其他的JSP程序或其他文件,包含可以是靜態(tài)包含頁可以是動態(tài)包含,動態(tài)包含的效果就象是進(jìn)行了一次過程調(diào)用。</p><p><b> 4.1.3功能分配</b></p><p> 采用模塊化原理可以使
85、軟件結(jié)構(gòu)清晰,不僅容易設(shè)計也容易閱讀和理解,模塊化也有助于軟件開發(fā)工程的組織管理,一個復(fù)雜的大型程序可以由許多程序員分工編寫不同的模塊,并且可以進(jìn)一步分配技術(shù)熟練的程序員編寫困難的模塊。</p><p> 網(wǎng)站系統(tǒng)基本設(shè)計思想,是把整個系統(tǒng)按照實現(xiàn)的功能進(jìn)行分解。 對于程序的顯示功能(即呈現(xiàn)給用戶的JSP頁面)完全由JSP來完成。由于程序采用了“簡單的2/1層模型”、“重定向模型”和“包含模型”相結(jié)合的方式,因
86、此頁面顯示這個功能可能是這三種方式中的一種。對于用戶請求的處理既有JSP程序的處理,也有使用JAVABEAN來處理,再有JSP將響應(yīng)發(fā)送給客戶。JSP再整個程序結(jié)構(gòu)中擔(dān)當(dāng)了核心左右,JAVABEAN都是不可見的BEAN,只是有JSP調(diào)用做后臺處理(如訪問數(shù)據(jù)庫)不會顯示在客戶端。</p><p><b> 4.2接口設(shè)計</b></p><p><b>
87、 4.2.1外部接口</b></p><p> 程序通過WINDOWS2000平臺上的訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)化API—ODBC接口與SQLSERVER2000數(shù)據(jù)庫相連接,使用ODBC使得應(yīng)用程序同具體的數(shù)據(jù)庫接口分離開來,使應(yīng)用程序?qū)Σ煌臄?shù)據(jù)庫具有了兼容性和可移植性,無論任何一種數(shù)據(jù)庫,采用ODBC借口都可以按同樣的方式進(jìn)行訪問。因此,程序采用了JDBC與ODBC連接,只要它們的接口部分存在,就可以兼
88、容其他數(shù)據(jù)庫。</p><p><b> 4.2.2內(nèi)部接口</b></p><p> 將數(shù)據(jù)庫訪問的各個操作進(jìn)行了封裝,封裝到一個JAVA類DBSQL中,這樣,程序的數(shù)據(jù)庫訪問都可以通過這個類的方法來實現(xiàn)。經(jīng)過這樣的抽象后,上層的BEAN無須關(guān)心如何訪問數(shù)據(jù)庫,它只需要知道DBSQL類的接口就可以了;而DBSQL類只要保持接口不變,內(nèi)部的實現(xiàn)可以任意改變,例如進(jìn)
89、行優(yōu)化,并且不會影響到上層應(yīng)用。</p><p> JSP程序通過JDBC(JAVA 訪問數(shù)據(jù)庫標(biāo)準(zhǔn)API)接口來訪問數(shù)據(jù)庫,它能夠?qū)⒏鞣N數(shù)據(jù)庫的差異性對JAVA程序屏蔽起來,JAVA程序可以使用同樣的可移植的接口訪問數(shù)據(jù)庫,保證了JAVA程序的“一次編寫,各處運行”的優(yōu)點。</p><p><b> 4.3出錯處理設(shè)計</b></p><p&
90、gt; 4.3.1出錯輸出信息</p><p> 對于程序中容易出現(xiàn)錯誤的地方,應(yīng)該進(jìn)行反復(fù)調(diào)試,對于不可預(yù)見的錯誤應(yīng)該用JAVA錯誤處理機(jī)制在程序中預(yù)先控制,保證在出現(xiàn)錯誤情況下輸出錯誤信息。</p><p> 4.3.2出錯處理對策</p><p> JAVA語言自帶了一些錯誤處理機(jī)制,對于一些可能出現(xiàn)的不會導(dǎo)致丟失數(shù)據(jù)的錯誤,應(yīng)在程序中寫出響應(yīng)的處理代
91、碼,對于可能導(dǎo)致嚴(yán)重后果的錯誤,應(yīng)該停止系統(tǒng)運行。</p><p><b> 4.4安全保密設(shè)計</b></p><p> 對于系統(tǒng)的用戶數(shù)據(jù)應(yīng)該進(jìn)行保密處理,防止外部人員獲得。因此,在程序中應(yīng)該做一些認(rèn)證、訪問控制、數(shù)據(jù)完整性、數(shù)據(jù)隱秘性方面的考慮。</p><p><b> 4.5維護(hù)設(shè)計</b></p&g
92、t;<p> 對于軟件的各個模塊,應(yīng)該有清晰完整的注釋,并且盡量做到模塊內(nèi)部的高內(nèi)聚和模塊之間的低偶合。</p><p><b> 軟件詳細(xì)設(shè)計</b></p><p><b> 5.1程序設(shè)計說明</b></p><p><b> 5.1.1總體設(shè)計</b></p>
93、<p> 為了具備一個網(wǎng)站的基本操作流程,系統(tǒng)必須基本一個網(wǎng)站的基本功能??傮w來說,系統(tǒng)需要具有供用戶顯示的JSP頁面和后臺處理的JAVABEAN部分,還要通過數(shù)據(jù)庫存儲一些信息。</p><p> 5.1.2功能模塊描述</p><p> 1.JSP部分功能概述</p><p> 對于JSP頁面功能部分描述如下:</p><
94、;p> 首先,進(jìn)入首頁,首頁的頁面內(nèi)容如圖5-1:</p><p><b> 圖5-1</b></p><p> (1)網(wǎng)站導(dǎo)航:實現(xiàn)一個網(wǎng)站分類目錄系統(tǒng),可包含一個或幾個層次,每個目錄下保存具體的網(wǎng)站詳細(xì)信息,用戶可以按照分類瀏覽網(wǎng)站中相應(yīng)的信息;</p><p> ?。?)網(wǎng)站內(nèi)容介紹:網(wǎng)站詳細(xì)內(nèi)容及圖片的顯示;在查看網(wǎng)站內(nèi)容&
95、lt;/p><p> 同時,您可以以會員的身份進(jìn)行留言?;虻卿浘W(wǎng)站論壇,與其他人進(jìn)行交流。</p><p> 網(wǎng)站部分內(nèi)容頁面如下圖5-2:</p><p><b> 圖5-2</b></p><p> ?。?)會員登錄:實現(xiàn)會員功能,系統(tǒng)中所有操作行為都只有會員才</p><p> 進(jìn)行。因
96、此,只有登錄進(jìn)入系統(tǒng),才能進(jìn)行操作,并提交內(nèi)容。當(dāng)然部登錄仍可以訪問網(wǎng)站分類目錄,查閱網(wǎng)站詳細(xì)內(nèi)容。當(dāng)用戶輸入用戶名和密碼時,進(jìn)行數(shù)據(jù)庫訪問,以驗證合法性。如果您沒有注冊,程序會轉(zhuǎn)到注冊頁面要求您的注冊。</p><p> ?。?)留言功能:只有登錄用戶可以在網(wǎng)站上留言,并可對留言進(jìn)行修改、刪除,否則其頁面會顯示如下內(nèi)容5-3:</p><p><b> 圖5-3</b&
97、gt;</p><p> ?。?)會員注冊:因為系統(tǒng)中所有購買行為都只有會員才能進(jìn)行,所</p><p> 必須進(jìn)行注冊,會員注冊功能將用戶的信息寫入數(shù)據(jù)庫。會員注冊頁面如圖5-4:</p><p><b> 圖5-4</b></p><p> ?。?)論壇功能:可以使用戶發(fā)表一些對某些商品或者網(wǎng)站的意見和建議方使用
98、戶與管理員、用戶與用戶之間的交流。圖提交留言和查看留言</p><p> 如圖5-5、圖5-6、圖5-7:</p><p><b> 圖5-5</b></p><p><b> 圖5-6</b></p><p> 圖5-7 jsp部分功能圖</p><p> ?。?)
99、幫助信息:提示給用戶一些網(wǎng)站訪問流程等信息,以方便用戶的操作。</p><p> ?。?)提交功能:實際的提交過程是一個十分復(fù)雜的過程,這里的系統(tǒng)僅僅是簡單地將定單信息記入數(shù)據(jù)庫中。當(dāng)您進(jìn)行提交后,您所提交的內(nèi)容將同時清空,但已經(jīng)寫入到數(shù)據(jù)庫中了,如圖5-8:</p><p><b> 圖5-8</b></p><p> 2.JAVABEA
100、N功能部分描述</p><p> 網(wǎng)站的業(yè)務(wù)邏輯即JAVABEAN的功能。整個系統(tǒng)中存在11個業(yè)務(wù)實體,其中軟件分類目錄由一組分類目錄條目構(gòu)成,內(nèi)容列表則由一組軟件條目構(gòu)成,它們之間都是一種簡單的一對多關(guān)系。但是在分類目錄條目和軟件列表之間由一種一一對應(yīng)關(guān)系。每個登錄的會員都具有操作功能,而且會員和內(nèi)容之間還有一種對應(yīng)關(guān)系:每條留言都必然涉及一個會員。另外,為了對數(shù)據(jù)庫的訪問得到統(tǒng)一的管理,將數(shù)據(jù)庫訪問的各個操
101、作進(jìn)行了封裝,封裝到一個JAVA類DBSQL中,這樣,程序的數(shù)據(jù)庫訪問都可以通過這個類的方法來實現(xiàn)。這時面向?qū)ο髱淼囊粋€好處,經(jīng)過這樣的抽象后,上層的BEAN無須關(guān)心如何訪問數(shù)據(jù)庫,它只需要知道DBSQL類的接口就可以了;而DBSQL類只要保持接口不變,內(nèi)部的實現(xiàn)可以任意改變,例如進(jìn)行優(yōu)化,并且不會影響到上層應(yīng)用。</p><p> 圖5-2還表示出了每個業(yè)務(wù)實體的主要操作功能(方法)。例如留言管理實體,它可
102、以增加信息、刪除信息、修改信息和清空所有信息。會員實體(User),它具有三個操作:登錄認(rèn)證、注冊會員信息和提交。但是也由兩個實體沒有操作,分類條目目錄和信息條目,他們就是純粹的數(shù)據(jù)實體。對于查詢實體,包括多個方法對從JSP頁面獲得的參數(shù)信息寫入BEAN中已供顯示時提取出來。而留言板BEAN中的增加方法用來將用戶的留言信息寫入數(shù)據(jù)庫,其中用戶的留言信息是通過JSP頁面將信息參數(shù)提交給javaBean。對于不存在相互關(guān)系的實體,就不用圖來
103、表示。</p><p><b> 1.據(jù)庫設(shè)計說明</b></p><p> 本網(wǎng)站系統(tǒng)采用微軟公司的SQLSERVER2000企業(yè)版數(shù)據(jù)庫系統(tǒng),這里給出了數(shù)據(jù)庫的設(shè)計和說明。</p><p> 系統(tǒng)的數(shù)據(jù)庫中包含6表,分別定義如下。</p><p> (1)會員信息表:存儲會員信息,如會員名稱、口令及其他信息。
104、</p><p> ?。?)目錄表:存儲系統(tǒng)中軟件的分類目錄信息,由于軟件目錄只有一個層次,因此該表結(jié)構(gòu)比較簡單,只需要存儲分類名稱和分類編號就可以了。</p><p> ?。?)信息內(nèi)容表:存儲系統(tǒng)中所有的信息內(nèi)容,它同分類目錄表通過分類編號建立關(guān)系,每個軟件只能屬于且比反屬于某一個軟件分類。</p><p> ?。?)提交表:對所要保留的內(nèi)容進(jìn)行保存。</
105、p><p> ?。?)留言信息表:存儲了系統(tǒng)中用戶的留言信息,包括留言者信息、留言主題、留言者的Email、留言時間和留言內(nèi)容。用戶的留言信息將被寫入這個表中,當(dāng)查看歷史留言時,也是從這個表中提取信息。</p><p> 由于系統(tǒng)采用的是SQLSERVER2000數(shù)據(jù)庫,所以在JAVA程序中需要使用JDBC-ODBC連接實現(xiàn)數(shù)據(jù)庫訪問,因此需要在系統(tǒng)中創(chuàng)建一個ODBC系統(tǒng)數(shù)據(jù)源DSN sof
106、t。</p><p><b> 編碼與測試</b></p><p><b> 6.1特色代碼</b></p><p> 6.1.1 系統(tǒng)JSP程序部分</p><p> 1.由于程序采用固定的布局,所以每個頁面的固定部分都單獨實現(xiàn)成為一個JSP程序,然后在每個具體的頁面中包含特悶,這些固定部
107、分的JSP程序包括:</p><p> head.jsp:生成HTML頁面的HEAD部分,定義了鏈接樣式;</p><p> title.jsp:生成HTML頁面的頂部區(qū)域,定義頁面的主菜單;</p><p> index.jsp:</p><p> <%@ page contentType="text/html;ch
108、arset=gb2312" %></p><p> <%@ include file="conn/conn.jsp"%></p><p><b> <html></b></p><p><b> <head></b></p><
109、;p> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"></p><p> <% request.setCharacterEncoding("GB2312");</p><p> response.setConte
110、ntType("text/html;charset=GB2312"); %></p><p> <title>暢清園社區(qū)網(wǎng)</title></p><p> <link href="../css.css" rel="stylesheet" type="text/css"
111、></p><p> <style type="text/css"></p><p><b> <!--</b></p><p> body,td,th {</p><p> font-size: 12px;</p><p> color: #
112、333333;</p><p><b> }</b></p><p><b> body {</b></p><p> background-image: url(img/bg-3.gif);</p><p> margin-left: 0px;</p><p>
113、 margin-top: 0px;</p><p> margin-right: 0px;</p><p> margin-bottom: 0px;</p><p><b> }</b></p><p><b> a:link {</b></p><p> colo
114、r: #333333;</p><p> text-decoration: none;</p><p><b> }</b></p><p> a:visited {</p><p> text-decoration: none;</p><p> color: #333333;<
115、/p><p><b> }</b></p><p><b> a:hover {</b></p><p> text-decoration: underline;</p><p> color: #CD911D;</p><p><b> }</b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)網(wǎng)站信息管理系統(tǒng)畢業(yè)設(shè)計
- 社區(qū)網(wǎng)站設(shè)計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文-----it技術(shù)交流社區(qū)網(wǎng)站的設(shè)計
- 中國社區(qū)網(wǎng)站營銷模式研究.pdf
- 居民自辦社區(qū)網(wǎng)站發(fā)展路徑探析
- 我國社區(qū)網(wǎng)站媒介素養(yǎng)研究.pdf
- 企業(yè)社區(qū)網(wǎng)站的交互設(shè)計研究.pdf
- 校園虛擬社區(qū)網(wǎng)站的設(shè)計與實現(xiàn).pdf
- 開題報告-和諧社區(qū)網(wǎng)站的設(shè)計與實現(xiàn)
- SNS社區(qū)網(wǎng)站傳播模式研究.pdf
- 社區(qū)交流平臺網(wǎng)站畢業(yè)設(shè)計
- 某文化社區(qū)網(wǎng)站推廣營銷策劃
- 基于內(nèi)存緩存技術(shù)的社區(qū)網(wǎng)站設(shè)計與實現(xiàn).pdf
- 基于SSH框架的跑步社區(qū)網(wǎng)站的設(shè)計與實現(xiàn).pdf
- 畢業(yè)設(shè)計--java游戲設(shè)計
- 近鄰網(wǎng)—SNS社區(qū)網(wǎng)站商業(yè)計劃書.pdf
- 知識型社區(qū)網(wǎng)站發(fā)展研究——以知乎社區(qū)為例
- 基于java平臺的圖片秘書網(wǎng)站的設(shè)計與實現(xiàn)【畢業(yè)設(shè)計】
- 網(wǎng)絡(luò)社區(qū)網(wǎng)站運營模式及其發(fā)展策略研究開題報告
- 基于Struts2與Hibernate的社區(qū)網(wǎng)站系統(tǒng)設(shè)計與實現(xiàn).pdf
評論
0/150
提交評論