版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文</b></p><p> 題 目: 基于JSP技術(shù)的在線(xiàn)CD銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 院系名稱(chēng): xx信息科學(xué)與工程學(xué)院 </p><p> 專(zhuān)業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)xx級(jí)x班 </p><p&g
2、t; 學(xué)生姓名: 學(xué) 號(hào): </p><p> 指導(dǎo)教師: 教師職稱(chēng): </p><p><b> 20xx年x月x日</b></p><p><b> 摘 要</b></p><
3、p> 隨著Internet的迅速崛起,互聯(lián)網(wǎng)已逐漸成為人們收集和傳遞信息的最佳渠道,并逐步進(jìn)入了傳統(tǒng)的商品流通領(lǐng)域?;ヂ?lián)網(wǎng)的跨地域性和可交互性使其在與傳統(tǒng)貿(mào)易方式的競(jìng)爭(zhēng)中具有不可抗拒的優(yōu)勢(shì),網(wǎng)上商城和在線(xiàn)購(gòu)物正是這一時(shí)代的產(chǎn)物,隨之出現(xiàn)的各種商品在線(xiàn)銷(xiāo)售網(wǎng)站也正朝著專(zhuān)業(yè)化和規(guī)?;姆较虬l(fā)展。因此開(kāi)發(fā)一個(gè)具有強(qiáng)大功能的專(zhuān)業(yè)的在線(xiàn)CD銷(xiāo)售網(wǎng)站具有實(shí)際的意義。</p><p> 針對(duì)在線(xiàn)銷(xiāo)售的特點(diǎn)和網(wǎng)民可以隨
4、時(shí)隨地進(jìn)行購(gòu)物的需要,設(shè)計(jì)開(kāi)發(fā)了這個(gè)基于JSP技術(shù)的在線(xiàn)CD銷(xiāo)售網(wǎng)站。本文首先介紹了網(wǎng)上商店的現(xiàn)狀和本系統(tǒng)的開(kāi)發(fā)背景,然后論述了系統(tǒng)的設(shè)計(jì)目標(biāo)、系統(tǒng)的功能需求和總體設(shè)計(jì)方案,較詳細(xì)的論述了系統(tǒng)的具體設(shè)計(jì)和實(shí)現(xiàn),最后本文對(duì)在線(xiàn)CD銷(xiāo)售系統(tǒng)進(jìn)行了測(cè)試,并提出了還需要改進(jìn)的問(wèn)題。</p><p> 本系統(tǒng)主要包括以下幾個(gè)模塊:(1)用戶(hù)登錄模塊;(2)購(gòu)物車(chē)管理功能模塊;(3)CD管理功能模塊;(4)會(huì)員管理功能模塊
5、;(5)CD的在線(xiàn)查詢(xún)功能模塊;(6)其他功能模塊。其中購(gòu)物車(chē)管理功能模塊、用戶(hù)管理功能模塊和CD管理功能模塊是重點(diǎn)研究對(duì)象。</p><p> 關(guān)鍵詞: JSP技術(shù) 在線(xiàn)銷(xiāo)售網(wǎng)站 Java Bean 數(shù)據(jù)庫(kù) </p><p> Title JSP-based online CD sales for the Design and Implementation </p&
6、gt;<p><b> Abstract</b></p><p> With the rapid rise of the Internet, the Internet has become the information collected to provide the best channel and gradually enter the traditional dom
7、ain. When competing with the traditional trade sector, the Tran regional nature and Interactive of the Internet make it hold irresistible advantages. Internet and online shopping mall is a product of this era. Concomitan
8、t emergence of various commodities sales site is also along the specialization and scale direction. Therefore, the development</p><p> Focus on the characteristics of online marketing and conduction on inte
9、rnet at any time and place for purchasing goods, I design and develop this online CD sales website with the technical of JSP .At first this paper introduces the status and background of developing the system of the onlin
10、e store, and then discusses the design goals, System design and functional requirements, it have more detailed exposition about the system design and implementation. Finally, this article on-line CD sales syst</p>
11、<p> The system mainly includes the following modules: (1) users logged module; (2) shopping cart management module; (3) CD management module; (4) Member Management module; (5) CD-line query module; (6) other func
12、tional modules. During the management modules, user management module and CD management module are those for key study. </p><p> Keywords: JSP Online sales site Java Bean database</p><p>&l
13、t;b> 目 次</b></p><p><b> 前言1</b></p><p> 1 在線(xiàn)銷(xiāo)售系統(tǒng)概述2</p><p> 1.1 系統(tǒng)的開(kāi)發(fā)背景2</p><p> 1.2 系統(tǒng)開(kāi)發(fā)的意義3</p><p> 2 在線(xiàn)銷(xiāo)售系統(tǒng)分析及開(kāi)發(fā)技術(shù)
14、4</p><p> 2.1 系統(tǒng)的設(shè)計(jì)目標(biāo)4</p><p> 2.2 系統(tǒng)的需求分析4</p><p> 2.3 系統(tǒng)開(kāi)發(fā)的設(shè)計(jì)思想5</p><p> 2.4 系統(tǒng)的開(kāi)發(fā)技術(shù)6</p><p> 3 系統(tǒng)的基本框架和流程分析13</p><p> 3.1
15、系統(tǒng)的功能模塊13</p><p> 3.2 系統(tǒng)基本架構(gòu)的設(shè)計(jì)13</p><p> 3.3 系統(tǒng)流程分析14</p><p> 4 數(shù)據(jù)庫(kù)模型設(shè)計(jì)16</p><p> 4.1 數(shù)據(jù)庫(kù)需求分析16</p><p> 4.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)16</p><p&g
16、t; 4.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)18</p><p> 5 功能模塊的設(shè)計(jì)與實(shí)現(xiàn)20</p><p> 5.1 數(shù)據(jù)庫(kù)模塊20</p><p> 5.2 用戶(hù)注冊(cè)模塊的實(shí)現(xiàn)20</p><p> 5.3 用戶(hù)登錄模塊的實(shí)現(xiàn)21</p><p> 5.4 購(gòu)物車(chē)模塊的實(shí)現(xiàn)23</
17、p><p> 5.5 CD管理模塊的實(shí)現(xiàn)24</p><p> 5.6 用戶(hù)管理模塊的實(shí)現(xiàn)25</p><p> 6 系統(tǒng)測(cè)試及展望26</p><p> 6.1 系統(tǒng)的測(cè)試26</p><p> 6.2 系統(tǒng)不足及展望27</p><p><b> 總 結(jié)
18、28</b></p><p><b> 致 謝29</b></p><p><b> 參考文獻(xiàn)30</b></p><p><b> 前言</b></p><p> 目前,網(wǎng)絡(luò)正以一種前所未有的沖擊力影響著人類(lèi)的生產(chǎn)和日常生活。網(wǎng)絡(luò)的誕生和發(fā)展,顛覆了
19、傳統(tǒng)的信息傳播方式,沖破了存在于傳統(tǒng)交流方式中的時(shí)間和空間中的種種壁壘。極大地改變著人類(lèi),從物質(zhì)到精神、從形式到內(nèi)容、從生產(chǎn)到生活的方方面面,并且給人類(lèi)帶來(lái)了許多新的機(jī)遇和挑戰(zhàn)。而互聯(lián)網(wǎng)服務(wù)業(yè)務(wù)方面:電子郵件、網(wǎng)上銀行、在線(xiàn)交易、網(wǎng)絡(luò)廣告、網(wǎng)絡(luò)游戲等服務(wù)業(yè)務(wù)也都在快速的發(fā)展著。</p><p> 本次畢業(yè)設(shè)計(jì)的任務(wù)是構(gòu)建一個(gè)基于JSP技術(shù)的在線(xiàn)銷(xiāo)售CD的電子商務(wù)網(wǎng)站。JSP是Java Server Page的縮
20、寫(xiě),該技術(shù)是由Sun Microsystems公司倡導(dǎo),許多公司參與建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),它在開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)方面有著特別強(qiáng)大的功能。JSP是一種在服務(wù)器端HTML(或XML)中嵌入Java代碼的腳本語(yǔ)言,是開(kāi)發(fā)Web動(dòng)態(tài)網(wǎng)站快速而有效的工具,JSP技術(shù)在開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站方面有以下特色:</p><p> ?。?)JSP技術(shù)是用Java語(yǔ)言作為腳本語(yǔ)言的。Java語(yǔ)言是成熟的、強(qiáng)大的、易擴(kuò)充的編程語(yǔ)言;</p
21、><p> ?。?)高效性與安全性。JSP在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)碼由Java虛擬機(jī)解釋執(zhí)行,比源碼解釋效率高;</p><p> ?。?)可維護(hù)性。由于JSP技術(shù)是一種開(kāi)放的、跨平臺(tái)的結(jié)構(gòu),因此Web服務(wù)器、平臺(tái)及其他組件能很容易升級(jí)或切換,且不會(huì)影響JSP基本的應(yīng)用程序;</p><p> ?。?)穩(wěn)定性和產(chǎn)品的多樣性。</p><p>
22、; 目前,在國(guó)內(nèi)JSP技術(shù)還是一種較新的技術(shù),而在國(guó)外JSP+JDBC+Java Bean已經(jīng)成為開(kāi)發(fā)電子商務(wù)網(wǎng)站的主流技術(shù),隨著國(guó)內(nèi)與國(guó)際的接軌,JSP技術(shù)也必將成為國(guó)內(nèi)動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)的首選。</p><p> 本在線(xiàn)CD銷(xiāo)售系統(tǒng)中我主要做了以下幾個(gè)模塊的設(shè)計(jì)與開(kāi)發(fā):用戶(hù)登錄模塊、購(gòu)物車(chē)管理功能模塊、CD管理功能模塊、用戶(hù)管理功能模塊、CD在線(xiàn)查詢(xún)功能模塊、銷(xiāo)售統(tǒng)計(jì)功能模塊。其中購(gòu)物車(chē)管理模塊、用戶(hù)管理模
23、塊、CD管理功能模塊是重點(diǎn)研究對(duì)象。本論文中第一章論述了開(kāi)發(fā)的背景及意義;第二章論述了需求分析及開(kāi)發(fā)技術(shù)選擇;第三章論述了系統(tǒng)總體架構(gòu)設(shè)計(jì)和流程分析;第四章論述了數(shù)據(jù)庫(kù)設(shè)計(jì);第五章論述了系統(tǒng)各模塊的設(shè)計(jì)與實(shí)現(xiàn);第六章論述了系統(tǒng)的測(cè)試與分析;最后總結(jié)了我在本次畢業(yè)設(shè)計(jì)中的收獲。</p><p> 1 在線(xiàn)銷(xiāo)售系統(tǒng)概述</p><p> 1.1 系統(tǒng)的開(kāi)發(fā)背景 </p>
24、<p> 1.1.1 網(wǎng)上商店的發(fā)展?fàn)顩r</p><p> 近年來(lái)隨著Internet的迅速崛起,利用無(wú)國(guó)界、無(wú)區(qū)域界限的Internet銷(xiāo)售商品或服務(wù)已成為商品交易的新選擇。從國(guó)際上召開(kāi)的一系列關(guān)于“如何利用Internet制造商機(jī)”的討論會(huì)可以看出,網(wǎng)上購(gòu)物這種購(gòu)物方式也即將成為一種新的購(gòu)物趨勢(shì)。這種交易方式的優(yōu)越性也將逐漸被人們所理解,并且這些觀念正在以難以想象的加速度傳播到世界的各個(gè)角落。
25、中國(guó)也不例外,隨著國(guó)內(nèi)各項(xiàng)技術(shù)的日益完善,人們的參與意識(shí)也在逐漸的增強(qiáng),各種在線(xiàn)銷(xiāo)售網(wǎng)站蓬勃發(fā)展的良好趨勢(shì)以已初現(xiàn)端倪。從政府到公民,普遍認(rèn)為“信息時(shí)代”已經(jīng)到來(lái)。作為“信息時(shí)代”一種重要形式的網(wǎng)上商店將成為新時(shí)代的寵兒,于是越來(lái)越多的商家在網(wǎng)上建起了自己的在線(xiàn)商店,向消費(fèi)者展示著這種新穎的購(gòu)物理念。</p><p> 網(wǎng)上購(gòu)物系統(tǒng)是一種具有交互功能的商業(yè)信息系統(tǒng),它向用戶(hù)提供靜態(tài)和動(dòng)態(tài)兩類(lèi)信息資源。所謂靜態(tài)信
26、息是指那些不經(jīng)常變動(dòng)或更新的資源,如公司簡(jiǎn)介、管理規(guī)范和公司制度等等;動(dòng)態(tài)信息是指隨時(shí)變化的信息,如商品報(bào)價(jià)、會(huì)議安排或時(shí)事新聞等。因此在線(xiàn)銷(xiāo)售系統(tǒng)要具有強(qiáng)大的交互功能,可使網(wǎng)站管理商和用戶(hù)方便的傳遞信息,實(shí)現(xiàn)商品的在線(xiàn)銷(xiāo)售。</p><p> 1.1.2 系統(tǒng)的技術(shù)現(xiàn)狀 </p><p> 目前在國(guó)內(nèi)PHP技術(shù)和ASP技術(shù)應(yīng)用最為廣泛,而JSP技術(shù)由于是一種較新的技術(shù),國(guó)內(nèi)采用的還
27、較少。但在國(guó)外,JSP技術(shù)已經(jīng)是一種比較流行的技術(shù)了,尤其是電子商務(wù)類(lèi)的網(wǎng)站,多采用JSP技術(shù)。也有一些是采用的PHP技術(shù),如新浪網(wǎng)(www.sina.com)等。但是由于PHP技術(shù)本身存在的一些缺點(diǎn),使得它不適合應(yīng)用于大型電子商務(wù)網(wǎng)站,而比較適合一些小型的商業(yè)站點(diǎn)。</p><p> 首先,PHP缺乏規(guī)模支持;其次,缺乏多層結(jié)構(gòu)支持。但對(duì)于大負(fù)荷站點(diǎn)的解決方法只有一個(gè):分布計(jì)算,數(shù)據(jù)庫(kù)、應(yīng)用邏輯層、表示邏輯層
28、彼此分開(kāi),而且同層也可以根據(jù)流量分開(kāi),組成二維陣列。而PHP則缺乏這種支持。再有上面提到的PHP提供的數(shù)據(jù)庫(kù)接口支持不統(tǒng)一,就使得它不適合運(yùn)用在大型電子商務(wù)網(wǎng)站中。而ASP和JSP則沒(méi)有以上缺陷,ASP可以通過(guò)Microsoft Windows的COM/DCOM獲得ActiveX規(guī)模支持,通過(guò)DCOM和Transaction Server獲得結(jié)構(gòu)支持;JSP可以通過(guò)SUN Java的Java Class和EJB獲得規(guī)模支持,通過(guò)EJB/
29、CORBA以及眾多廠商的Application Server獲得結(jié)構(gòu)支持。三者中,JSP應(yīng)該是未來(lái)發(fā)展的趨勢(shì)。世界上一些大的電子商務(wù)解決方案提供商都采用JSP/Servlet。比較出名的如IBM的E-business,它的核心是采用 JSP/Servlet的WebSphere;西方另外一個(gè)非常著名的電子商務(wù)軟件提供商,Intershop,它原來(lái)的產(chǎn)品Intershop1,2,3,4占據(jù)了電子商務(wù)軟件的主要份額。它們都是通過(guò)CGI來(lái)<
30、;/p><p> 總的來(lái)說(shuō),ASP,PHP,JSP三者都有相當(dāng)數(shù)量的支持者,而這三者也各有所長(zhǎng),在開(kāi)發(fā)過(guò)程中,我們應(yīng)該根據(jù)實(shí)際的需要來(lái)使用最合適的技術(shù),本系統(tǒng)則采用較新的JSP技術(shù),一方面,JSP的安全性和跨平臺(tái)性比較好;另一方面,我也希望能從開(kāi)發(fā)該系統(tǒng)的過(guò)程中,深入學(xué)習(xí)一下這門(mén)編程語(yǔ)言。</p><p> 1.2 系統(tǒng)開(kāi)發(fā)的意義 </p><p> Inter
31、net的飛速發(fā)展,為改變傳統(tǒng)的商業(yè)運(yùn)作模式提供了一種技術(shù)上的可行性的方案,利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng)Intranet,企業(yè)外部網(wǎng)Extranet,通過(guò)廉價(jià)的通訊手段,將買(mǎi)家與賣(mài)家、廠商和合作伙伴緊密結(jié)合在了一起,消除了時(shí)間和空間帶來(lái)的障礙,從而大大的節(jié)約了交易成本,擴(kuò)大了交易范圍。而在實(shí)際的生活中,這種方案已經(jīng)被廣泛的運(yùn)用到了實(shí)際的商業(yè)活動(dòng)中了,人們將這種交易模式稱(chēng)為:電子商務(wù)。 </p><
32、;p> 在眾多電子商務(wù)系統(tǒng)中,當(dāng)今比較流行的網(wǎng)上購(gòu)物系統(tǒng)國(guó)外的有“淘寶網(wǎng)(www.taobao.com)”,國(guó)內(nèi)的有“當(dāng)當(dāng)網(wǎng)(www.dangdang.com)”。它們都是相當(dāng)優(yōu)秀的電子商務(wù)網(wǎng)站,也為其他的網(wǎng)站提供了良好的典范。在設(shè)計(jì)中可以學(xué)習(xí)參考他們的思想,了解和熟悉整個(gè)網(wǎng)站的開(kāi)發(fā)流程及完整的在線(xiàn)銷(xiāo)售電子商務(wù)網(wǎng)站應(yīng)有的功能和注意事項(xiàng)。 </p><p> 設(shè)計(jì)和完成一個(gè)在線(xiàn)銷(xiāo)售電子商務(wù)網(wǎng)站有著深刻的意
33、義,在開(kāi)發(fā)過(guò)程中將會(huì)牽涉到許多技術(shù)上的問(wèn)題,如:動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)、后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)和管理等。通過(guò)實(shí)際的制作網(wǎng)站,可以避免紙上談兵,在實(shí)踐中掌握上述技術(shù)的使用。</p><p> 2 在線(xiàn)銷(xiāo)售系統(tǒng)分析及開(kāi)發(fā)技術(shù) </p><p> 2.1 系統(tǒng)的設(shè)計(jì)目標(biāo) </p><p> 一個(gè)典型的在線(xiàn)銷(xiāo)售電子商務(wù)網(wǎng)站系統(tǒng)應(yīng)該具備以下主要功能:</p>&
34、lt;p> ?。?)能24小時(shí)不間斷的為客戶(hù)提供方便快捷的在線(xiàn)訂購(gòu)服務(wù);</p><p> ?。?)方便的商品信息維護(hù)與管理,包括調(diào)整商品價(jià)格、修改現(xiàn)有商品信息、添加新商品信息、刪除過(guò)時(shí)商品信息等;</p><p> ?。?)強(qiáng)大的用戶(hù)管理功能,修改已注冊(cè)用戶(hù)信息、刪除已注冊(cè)用戶(hù)、查看已注冊(cè)用戶(hù)的詳細(xì)信息等;</p><p> (4)高效的商品數(shù)據(jù)方案,能對(duì)
35、商品信息進(jìn)行科學(xué)、靈活的分類(lèi)和存儲(chǔ),使得客戶(hù)能迅速地從少則幾千,多則上萬(wàn)種CD中找到自己所需的CD;</p><p> ?。?)強(qiáng)大、方便、快捷的查詢(xún)功能。提供關(guān)鍵字分類(lèi)查詢(xún)功能,讓客戶(hù)可以很輕松的找到自己想要的CD;</p><p> ?。?)購(gòu)物車(chē)功能,能夠?qū)?gòu)買(mǎi)物品數(shù)量進(jìn)行修改、商品刪除或清空購(gòu)物車(chē);</p><p> (7)訂單號(hào)模塊,所謂訂單號(hào)模塊就是客
36、戶(hù)購(gòu)買(mǎi)完商品后,系統(tǒng)自動(dòng)分配一個(gè)購(gòu)物號(hào)碼給客戶(hù),以方便客戶(hù)隨時(shí)查詢(xún)賬單處理情況。了解現(xiàn)在貨物的狀態(tài)。</p><p> 2.2 系統(tǒng)的需求分析 </p><p> 需求分析是平臺(tái)開(kāi)發(fā)的一個(gè)不可缺少的環(huán)節(jié),為了能夠使本系統(tǒng)更好、更完善地被設(shè)計(jì)出來(lái),就必須先進(jìn)行詳細(xì)的調(diào)查研究。通過(guò)系統(tǒng)分析并參考幾個(gè)大型的網(wǎng)站得出了本系統(tǒng)功能需求。在本系統(tǒng)中,功能界面可以分為客戶(hù)界面部分和管理員界面部分
37、,詳細(xì)功能需求如下:</p><p><b> 用戶(hù)界面部分:</b></p><p> 查看CD詳細(xì)信息,并可以直接購(gòu)買(mǎi)任意數(shù)量的欲選購(gòu)的CD唱片;</p><p> CD查詢(xún)功能:可按分類(lèi)方式查找CD,也可通過(guò)任意關(guān)鍵字進(jìn)行查詢(xún),并可以查看搜索到的CD唱片的詳細(xì)信息;</p><p> 購(gòu)物車(chē)功能:可對(duì)購(gòu)買(mǎi)物
38、品數(shù)量進(jìn)行修改,可以刪除購(gòu)買(mǎi)商品,也可以清空購(gòu)物車(chē);</p><p> 用戶(hù)注冊(cè)功能:因?yàn)椴淮蛩憬o未注冊(cè)用戶(hù)預(yù)留瀏覽接口,所以必須提供便捷的用戶(hù)注冊(cè)功能;</p><p> 查看用戶(hù)的訂單信息:用戶(hù)可以查看自己的訂單信息;</p><p> 查看用戶(hù)積分等級(jí):用戶(hù)可以查看自己的積分信息;</p><p> 查看銷(xiāo)量排行:用戶(hù)可以查看C
39、D唱片銷(xiāo)量排行榜。</p><p><b> 管理界面部分:</b></p><p> CD管理功能:管理員登陸后可以添加新的CD信息以及新的CD分類(lèi)、可以修改已有CD信息、可以刪除已有CD信息、可以查看已有CD信息;</p><p> 用戶(hù)管理功能:管理員登陸后可以修改已注冊(cè)用戶(hù)信息、可以刪除已注冊(cè)用戶(hù)、可以查看已注冊(cè)用戶(hù)的詳細(xì)信息等;
40、</p><p> 訂單管理功能:查看訂單清單、更新訂單付款、查看出貨狀態(tài)、刪除訂單;</p><p> 查看銷(xiāo)售統(tǒng)計(jì),管理員可以查看CD銷(xiāo)售情況以及銷(xiāo)售排行。</p><p> 2.3 系統(tǒng)開(kāi)發(fā)的設(shè)計(jì)思想 </p><p> 本系統(tǒng)存在3種用戶(hù):管理員用戶(hù)、未注冊(cè)用戶(hù)、已注冊(cè)用戶(hù)。為了簡(jiǎn)化思路,我們不給未注冊(cè)用戶(hù)提供瀏覽接口,而是
41、需要用戶(hù)注冊(cè)以后才能進(jìn)行瀏覽CD或購(gòu)買(mǎi)CD等動(dòng)作。而管理員用戶(hù)則由系統(tǒng)初始化的時(shí)候指定,并不采用注冊(cè)機(jī)制,另外就是需要提供給普通用戶(hù)和管理員用戶(hù)不同的接口。登陸判定上采用首次給予數(shù)據(jù)庫(kù)驗(yàn)證,然后把用戶(hù)信息寫(xiě)進(jìn)session,然后其他頁(yè)面采用session驗(yàn)證。</p><p> 本系統(tǒng)采用三層架構(gòu)設(shè)計(jì),即程序邏輯結(jié)構(gòu)分為用戶(hù)界面層、業(yè)務(wù)邏輯處理層和數(shù)據(jù)存儲(chǔ)層。三層在實(shí)際的物理結(jié)構(gòu)上也是獨(dú)立的,業(yè)務(wù)邏輯處理層采用
42、Java Bean實(shí)現(xiàn),用戶(hù)界面與業(yè)務(wù)邏輯分離,系統(tǒng)的安全性、可維護(hù)性、重用性和可擴(kuò)展性都大大提高。三層架構(gòu)的工作原理如圖2.1所示。</p><p> 圖2.1 三層架構(gòu)工作原理圖</p><p> 在圖中所示的三層架構(gòu)中,用戶(hù)界面層通過(guò)統(tǒng)一的結(jié)構(gòu)向業(yè)務(wù)層發(fā)送請(qǐng)求,業(yè)務(wù)層按自己的邏輯規(guī)則將請(qǐng)求處理進(jìn)行數(shù)據(jù)庫(kù)操作,然后將數(shù)據(jù)庫(kù)返回的數(shù)據(jù)封裝成類(lèi)的形式返回給用戶(hù)界面層,這樣用戶(hù)界面層甚
43、至可以不知道數(shù)據(jù)庫(kù)的結(jié)構(gòu),它只要維護(hù)與業(yè)務(wù)層之間的接口即可。這種方式在一定程度上增加了數(shù)據(jù)庫(kù)的安全性,同時(shí)也降低了對(duì)用戶(hù)界面層開(kāi)發(fā)人員的要求,因?yàn)樗静恍枰M(jìn)行任何數(shù)據(jù)庫(kù)操作。</p><p> 上面Java Bean通過(guò)返回對(duì)象的形式返回?cái)?shù)據(jù),在類(lèi)的內(nèi)部可以規(guī)定哪些數(shù)據(jù)可訪(fǎng)問(wèn),哪些數(shù)據(jù)時(shí)只讀的等,從而通過(guò)封裝數(shù)據(jù)達(dá)到再一次提高數(shù)據(jù)全性的目的。</p><p> 2.4 系統(tǒng)的開(kāi)發(fā)
44、技術(shù)</p><p> 針對(duì)在線(xiàn)銷(xiāo)售和網(wǎng)民可以隨時(shí)隨地進(jìn)行購(gòu)物的需要,以及功能考慮,本次設(shè)計(jì)開(kāi)發(fā)的在線(xiàn)銷(xiāo)售網(wǎng)站是基于JSP技術(shù)的。網(wǎng)站系統(tǒng)采用JSP+JavaBean+SQL2000 設(shè)計(jì)方式, Java Bean組件可以用來(lái)執(zhí)行復(fù)雜的計(jì)算任務(wù),或者負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互及數(shù)據(jù)提取等,在本系統(tǒng)中Java Bean主要擔(dān)當(dāng)配合JSP以及Servlet來(lái)完成用戶(hù)的請(qǐng)求,而JSP主要擔(dān)當(dāng)接受與響應(yīng)客戶(hù)端,Sql 2000
45、在本系統(tǒng)擔(dān)當(dāng)與數(shù)據(jù)庫(kù)的連接與通信。</p><p> 2.4.1 JSP簡(jiǎn)介 </p><p> JSP(Java Server Pages)是由Sun Microsystems公司于1999年6月倡導(dǎo),許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。它的實(shí)現(xiàn)是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(*.jsp)。We
46、b服務(wù)器在遇到訪(fǎng)問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶(hù)。程序片段可以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所需要的功能,包括操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)及發(fā)送E-mail等等。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶(hù)端的僅僅是得到的結(jié)果,因而對(duì)客戶(hù)瀏覽器的要求很低。</p><p> 2.4.2 JSP技術(shù)的發(fā)展現(xiàn)狀</p><p> JSP技術(shù)被設(shè)計(jì)成為一
47、個(gè)開(kāi)放的、可擴(kuò)展的以及用于創(chuàng)建動(dòng)態(tài)Web頁(yè)面的標(biāo)準(zhǔn)。開(kāi)發(fā)人員可以使用JSP技術(shù)來(lái)創(chuàng)建具有可移植性的Web應(yīng)用程序。開(kāi)發(fā)結(jié)果可以在各種Web服務(wù)器和Web應(yīng)用服務(wù)器上運(yùn)行,而不用考慮具體的開(kāi)發(fā)平臺(tái)或開(kāi)發(fā)工具。為了給動(dòng)態(tài)Web頁(yè)面提供一個(gè)開(kāi)放的工業(yè)標(biāo)準(zhǔn),JSP規(guī)范的1.0版本的提出,是向這個(gè)方向邁出的第一步。在1.0版本中,其基礎(chǔ)由核心標(biāo)記集、隱含對(duì)象以及開(kāi)始創(chuàng)建動(dòng)態(tài)Web頁(yè)面所需的基本功能構(gòu)成。已經(jīng)有許多Web服務(wù)器,Web應(yīng)用服務(wù)器和工
48、具開(kāi)發(fā)商為他們的產(chǎn)品添加了對(duì)JSP1.0的支持。</p><p> JSP 1.0 版本中加入了一些新的特色,特別是加入了XML的語(yǔ)法和輸出緩沖等功能,以解決重定向的錯(cuò)誤,而同時(shí)一些在0.92版本中的功能被取消了。</p><p> 隨著XML 越來(lái)越熱門(mén),在不久的將來(lái)XML將成為主流。因此,在JSP1.0的語(yǔ)法中開(kāi)始了對(duì)XML的支持,并希望能夠與其兼容。不過(guò),在JSP1.0版本中對(duì)X
49、ML的支持還不是必須的,但在將來(lái)的JSP1.1版本中對(duì)它的支持將成為必然。JSP1.1與JSP1.0 兩個(gè)版本基本上同時(shí)開(kāi)發(fā)的。但是,JSP1.1需要新的Servlet API的支持,所以JSP1.1將會(huì)等新的Servlet API 公布之后才會(huì)推出。除了JSP標(biāo)準(zhǔn)的語(yǔ)法標(biāo)記之外,JSP1.1將會(huì)提供有可擴(kuò)展的自定義語(yǔ)法標(biāo)記機(jī)制,這樣使用者就可以定義自己的語(yǔ)法標(biāo)記,并且可以在任何支持JSP1.1的引擎上運(yùn)行它們,而且供應(yīng)商們也會(huì)有選擇地
50、擴(kuò)展或擴(kuò)充JSP規(guī)范中的功能。JSP引擎能夠強(qiáng)有力地支持多種腳本語(yǔ)言和對(duì)象模型。在不斷擴(kuò)充和使用JSP技術(shù)同時(shí)。也將保持JSP技術(shù)對(duì)平臺(tái)和服務(wù)器的可移植性。</p><p> 2.4.3 JSP技術(shù)的特點(diǎn) </p><p> (1) 應(yīng)用程序內(nèi)容與頁(yè)面顯示分離</p><p> 用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終
51、頁(yè)面,并使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端口運(yùn)行。由于核心邏輯被封裝在標(biāo)識(shí)和JavaBeans中,所以Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和腳本,生成所請(qǐng)求的內(nèi)容(例如,通過(guò)訪(fǎng)問(wèn)JavaBeans組件,使用JDBC技術(shù)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)或者包含文件),并且將結(jié)果以HT
52、ML(或者XML) 頁(yè)面的形式發(fā)送回瀏覽器。這既有助于作者保護(hù)自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。</p><p><b> (2) 可重用組件</b></p><p> 絕大多數(shù)JSP頁(yè)面依賴(lài)于可重用的、跨平臺(tái)的組件(JavaBeans或者Enterprise JavaBeans組件)來(lái)執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。開(kāi)發(fā)人員能夠共享
53、和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶(hù)團(tuán)體所使用?;诮M件的方法加速了總體開(kāi)發(fā)過(guò)程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開(kāi)發(fā)努力中得到平衡。 </p><p><b> (3) 采用標(biāo)識(shí)</b></p><p> Web頁(yè)面開(kāi)發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)
54、中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪(fǎng)問(wèn)和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。 </p><p><b> (4) 適應(yīng)平臺(tái)</b></p><p> 幾乎所有平臺(tái)都支持Java,JSP+JavaBeans幾乎可以在所有平臺(tái)下通行無(wú)阻。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和Ja
55、vaBeans甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無(wú)關(guān)的。 </p><p><b> (5) 數(shù)據(jù)庫(kù)連接</b></p><p> Java中連接數(shù)據(jù)庫(kù)的技術(shù)是JDBC,Java程序通過(guò)JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)相連,執(zhí)行查詢(xún)、提取數(shù)據(jù)等操作。Sun公司還開(kāi)發(fā)了JDBC-ODBC bridge,利用此技術(shù)Java程序可以訪(fǎng)問(wèn)帶有ODBC驅(qū)動(dòng)程序的數(shù)
56、據(jù)庫(kù),目前大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都帶有ODBC驅(qū)動(dòng)程序,所以Java程序能訪(fǎng)問(wèn)諸如Oracle、Sybase、SQL 2000和MS Access等數(shù)據(jù)庫(kù)。</p><p> 此外,通過(guò)開(kāi)發(fā)標(biāo)識(shí)庫(kù),JSP技術(shù)可以進(jìn)一步擴(kuò)展。第三方開(kāi)發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫(kù)。這使得Web頁(yè)面開(kāi)發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來(lái)進(jìn)行工作。 </p><p> JS
57、P技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且能擴(kuò)展到支持企業(yè)級(jí)的分布式應(yīng)用中。作為采用Java技術(shù)家族的一部分,以及Java 2(企業(yè)版體系結(jié)構(gòu))的一個(gè)組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。 </p><p> 由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java的,而且所有的JSP頁(yè)面都被編譯成為Java Servlets,所以JSP頁(yè)面具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)
58、管理和安全性。作為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)言“一次編寫(xiě),各處運(yùn)行”的特點(diǎn)。</p><p> 利用JSP技術(shù),動(dòng)態(tài)信息由JSP頁(yè)面來(lái)表現(xiàn),JSP頁(yè)面由安裝在Web服務(wù)器或者使用JSP的應(yīng)用服務(wù)器 上的JSP引擎執(zhí)行。JSP引擎接受客戶(hù)端對(duì)JSP頁(yè)面的請(qǐng)求,并且生成JSP頁(yè)面作為對(duì)客戶(hù)端的響應(yīng)。 </p><p> JSP頁(yè)面通常被編譯成為Java Servlet
59、s,這是一個(gè)標(biāo)準(zhǔn)的Java擴(kuò)展。頁(yè)面開(kāi)發(fā)人員能夠訪(fǎng)問(wèn)全部的Java應(yīng)用環(huán)境,以利用Java技術(shù)的擴(kuò)展性和可移植性。當(dāng)JSP頁(yè)面第一次被調(diào)用時(shí),如果它還不存在,就會(huì)被編譯成為一個(gè)Java Servlets類(lèi),并且存儲(chǔ)在服務(wù)器的內(nèi)存中。這就使得在接下來(lái)的對(duì)該頁(yè)面的調(diào)用中,服務(wù)器會(huì)有非??斓捻憫?yīng) 。</p><p> JSP頁(yè)面可以包含在多種不同的應(yīng)用體系結(jié)構(gòu)或者模型中,可以用于由不同協(xié)議、組件和格式所組成的聯(lián)合體中
60、?;贘SP的動(dòng)態(tài)信息發(fā)布技術(shù)是一個(gè)開(kāi)放的、可擴(kuò)展的建立動(dòng)態(tài)Web頁(yè)面的標(biāo)準(zhǔn)。不論采用什么創(chuàng)建工具,開(kāi)發(fā)人員都可以使用JSP頁(yè)面來(lái)創(chuàng)建可移植的Web應(yīng)用,在不同的Web應(yīng)用服務(wù)器上運(yùn)行。</p><p> 2.4.4 JSP與ASP、PHP的區(qū)別 </p><p> 目前,最常用的動(dòng)態(tài)網(wǎng)頁(yè)語(yǔ)言除了JSP以為,還有ASP和PHP。ASP是一個(gè)Web服務(wù)器的開(kāi)發(fā)環(huán)境,利用它可以產(chǎn)生和運(yùn)用
61、動(dòng)態(tài)的、交互的、高性能的Web服務(wù)應(yīng)用程序。ASP采用腳本語(yǔ)言VBScript(或JavaScript)作為自己的開(kāi)發(fā)語(yǔ)言。 PHP是一種跨平臺(tái)的服務(wù)器端的嵌入式語(yǔ)言。它大量地借用C、Java等語(yǔ)言的語(yǔ)法,并耦合PHP自己的特性,使Web開(kāi)發(fā)者能夠快速的寫(xiě)出動(dòng)態(tài)生成頁(yè)面。它支持目前絕大多數(shù)數(shù)據(jù)庫(kù),而且可以不受限制的獲得源碼,甚至可以從中加進(jìn)你自己需要的特色。JSP、 ASP、 PHP三者都提供在HTML代碼中混合某種程序代碼、由語(yǔ)言引擎
62、解釋執(zhí)行程序代碼的能力。但JSP代碼被編譯成Servlet并由Java虛擬機(jī)解釋執(zhí)行,這種編譯操作僅在對(duì)JSP頁(yè)面的第一次請(qǐng)求時(shí)發(fā)生。在JSP、 ASP、 PHP環(huán)境下,HTML代碼主要負(fù)責(zé)描述信息的顯示樣式,而程序代碼則用來(lái)描述處理邏輯。普通的HTML頁(yè)面只依賴(lài)于Web服務(wù)器,而JSP、 ASP、 PHP頁(yè)面需要附加的語(yǔ)言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入HTML到代碼中,然后一起發(fā)給瀏覽器。JSP、 ASP、 PH
63、P</p><p> (1) JSP與ASP</p><p> JSP跨平臺(tái),而且支持包括Apache、Netscape、IIS、IBM Http Server在內(nèi)的所有主流Web服務(wù)器, 而ASP目前只支持Windows NT +IIS; JSP提供了更好的安全機(jī)制, 這對(duì)于E-business 這樣的應(yīng)用來(lái)說(shuō)是至關(guān)重要的; JSP可以跨操作系統(tǒng)、Web服務(wù)器和應(yīng)用服務(wù)器,而AS
64、P只限于 Windows NT + IIS;JSP是一個(gè)開(kāi)放的標(biāo)準(zhǔn),得到了Oracle、Netscape、IBM、BEA、Borland等支持;JSP的組件編寫(xiě)更為容易,而且JSP的性能優(yōu)于ASP。</p><p> (2) JSP與PHP</p><p> JSP 是一個(gè)業(yè)界標(biāo)準(zhǔn),PHP只是一個(gè)開(kāi)發(fā)組織并不強(qiáng)的免費(fèi)技術(shù)。PHP的性能不好,是解釋型的,JSP采用JIT編譯后,和C不相上
65、下,而且支持多線(xiàn)程。JSP支持的平臺(tái)眾多,包括 Windows 98/2000/NT 、Unix、Linux、FreeBSD 、AS/400 、OS/390,而PHP支持的平臺(tái)有限。JSP可以利用JDBC和眾多主流關(guān)系數(shù)據(jù)庫(kù)連接,而PHP目前只支持My Sql和Oracle等有限的幾種。JSP中的組件Java Bean和EJB開(kāi)發(fā)非常容易,而且還可以在JSP中使用所有Java的類(lèi)和功能;而PHP只能用C寫(xiě)一些功能有限的組件,而且編寫(xiě)比較
66、復(fù)雜。利用 JSP可以支持 EJB , CORBA 標(biāo)準(zhǔn),而且還支持LDAP, Message 等服務(wù),使得訪(fǎng)問(wèn)ERP、CICS、MQ 等企業(yè)應(yīng)用非常容易;而PHP 在這個(gè)方面先天不足,所以對(duì)于電子商務(wù)這樣的Mission-critical的應(yīng)用來(lái)說(shuō),PHP并不適合。三者中,JSP應(yīng)該是未來(lái)發(fā)展的趨勢(shì),所以世界上的一些大的電子商務(wù)解決方案提供商都采用JSP技術(shù)。</p><p> 2.4.5 JSP與Java
67、Beans、JDBC</p><p> (1) Java Beans</p><p> JSP 作為一個(gè)很好的動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言得到了越來(lái)越廣泛的使用,在各類(lèi)JSP 應(yīng)用程序當(dāng)中,JSP+Java Bean 的組合成為了一種事實(shí)上最常見(jiàn)的JSP程序的標(biāo)準(zhǔn)。數(shù)據(jù)庫(kù)的連接都是用Java Bean 實(shí)現(xiàn)的,其連接語(yǔ)句為: </p><p> < jsp :use
68、Bean id =″sqlbean″scope =″session″class =″com.include. dbconn″/ ></p><p> Java Bean是描述Java的軟件組件模型,有點(diǎn)類(lèi)似于Microsoft的COM組件概念。在Java模型當(dāng)中,通過(guò)Java Bean可以無(wú)限擴(kuò)充Java程序的功能,通過(guò)Java Bean的組件可以快速地生成新的應(yīng)用程序。對(duì)于程序員來(lái)說(shuō),最好的一點(diǎn)就是 J
69、ava Bean可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對(duì)于程序的易維護(hù)性等也有很大的意義。</p><p> Java Bean通過(guò)Java虛擬機(jī)(Java virtual machine)可以得到正確的執(zhí)行,運(yùn)行Java Bean最少的需求是JDK1.1或以上版本,本在線(xiàn)CD銷(xiāo)售系統(tǒng)就是運(yùn)用了JDK1.5的版本。</p><p> Java Bean的傳統(tǒng)應(yīng)用在于可視化的領(lǐng)域,如AWP下的應(yīng)用
70、。自從JSP誕生以后,Java Bean更多地應(yīng)用在了非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出了越來(lái)越強(qiáng)的生命力。 </p><p> (2) JDBC技術(shù)概述 </p><p> JDBC是一種可用于執(zhí)行SQL語(yǔ)句的JavaAPI(Application Programming Interface,應(yīng)用程序設(shè)計(jì)接口)。它由一些Java語(yǔ)言寫(xiě)的類(lèi)、界面組成。JDBC給數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)人員、
71、數(shù)據(jù)庫(kù)前臺(tái)工具開(kāi)發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開(kāi)發(fā)人員可以用純Java語(yǔ)言編寫(xiě)完整的數(shù)據(jù)庫(kù)應(yīng)用程序。 </p><p> 通過(guò)使用JDBC,開(kāi)發(fā)人員可以很方便地將SQL語(yǔ)句傳送給幾乎任何一種數(shù)據(jù)庫(kù)。也就是說(shuō),開(kāi)發(fā)人員可以不必寫(xiě)一個(gè)程序訪(fǎng)問(wèn)Sybase,寫(xiě)另一個(gè)程序訪(fǎng)問(wèn)Oracle,再寫(xiě)一個(gè)程序訪(fǎng)問(wèn)Microsoft的SQL Server。用JDBC寫(xiě)的程序能夠自動(dòng)地將SQL語(yǔ)句傳送給相應(yīng)的數(shù)據(jù)庫(kù)管理
72、系統(tǒng)(DBMS)。不但如此,使用Java編寫(xiě)的應(yīng)用程序可以在任何支持Java的平臺(tái)上運(yùn)行,不必在不同的平臺(tái)上編寫(xiě)不同的應(yīng)用。Java和JDBC的結(jié)合可以讓開(kāi)發(fā)人員在開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用時(shí)真正實(shí)現(xiàn)“Write Once,Run Everywhere!” </p><p> JDBC擴(kuò)展了Java的能力,如使用Java和JDBCAPI就可以公布一個(gè)Web頁(yè),頁(yè)中帶有能訪(fǎng)問(wèn)遠(yuǎn)端數(shù)據(jù)庫(kù)的Applet。企業(yè)可以通過(guò)JDBC讓全
73、部職工在Intranet上連接到幾個(gè)全球數(shù)據(jù)庫(kù)上,而這幾個(gè)全球數(shù)據(jù)庫(kù)可以是不相同的。隨著越來(lái)越多的程序開(kāi)發(fā)人員使用Java語(yǔ)言,對(duì)Java訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)易操作性的需求越來(lái)越強(qiáng)烈。 </p><p> 2.4.6 SQL server 2000</p><p> Microsoft SQL Server2000是由 Microsoft公司開(kāi)發(fā)的,簡(jiǎn)稱(chēng)SQL Server,由一系列相互協(xié)作的
74、組件構(gòu)成,能滿(mǎn)足最大的Web站點(diǎn)和企業(yè)數(shù)據(jù)處理系統(tǒng)存儲(chǔ)和分析數(shù)據(jù)的需求。</p><p> Microsoft SQL Server 2000 主要具備以下特性:</p><p> (1) Internet 集成:SQL Server 2000 數(shù)據(jù)庫(kù)引擎提供完整的 XML 支持。它還具有構(gòu)成最大的 Web 站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的可伸縮性、可用性和安全功能。SQL Server 20
75、00 程序設(shè)計(jì)模型與 Windows DNA 構(gòu)架集成,用以開(kāi)發(fā) Web 應(yīng)用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服務(wù)等功能,在 Web 應(yīng)用程序中包含了用戶(hù)友好的查詢(xún)和強(qiáng)大的搜索功能。</p><p> (2) 可伸縮性和可用性:同一個(gè)數(shù)據(jù)庫(kù)引擎可以在不同的平臺(tái)上使用,從運(yùn)行 Microsoft Windows 98 的便攜式電腦,到運(yùn)行
76、Microsoft Windows 2000 數(shù)據(jù)中心版的大型多處理器服務(wù)器。SQL Server 2000 企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級(jí)到最大 Web 站點(diǎn)所需的性能級(jí)別。 </p><p> (3) 企業(yè)級(jí)數(shù)據(jù)庫(kù)功能:SQL Server 2000 關(guān)系數(shù)據(jù)庫(kù)引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫(kù)引擎充分保護(hù)數(shù)據(jù)完整性,同時(shí)將管理上千個(gè)并發(fā)修改數(shù)據(jù)庫(kù)的用戶(hù)的開(kāi)銷(xiāo)
77、減到最小。SQL Server 2000 分布式查詢(xún)使你得以引用來(lái)自不同數(shù)據(jù)源的數(shù)據(jù),就好像這些數(shù)據(jù)是 SQL Server 2000 數(shù)據(jù)庫(kù)的一部分,同時(shí)分布式事務(wù)支持充分保護(hù)任何分布式數(shù)據(jù)更新的完整性。復(fù)制同樣使你得以維護(hù)多個(gè)數(shù)據(jù)復(fù)本,同時(shí)確保單獨(dú)的數(shù)據(jù)復(fù)本保持同步??蓪⒁唤M數(shù)據(jù)復(fù)制到多個(gè)移動(dòng)的脫接用戶(hù),使這些用戶(hù)自主地工作,然后將他們所做的修改合并會(huì)發(fā)布服務(wù)器。 </p><p> (4) 易于安裝、部署
78、和使用:SQL Server 2000 中包括一系列管理和開(kāi)發(fā)工具,這些工具可改進(jìn)在多個(gè)站點(diǎn)上安裝、部署、管理和使用 SQL Server 的過(guò)程。SQL Server 2000 還支持基于標(biāo)準(zhǔn)的、與 Windows DNA 集成的程序設(shè)計(jì)模型,使 SQL Server 數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)的使用成為生成強(qiáng)大的可伸縮系統(tǒng)的無(wú)縫部分。這些功能使你得以快速交付 SQL Server 應(yīng)用程序,使客戶(hù)只需最少的安裝和管理開(kāi)銷(xiāo)即可實(shí)現(xiàn)這些應(yīng)用程序。
79、 </p><p> (5) 數(shù)據(jù)倉(cāng)庫(kù):SQL Server 2000 中包括析取和分析匯總數(shù)據(jù)以進(jìn)行聯(lián)機(jī)分析處理 (OLAP) 的工具。SQL Server 中還包括一些工具,可用來(lái)直觀地設(shè)計(jì)數(shù)據(jù)庫(kù)并通過(guò) English Query 來(lái)分析數(shù)據(jù)。</p><p> 3 系統(tǒng)的基本框架和流程分析</p><p> 3.1 系統(tǒng)的功能模塊</p>
80、<p> 根據(jù)系統(tǒng)設(shè)計(jì)可知本系統(tǒng)模塊可以分為三大部分。</p><p> (1)管理模塊,用于管理員進(jìn)行CD管理,定單管理和用戶(hù)管理,其功能有:</p><p><b> ?、俟芾韱T登錄;</b></p><p> ②CD管理:包括查看、增加、修改、刪除;</p><p> ?、跜D分類(lèi)管理:包括查看
81、、增加、刪除;</p><p> ?、苡唵喂芾恚喊ú榭?、修改、刪除;</p><p> ?、萦脩?hù)管理:包括查看、修改、刪除;</p><p><b> ?、轈D銷(xiāo)售統(tǒng)計(jì)。</b></p><p> ?。?)用戶(hù)模塊,用于用戶(hù)可以在網(wǎng)上選購(gòu)CD,包括以下幾部分:</p><p><b>
82、 ?、儆脩?hù)注冊(cè);</b></p><p><b> ?、谟脩?hù)登錄頁(yè)面;</b></p><p> ?、塾脩?hù)在線(xiàn)購(gòu)買(mǎi):查看CD信息、放入購(gòu)物車(chē);</p><p> ?、苡脩?hù)購(gòu)物車(chē)管理:查看購(gòu)物車(chē)或修改、刪除、提交購(gòu)物車(chē);</p><p> ⑤用戶(hù)訂單信息:主要是查看已有訂單;</p><p
83、> ?、薏榭碈D銷(xiāo)售排行。</p><p> ?。?)公用數(shù)據(jù)庫(kù)模塊:</p><p> ?、賹?shí)現(xiàn)數(shù)據(jù)庫(kù)的連接。</p><p> 3.2 系統(tǒng)基本架構(gòu)的設(shè)計(jì)</p><p> 根據(jù)3.1節(jié)中功能模塊的劃分,以及面向?qū)ο蠛筒捎萌龑蛹軜?gòu)的設(shè)計(jì)思想,得出系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)架構(gòu)如圖3.1所示。</p><p>
84、圖3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)圖</p><p> 3.3 系統(tǒng)流程分析 </p><p> 3.3.1 注冊(cè)功能流程</p><p> 因?yàn)闆](méi)有給未注冊(cè)用戶(hù)預(yù)留接口,所以用戶(hù)瀏覽或購(gòu)買(mǎi)CD之前必須先進(jìn)行注冊(cè),注冊(cè)流程如圖3.2 所示。</p><p> 圖3.2 注冊(cè)功能流程圖</p><p> 3.3.2
85、 前臺(tái)登錄及購(gòu)物流程</p><p> 系統(tǒng)首先檢查用戶(hù)提交的登錄信息,用戶(hù)登錄成功后方可進(jìn)行搜索CD、瀏覽CD信息、使用購(gòu)物車(chē)等功能,流程如圖3.3 所示。</p><p> 圖3.3 前臺(tái)購(gòu)物流程圖</p><p> 3.3.3 后臺(tái)登錄及管理流程</p><p> 管理員成功登陸本系統(tǒng)后可以進(jìn)行CD管理、訂單管理、用戶(hù)管理等
86、操作,流程如圖3.4 所示。</p><p> 圖3.4 后臺(tái)管理流程</p><p> 4 數(shù)據(jù)庫(kù)模型設(shè)計(jì)</p><p> 4.1 數(shù)據(jù)庫(kù)需求分析</p><p> 本系統(tǒng)中用戶(hù)的需求具體體現(xiàn)為在各種信息的提供、保存、更新和查詢(xún),這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能夠充分滿(mǎn)足各種信息的輸出和輸入。收集基本數(shù)據(jù)信息、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,
87、組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下了基礎(chǔ)。</p><p> 通過(guò)上一章系統(tǒng)功能分析,針對(duì)一般在線(xiàn)銷(xiāo)售網(wǎng)站的需求,總結(jié)出如下的需求信息:</p><p> ?。?)用戶(hù)分一般用戶(hù)和管理員用戶(hù);</p><p> ?。?)訂單分單張?jiān)敿?xì)訂單和總訂單;</p><p> ?。?)每一張CD都從屬于一種類(lèi)型;</p>&l
88、t;p> (4)一個(gè)用戶(hù)可以購(gòu)買(mǎi)多張CD;</p><p> (5)一個(gè)用戶(hù)對(duì)應(yīng)一張訂單列表;</p><p> (6)一個(gè)列表對(duì)應(yīng)多張訂單。</p><p> 經(jīng)過(guò)上述系統(tǒng)功能分析和需求總結(jié),考慮到將來(lái)功能上的擴(kuò)展,設(shè)計(jì)如下面所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p> ?。?)管理員信息,包括數(shù)據(jù)項(xiàng):用戶(hù)名、密碼;</p
89、><p> (2)普通用戶(hù),包括數(shù)據(jù)項(xiàng):用戶(hù)ID、用戶(hù)名、密碼等;</p><p> ?。?)CD,包括數(shù)據(jù)項(xiàng):CD編號(hào)、CD名稱(chēng)、CD分類(lèi)編號(hào)等;</p><p> ?。?)訂單列表,包括數(shù)據(jù)項(xiàng):訂單編號(hào)、CD編號(hào)、購(gòu)CD數(shù)量;</p><p> ?。?)訂單,包括數(shù)據(jù)項(xiàng):訂單編號(hào)、用戶(hù)編號(hào)、下單時(shí)間等。</p><p&g
90、t; 4.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p> 根據(jù)以上分析得知本系統(tǒng)中的實(shí)體有:管理員信息實(shí)體、用戶(hù)信息實(shí)體、CD實(shí)體、CD分類(lèi)實(shí)體、訂單實(shí)體、訂單列表實(shí)體。</p><p> 實(shí)體之間關(guān)系E-R圖如圖4.1 所示。</p><p> 圖4.1 實(shí)體之間關(guān)系E-R圖</p><p> 管理員信息實(shí)體E-R圖如圖4.2所示。
91、 </p><p> 用戶(hù)信息實(shí)體E-R圖如圖4.3所示。</p><p> 圖4.2 管理員信息實(shí)體E-R圖 圖4.3 用戶(hù)信息實(shí)體E-R圖</p><p> CD實(shí)體E-R圖如圖4.4所示</p><p> CD分類(lèi)實(shí)體E-R圖如圖4.5所示</p><p> 圖4
92、.4 CD實(shí)體E-R圖 圖4.5 CD分類(lèi)實(shí)體E-R圖</p><p> 訂單實(shí)體E-R圖如圖4.6所示 </p><p> 訂單列表實(shí)體E-R圖如圖4.7所示</p><p> 圖4.6 訂單實(shí)體E-R圖 圖4.7 訂單列表實(shí)體E-R圖 </p><p>
93、 4.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 在線(xiàn)CD銷(xiāo)售網(wǎng)站系統(tǒng)數(shù)據(jù)庫(kù)中各個(gè)表的設(shè)計(jì)結(jié)果如下面圖中所示,每個(gè)圖表示在數(shù)據(jù)庫(kù)中的一個(gè)表,圖4.8 為allorders訂單信息表,記錄的是某個(gè)用戶(hù)的訂單總信息。</p><p> 圖4.8 allorders訂單信息表 </p><p> 圖4.9 為在線(xiàn)CD銷(xiāo)售網(wǎng)站的CD信息表,記錄的是在線(xiàn)CD銷(xiāo)售網(wǎng)站中現(xiàn)
94、有的CD唱片信息。</p><p> 圖4.9 CD信息表</p><p> 圖4.10 為在線(xiàn)CD銷(xiāo)售網(wǎng)站的管理員信息表,記錄管理員的賬號(hào)和密碼。</p><p> 圖4.10 管理員信息表</p><p> 圖4.11 為在線(xiàn)CD銷(xiāo)售網(wǎng)站的CD分類(lèi)表,記錄現(xiàn)有CD分類(lèi)。</p><p> 圖4.11 CD
95、分類(lèi)表</p><p> 圖4.12 為order訂單表,記錄單張訂單的具體信息。</p><p> 圖4.12 order訂單表</p><p> 圖4.13 為shop_use用戶(hù)信息表,記錄所有用戶(hù)的詳細(xì)信息。</p><p> 圖4.13 shop_use用戶(hù)信息表</p><p> 5 功能模塊的
96、設(shè)計(jì)與實(shí)現(xiàn)</p><p> 本系統(tǒng)功能設(shè)計(jì)本著實(shí)用角度出發(fā)的原則,界面清晰但不能單調(diào),且要符合用戶(hù)提出的合理需求。系統(tǒng)設(shè)計(jì)在不違反系統(tǒng)整體性的基礎(chǔ)上,可根據(jù)用戶(hù)的需求進(jìn)行二次開(kāi)發(fā),不斷完善系統(tǒng)功能,便于系統(tǒng)的不斷升級(jí)。</p><p> 基于JSP技術(shù)的在線(xiàn)CD銷(xiāo)售系統(tǒng),主要包括實(shí)現(xiàn)購(gòu)物車(chē)管理功能、CD管理功能、用戶(hù)管理功能、CD在線(xiàn)查詢(xún)功能、系統(tǒng)管理功能、銷(xiāo)售統(tǒng)計(jì)功能。其中數(shù)據(jù)庫(kù)連
97、接、用戶(hù)管理、購(gòu)物車(chē)管理、CD管理是本系統(tǒng)要重點(diǎn)實(shí)現(xiàn)的部分。</p><p> 5.1 數(shù)據(jù)庫(kù)模塊</p><p> 本系統(tǒng)采用的是SQL 2000數(shù)據(jù)庫(kù),而且數(shù)據(jù)庫(kù)功能在本系統(tǒng)的各個(gè)功能模塊都要用到,以下為連接數(shù)據(jù)庫(kù)的代碼部分:</p><p> public boolean connect () {</p><p> try{
98、 //注冊(cè)驅(qū)動(dòng)程序</p><p> Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); </p><p><b> //連接字符串 </b></p><p> String url="jdbc:micr
99、osoft:sqlserver://localhost:1433;DatabaseName=cdstore"; </p><p> String user="sa";</p><p> String password="123";</p><p> conn= DriverManager.getConnecti
100、on(url,user,password);</p><p> stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);</p><p> }catch(Exception ee){</p><p> System.out.println(&qu
101、ot;connect db error:"+ee.getMessage());</p><p> return false;</p><p><b> }</b></p><p> 5.2 用戶(hù)注冊(cè)模塊的實(shí)現(xiàn)</p><p> 本系統(tǒng)為開(kāi)發(fā)方便未給未注冊(cè)用戶(hù)預(yù)留瀏覽接口,所以用戶(hù)必須先注冊(cè)采用進(jìn)行瀏覽
102、CD、購(gòu)買(mǎi)CD等動(dòng)作,所以本系統(tǒng)要提供便捷的用戶(hù)注冊(cè)功能,如圖5.1為用戶(hù)注冊(cè)模塊的實(shí)現(xiàn)界面。對(duì)應(yīng)JSP文件為reg.jsp。</p><p> 圖5.1 用戶(hù)注冊(cè)界面</p><p> 5.3 用戶(hù)登錄模塊的實(shí)現(xiàn) </p><p> 為了檢驗(yàn)登錄者是否是本系統(tǒng)的合法用戶(hù),所以需要對(duì)用戶(hù)輸入的用戶(hù)名和密碼進(jìn)行核對(duì),本模塊就是實(shí)現(xiàn)的這個(gè)功能,對(duì)應(yīng)JSP文件是l
103、ogin.jsp。用到了login.java這個(gè)bean,相關(guān)代碼如下。</p><p> import cdshop.util.*;</p><p> public class login extends DataBase {</p><p> private String username;//登錄用戶(hù)名</p><p> pr
104、ivate String passwd;//登錄密碼</p><p> private boolean isadmin;//是否管理員登錄</p><p> private long userid=0;//用戶(hù)ID號(hào)</p><p> public login() throws Exception{</p><p><b
105、> super();</b></p><p> username = "";</p><p> passwd = "";</p><p> isadmin = false;</p><p><b> }</b></p><p>
106、 public String getUsername() {</p><p> return username;</p><p><b> }</b></p><p> public void setUsername(String newusername) {</p><p> username = newuse
107、rname;</p><p><b> }</b></p><p> public String getPasswd() {</p><p> return passwd;</p><p><b> }</b></p><p> public void setPas
108、swd(String newpasswd) {</p><p> passwd = newpasswd;</p><p><b> }</b></p><p> public boolean getIsadmin() {</p><p> return isadmin;</p><p>&
109、lt;b> }</b></p><p> public void setIsadmin(boolean newIsadmin) {</p><p> isadmin = newIsadmin;</p><p><b> }</b></p><p> public long getUserid(
110、) {</p><p> return userid;</p><p><b> }</b></p><p> public void setUserid (long uid) {</p><p> userid = uid;</p><p><b> }</b>&
111、lt;/p><p> //獲得查詢(xún)用戶(hù)信息的sql語(yǔ)句</p><p> public String getSql() {</p><p> if (isadmin) {</p><p> sqlStr = "select * from cdAdmin where adminuser = '" +</p&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文范文——基于jsp技術(shù)的在線(xiàn)cd銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文范文——基于jsp技術(shù)的在線(xiàn)cd銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 基于.net技術(shù)的在線(xiàn)銷(xiāo)售網(wǎng)站的研究與實(shí)現(xiàn)
- 西昌在線(xiàn)手機(jī)銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 淺談在線(xiàn)圖書(shū)銷(xiāo)售網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)
- 家電銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 海爾家電銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 手機(jī)銷(xiāo)售網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn).pdf
- 房產(chǎn)銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于asp技術(shù)的電子產(chǎn)品銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 基于asp技術(shù)的電子產(chǎn)品銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- jsp網(wǎng)站建設(shè)實(shí)訓(xùn)+在線(xiàn)cd銷(xiāo)售報(bào)告文檔
- 開(kāi)題報(bào)告【汽車(chē)銷(xiāo)售網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)】
- 四葉草鮮花銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 養(yǎng)生產(chǎn)品銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)-開(kāi)題報(bào)告
- 畢業(yè)設(shè)計(jì)-論文蜜蜂網(wǎng)蜂蜜銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文——鐵觀音銷(xiāo)售網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文——鐵觀音銷(xiāo)售網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)-論文蜜蜂網(wǎng)蜂蜜銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 養(yǎng)生產(chǎn)品銷(xiāo)售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)-開(kāi)題報(bào)告
評(píng)論
0/150
提交評(píng)論