2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  伴隨著Internet的蓬勃發(fā)展,網(wǎng)絡(luò)購(gòu)物中心作為電子商務(wù)的一種形式正以其高效、低成本的優(yōu)勢(shì),逐步成為新興的經(jīng)營(yíng)模式和理念,人們已經(jīng)不再滿足用途信息的瀏覽和發(fā)布,而是渴望著能夠充分享受網(wǎng)絡(luò)所帶來(lái)的更加多的便利。網(wǎng)絡(luò)購(gòu)物正適應(yīng)了當(dāng)今社會(huì)快節(jié)奏地生活,使顧客足不出戶便可以方便快捷輕松地選購(gòu)自己喜歡的商品。</p>

2、<p>  本系統(tǒng)便是嘗試用JSP在網(wǎng)絡(luò)上架構(gòu)一個(gè)動(dòng)態(tài)的電子商務(wù)網(wǎng)站,它是在Windows XP下,以Mysql為數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),Tomcat網(wǎng)絡(luò)信息服務(wù)作為應(yīng)用服務(wù)器,采用JSP(Java Server Pages)技術(shù)開(kāi)發(fā)的網(wǎng)上購(gòu)物系統(tǒng)。他分前臺(tái)部分和后臺(tái)部分,前臺(tái)部分由用戶使用,主要包括用戶注冊(cè),購(gòu)物車管理,訂單管理,個(gè)人資料管理,留言板管理等功能;后臺(tái)部分由管理員使用,主要包括商品管理,處理訂單,用戶信息管理,鏈接信息

3、管理等功能。</p><p>  建立后的網(wǎng)站系統(tǒng)是一個(gè)動(dòng)態(tài)、交互式、具有商品提供、系統(tǒng)管理、用戶購(gòu)買等功能的電子商務(wù)網(wǎng)站。</p><p>  關(guān)鍵詞:JSP;Mysql;Tomcat;Struts;網(wǎng)上購(gòu)物系統(tǒng)</p><p><b>  目 錄</b></p><p><b>  引 言4<

4、/b></p><p>  第一章 網(wǎng)上購(gòu)書系統(tǒng)概述5</p><p>  1.1 系統(tǒng)開(kāi)發(fā)背景5</p><p>  1.1.1網(wǎng)上購(gòu)書的發(fā)展5</p><p>  1.1.2網(wǎng)上購(gòu)書系統(tǒng)的現(xiàn)狀5</p><p>  1.2系統(tǒng)實(shí)現(xiàn)的目標(biāo)6</p><p>  1.3系統(tǒng)的開(kāi)發(fā)

5、意義6</p><p>  第二章 應(yīng)用技術(shù)基礎(chǔ)理論7</p><p>  2.1 JAVA語(yǔ)言基礎(chǔ)知識(shí)7</p><p>  2.1.1 JAVA語(yǔ)言簡(jiǎn)介7</p><p>  2.1.2 JAVA語(yǔ)言特點(diǎn)7</p><p>  2.2 JSP的技術(shù)原理8</p><p>  2.

6、2.1 JSP語(yǔ)言8</p><p>  2.2.2 JSP語(yǔ)言特點(diǎn)8</p><p>  2.3 Java Servlets概述9</p><p>  2.3.1 Servlet 技術(shù)9</p><p>  2.3.2 Servlet的結(jié)構(gòu)10</p><p>  2.3.3 Servlet的接口10&l

7、t;/p><p>  2.4 JavaBean簡(jiǎn)介11</p><p>  2.5 Struts概述11</p><p>  2.5.1 Struts介紹11</p><p>  2.5.2 MVC簡(jiǎn)介12</p><p>  2.5.3 Struts優(yōu)缺點(diǎn)13</p><p>  2.6

8、 mysql概述13</p><p>  2.6.1 mysql介紹13</p><p>  2.6.2 mysql的基本命令14</p><p>  第三章 系統(tǒng)環(huán)境配置15</p><p>  3.1服務(wù)器配置15</p><p>  3.2 Tomcat安裝及配置16</p><p

9、>  3.3 Mysql安裝及配置16</p><p>  第四章 系統(tǒng)需求分析及總體設(shè)計(jì)18</p><p>  4.1 系統(tǒng)需求分析18</p><p>  4.2 總體設(shè)計(jì)19</p><p>  4.3各模塊具體功能說(shuō)明19</p><p>  4.3.1 注冊(cè)功能19</p>

10、<p>  4.3.2 登錄功能19</p><p>  4.3.3 用戶相關(guān)信息維護(hù)功能20</p><p>  4.3.4 商品瀏覽20</p><p>  4.3.5商品交易功能20</p><p>  第五章 數(shù)據(jù)庫(kù)設(shè)計(jì)21</p><p>  5.1 數(shù)據(jù)庫(kù)E-R圖21</p>

11、;<p>  5.2數(shù)據(jù)實(shí)體類結(jié)構(gòu)概要設(shè)計(jì)22</p><p>  5.2.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)UserInfo22</p><p>  5.2.2 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)Produts23</p><p>  5.2.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)ProductType23</p><p>  5.2.4 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)Transactio

12、ns23</p><p>  5.3數(shù)據(jù)庫(kù)的初始化及創(chuàng)建24</p><p>  5.3.1數(shù)據(jù)庫(kù)的初始化24</p><p>  5.3.2 數(shù)據(jù)庫(kù)的創(chuàng)建26</p><p>  第六章 系統(tǒng)詳細(xì)設(shè)計(jì)28</p><p>  6.1系統(tǒng)整體結(jié)構(gòu)28</p><p>  6.2用戶信

13、息自維護(hù)用例圖28</p><p>  6.3系統(tǒng)模塊詳細(xì)設(shè)計(jì)29</p><p>  6.3.1用戶注冊(cè)模塊29</p><p>  6.3.2用戶登錄模塊30</p><p>  6.3.3圖書瀏覽模塊31</p><p>  6.3.4書籍選購(gòu)及交易模塊32</p><p> 

14、 6.3.5用戶定單查詢?yōu)g覽事件模塊34</p><p>  6.3.6用戶信息修改模塊36</p><p>  6.3.7管理員操作界面37</p><p>  6.4購(gòu)物車類圖結(jié)構(gòu)39</p><p>  第七章 系統(tǒng)測(cè)試及發(fā)布及難點(diǎn)分析40</p><p>  7.1本系統(tǒng)使用的運(yùn)行及開(kāi)發(fā)平臺(tái)40&l

15、t;/p><p>  7.2系統(tǒng)測(cè)試40</p><p>  7.2.1 系統(tǒng)關(guān)鍵部分測(cè)試分析40</p><p>  7.2.2 單元測(cè)試分析40</p><p>  7.2.3 測(cè)試分析總結(jié)及說(shuō)明41</p><p>  7.2.4 系統(tǒng)的性能分析42</p><p><b>

16、;  總 結(jié)43</b></p><p><b>  致 謝44</b></p><p>  參 考 文 獻(xiàn)45</p><p><b>  引 言</b></p><p>  目前,網(wǎng)絡(luò)正以一種前所未有的沖擊力在影響著人類的活動(dòng),包括人類的生產(chǎn)和日常生活。網(wǎng)絡(luò)的誕生和發(fā)展

17、,顛覆了傳統(tǒng)的信息傳播方式,沖破了存在于傳統(tǒng)交流方式中時(shí)間和空間的種種壁壘,極大地改變了人類從物質(zhì)到精神、從形式到內(nèi)容、從生產(chǎn)到生活的各種活動(dòng),并且給人類帶來(lái)了新的機(jī)遇和挑戰(zhàn)。</p><p>  在互聯(lián)網(wǎng)服務(wù)業(yè)務(wù)方面:電子郵件、搜索引擎、網(wǎng)上銀行、在線交易、網(wǎng)絡(luò)廣告、網(wǎng)絡(luò)新聞、網(wǎng)絡(luò)游戲等服務(wù)業(yè)務(wù)仍然快速的發(fā)展著。</p><p>  21世紀(jì)是網(wǎng)絡(luò)飛速發(fā)展的時(shí)代,上網(wǎng)、創(chuàng)建網(wǎng)站已經(jīng)成為熱

18、門話題。Internet技術(shù)得到持續(xù)、猛烈的發(fā)展,已經(jīng)成為計(jì)算機(jī)產(chǎn)業(yè)的一個(gè)技術(shù)熱點(diǎn),越來(lái)越多的企業(yè)開(kāi)始關(guān)注網(wǎng)絡(luò),許多人正在或正準(zhǔn)備學(xué)習(xí)網(wǎng)絡(luò)知識(shí),進(jìn)行網(wǎng)絡(luò)開(kāi)發(fā)或創(chuàng)建自己的網(wǎng)站。</p><p>  本次畢業(yè)設(shè)計(jì)——基于J2EE的網(wǎng)上購(gòu)書網(wǎng)站的設(shè)計(jì),是在Windows XP下,以Msql為數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),Tomcat網(wǎng)絡(luò)信息服務(wù)作為應(yīng)用服務(wù)器,采用JSP(Java Server Pages)技術(shù)開(kāi)發(fā)的。</p&

19、gt;<p>  在本論文中全面詳細(xì)地介紹了網(wǎng)上購(gòu)書系統(tǒng)的設(shè)計(jì)方案,第1章為網(wǎng)上購(gòu)書系統(tǒng)概述,包括系統(tǒng)的開(kāi)發(fā)背景,網(wǎng)上購(gòu)物的發(fā)展,網(wǎng)上購(gòu)書系統(tǒng)的現(xiàn)狀,系統(tǒng)實(shí)現(xiàn)的目標(biāo),系統(tǒng)開(kāi)發(fā)的意義。第2章為JAVA的基礎(chǔ)理論,包括JSP的技術(shù)原理,Java及Java Servlets概述,JavaBean簡(jiǎn)介,在JSP中使用XML,mysql概述,Struts概述等。第3章為系統(tǒng)構(gòu)架,包括服務(wù)器配置,JAVA虛擬機(jī)的安裝配置,Tomcat

20、環(huán)境搭建,mysql的安裝配置等;第4章為系統(tǒng)需求分析及總體設(shè)計(jì),包括需求分析,系統(tǒng)功能模塊設(shè)計(jì),對(duì)具體功能及用例說(shuō)明,數(shù)據(jù)庫(kù)需求分析;第5章為數(shù)據(jù)庫(kù)設(shè)計(jì),包括數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì),用JSP連接數(shù)據(jù)庫(kù);第6章系統(tǒng)詳細(xì)設(shè)計(jì),包括前臺(tái)和后臺(tái)兩個(gè)大的部分,前臺(tái)部分由用戶使用,主要包括用戶注冊(cè),購(gòu)物車管理,訂單管理,個(gè)人資料管理;后臺(tái)部分由管理員使用,主要包括會(huì)員信息管理,主要包括商品管理,處理訂單,用戶信息管理,鏈接信息管理等功能;第7章為系統(tǒng)測(cè)試

21、及發(fā)布及難點(diǎn)分析,包括開(kāi)發(fā)難點(diǎn)和技巧,系統(tǒng)的測(cè)試;系統(tǒng)中存在的問(wèn)題及解決方法;第8章為總結(jié);第9章為致謝;第10章為參考文獻(xiàn)。</p><p>  第一章 網(wǎng)上購(gòu)書系統(tǒng)概述</p><p>  1.1 系統(tǒng)開(kāi)發(fā)背景</p><p>  1.1.1網(wǎng)上購(gòu)書的發(fā)展</p><p>  近年來(lái),隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提

22、供信息的最佳渠道并逐步進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開(kāi)始流行起來(lái),越來(lái)越多的商家在網(wǎng)上建起在線商店,向消費(fèi)者展示出一種新穎的購(gòu)物理念。</p><p>  網(wǎng)上購(gòu)書系統(tǒng)作為B2B,B2C(Business to Customer,即企業(yè)對(duì)消費(fèi)者),C2C(Customer to Customer,即消費(fèi)者對(duì)消費(fèi)者)電子商務(wù)的前端商務(wù)平臺(tái),在其商務(wù)活動(dòng)全過(guò)程中起著舉足輕重的作用。本文主要考慮的是如何建設(shè)B

23、2C的網(wǎng)上購(gòu)物系統(tǒng)。</p><p>  網(wǎng)上購(gòu)書是一種具有交互功能的商業(yè)信息系統(tǒng)。它向用戶提供靜態(tài)和動(dòng)態(tài)兩類信息資源。所謂靜態(tài)信息是指那些比經(jīng)常變動(dòng)或更新的資源,如公司簡(jiǎn)介、管理規(guī)范和公司制度等等;動(dòng)態(tài)信息是指隨時(shí)變化的信息,如商品報(bào)價(jià),會(huì)議安排和培訓(xùn)信息等。網(wǎng)上購(gòu)書系統(tǒng)具有強(qiáng)大的交互功能,可使商家和用戶方便的傳遞信息,完成電子貿(mào)易或EDI交易。這種全新的交易方式實(shí)現(xiàn)了公司間文檔與資金的無(wú)紙化交換。</p

24、><p>  1.1.2網(wǎng)上購(gòu)書系統(tǒng)的現(xiàn)狀</p><p>  目前在國(guó)內(nèi)PHP與ASP應(yīng)用最為廣泛。而JSP由于是一種較新的技術(shù),國(guó)內(nèi)采用的較少。但在國(guó)外,JSP已經(jīng)是比較流行的一種技術(shù),尤其是電子商務(wù)類的網(wǎng)站,多采用JSP。</p><p>  首先,PHP缺乏規(guī)模支持。其次,缺乏多層結(jié)構(gòu)支持。對(duì)于大負(fù)荷站點(diǎn),解決方法只有一個(gè):分布計(jì)算。數(shù)據(jù)庫(kù)、應(yīng)用邏輯層、表示邏輯

25、層彼此分開(kāi),而且同層也可以根據(jù)流量分開(kāi),組成二維陣列。而PHP則缺乏這種支持。還有上面提到過(guò)的一點(diǎn),PHP提供的數(shù)據(jù)庫(kù)接口支持不統(tǒng)一,這就使得它不適合運(yùn)用在電子商務(wù)中。</p><p>  ASP和JSP則沒(méi)有以上缺陷,ASP可以通過(guò)Microsoft Windowsd的COM/DCOM獲得ActiveX規(guī)模支持,通過(guò)DCOM和Transcation Server獲得結(jié)構(gòu)支持;JSP可以通過(guò)SUN Java的Ja

26、va Class和EJB獲得規(guī)模支持,通過(guò)EJB/CORBA以及眾多廠商的Application Server獲得結(jié)構(gòu)支持。</p><p>  三者中,JSP應(yīng)該是未來(lái)發(fā)展的趨勢(shì)。世界上一些大的電子商務(wù)解決方案提供商都采用JSP/Servlet。</p><p>  總的來(lái)說(shuō),ASP,PHP,JSP三者都有相當(dāng)數(shù)量的支持者,而這三者也各有所長(zhǎng),在開(kāi)發(fā)過(guò)程中,我們應(yīng)該根據(jù)實(shí)際的需要來(lái)使用最

27、合適的技術(shù),本系統(tǒng)則采用較新的jsp技術(shù),一方面jsp的安全性和跨平臺(tái)性比較好,另一方面,我也希望能從開(kāi)發(fā)該系統(tǒng)的過(guò)程中,深入學(xué)習(xí)一下這門編程語(yǔ)言。</p><p>  1.2系統(tǒng)實(shí)現(xiàn)的目標(biāo)</p><p>  現(xiàn)在流行的網(wǎng)上購(gòu)物系統(tǒng)不僅要有漂亮的網(wǎng)頁(yè),更要有嚴(yán)謹(jǐn)?shù)囊?guī)劃,注重每一個(gè)細(xì)小的環(huán)節(jié)。這樣才能使得在電子交易時(shí)避免不必要錯(cuò)誤發(fā)生。我們將使用HTML、JSP等技術(shù)來(lái)編輯網(wǎng)頁(yè),并運(yùn)用JD

28、BC技術(shù)把數(shù)據(jù)庫(kù)和動(dòng)態(tài)網(wǎng)頁(yè)相關(guān)聯(lián)。傳統(tǒng)的管理信息系統(tǒng)信息獲取方法是由專業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的數(shù)據(jù)庫(kù)中,這種方法在數(shù)據(jù)量不大時(shí)有很多的應(yīng)用場(chǎng)合。當(dāng)數(shù)據(jù)量比較大,并且有較強(qiáng)的專業(yè)性時(shí),錄入的費(fèi)用和出錯(cuò)的可能性都相應(yīng)上升。本設(shè)計(jì)在實(shí)際應(yīng)用中的解決方案是建立網(wǎng)站, 以及自己的數(shù)據(jù)庫(kù),使得所需商品信息可以及時(shí)的保存、更新,可以更好的及時(shí)了解商品買賣的情況。</p><p>  1.3系統(tǒng)的開(kāi)發(fā)意義</

29、p><p>  Internet的發(fā)展,為改變傳統(tǒng)的商業(yè)運(yùn)作模式提供了一種技術(shù)上的可行性的方案:利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng)Intranet,企業(yè)外部網(wǎng)Extranet,通過(guò)廉價(jià)的通訊手段,將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,消除時(shí)間與空間帶來(lái)的障礙,從而大大的節(jié)約了交易成本,擴(kuò)大了交易范圍。</p><p>  當(dāng)今比較流行的網(wǎng)上購(gòu)物系統(tǒng)國(guó)外有“淘寶(www

30、.taobao.com)”,國(guó)內(nèi)有“當(dāng)當(dāng)(www.dangdang.com)”。它們都是相當(dāng)優(yōu)秀的電子商務(wù)網(wǎng)站,對(duì)其他的網(wǎng)站提供了良好的典范。設(shè)計(jì)中可以學(xué)習(xí)參考他們的思想,了解和熟悉整個(gè)網(wǎng)站的開(kāi)發(fā)流程及完整的電子商務(wù)網(wǎng)站應(yīng)有的功能和注意事項(xiàng)。</p><p>  第二章 應(yīng)用技術(shù)基礎(chǔ)理論</p><p>  2.1 JAVA語(yǔ)言基礎(chǔ)知識(shí)</p><p>  2.1.

31、1 JAVA語(yǔ)言簡(jiǎn)介</p><p>  Java來(lái)自于Sun公司的一個(gè)叫Green的項(xiàng)目,其原先的目的是為家用消費(fèi)電子產(chǎn)品開(kāi)發(fā)一個(gè)分布式代碼系統(tǒng),這樣我們可以把E-mail發(fā)給電冰箱、電視機(jī)等家用電器,對(duì)它們進(jìn)行控制,和它們進(jìn)行信息交流。開(kāi)始,準(zhǔn)備采用C++,但C++太復(fù)雜,安全性差,最后基于C++開(kāi)發(fā)了一種新的語(yǔ)言O(shè)ak(Java的前身),Oak是一種用于網(wǎng)絡(luò)的精巧而安全的語(yǔ)言,Sun公司曾以此投標(biāo)一個(gè)交互式

32、電視項(xiàng)目,但結(jié)果被SGI打敗??蓱z的Oak幾乎無(wú)家可歸,恰巧這時(shí)Mark Ardreesen開(kāi)發(fā)的Mosaic和Netscape啟發(fā)了Oak項(xiàng)目組成員,他們用Java編 制 了HotJava瀏 覽器,得到了Sun公司首席執(zhí)行官Scott McNealy的支持,觸發(fā)了Java進(jìn) 軍Internet。 Java的取名也有一則趣聞,有一天,幾 位Java成員組的會(huì)員正在討論給這個(gè)新的語(yǔ)言取什么名字,當(dāng)時(shí)他們正在咖啡館喝著Java(爪哇)咖 啡

33、,有一個(gè)人靈機(jī)一動(dòng)說(shuō)就叫Java怎 樣,得到了其他人的贊賞,于是,Java這個(gè)名字就這樣傳開(kāi)了。</p><p>  2.1.2 JAVA語(yǔ)言特點(diǎn)</p><p><b>  ◆簡(jiǎn)單的</b></p><p>  Java最初是為對(duì)家用電器進(jìn)行集成控制而設(shè)計(jì)的一種語(yǔ)言,因此它必須簡(jiǎn)單明了。</p><p><b&g

34、t;  ◆面向?qū)ο蟮?</b></p><p>  面向?qū)ο罂梢哉f(shuō)是Java最重要的特性,它支持繼承、重載、多態(tài)等面向?qū)ο蟮奶匦浴?lt;/p><p><b>  ◆健壯的</b></p><p>  Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。</p><p><b>  ◆安全的</b>

35、</p><p>  一方面,在Java語(yǔ)言里,刪除了指針和釋放內(nèi)存等C++功能,避免了非法內(nèi)存操作。另一方面,通過(guò)Java的安全體系架構(gòu)來(lái)確保Java代碼的安全性。</p><p><b>  ◆解釋的</b></p><p>  Java代碼是解釋執(zhí)行的,我們使用Java編譯器將Java代碼編譯成字節(jié)碼,這是一種中間代碼,然后由Java解釋

36、器解釋執(zhí)行。</p><p><b>  ◆與平臺(tái)無(wú)關(guān)的</b></p><p>  只要有Java運(yùn)行系統(tǒng)的機(jī)器都能執(zhí)行這種中間代碼。</p><p><b>  ◆多線程的</b></p><p>  Java語(yǔ)言的一個(gè)重要特性就是在語(yǔ)言級(jí)支持多線程的程序設(shè)計(jì)。</p><p

37、><b>  ◆動(dòng)態(tài)的</b></p><p>  它允許程序動(dòng)態(tài)地裝入運(yùn)行過(guò)程中所需要的類。</p><p>  2.2 JSP的技術(shù)原理</p><p>  2.2.1 JSP語(yǔ)言</p><p>  在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*,htm,*,html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(

38、tag),就構(gòu)成了JSP網(wǎng)頁(yè)(*,jsp)。JSP頁(yè)面看上去象標(biāo)準(zhǔn)的HTML和XML頁(yè)面,并附帶有JSP引擎能夠處理和抽取的額外元件。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給用戶。程序都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對(duì)客戶瀏覽器的要求最低。它基于強(qiáng)大的Java語(yǔ)言,具有良好的伸縮性,在網(wǎng)絡(luò)數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)領(lǐng)域具有得天獨(dú)厚的優(yōu)勢(shì)。</p><

39、;p>  2.2.2 JSP語(yǔ)言特點(diǎn)</p><p>  JSP技術(shù)在多個(gè)方面加速了動(dòng)態(tài)Web頁(yè)面的開(kāi)發(fā):</p><p> ?。?)將內(nèi)容的生成和顯示進(jìn)行分離</p><p>  使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBean

40、s組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。</p><p> ?。?)強(qiáng)調(diào)可重用的組件</p><p>  絕大多數(shù)JSP頁(yè)面依賴于可重用的,跨平臺(tái)的組件(JavaBeans或者Enterprise JavaBeansTM組件)來(lái)執(zhí)行應(yīng)用程序所要求的

41、更為復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件。</p><p> ?。?)采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)</p><p>  Web頁(yè)面開(kāi)發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。JavaServer Page技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪問(wèn)和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Apple

42、t,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。</p><p> ?。?)JSP能提供所有Servlets功能</p><p>  與Servlets相比,JSP能提供所有Servlets功能,它比用Println書寫和修改HTML更方便??梢愿鞔_地進(jìn)行分工,Web頁(yè)面設(shè)計(jì)人員編寫HTML,只需留出空間讓Servlets程序員插入動(dòng)態(tài)部分即可。</p><p> 

43、?。?)健壯的存儲(chǔ)管理和安全性</p><p>  由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java編程語(yǔ)言的,而且所有的JSP頁(yè)面都被編譯成為Java Servlet,JSP頁(yè)面就具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。</p><p> ?。?)一次編寫,各處運(yùn)行</p><p>  作為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)言“一次編寫,各處

44、運(yùn)行”的特點(diǎn)。隨著越來(lái)越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,更改工具或服務(wù)器并不影響當(dāng)前的應(yīng)用。</p><p>  2.3 Java Servlets概述</p><p>  2.3.1 Servlet 技術(shù)</p><p>  Java Servlet是JSP技術(shù)的基礎(chǔ),JSP本身就是預(yù)先被編譯成Servlet,然后再運(yùn)

45、行的,而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成,Servlet這個(gè)名稱大概源于Applet,現(xiàn)在國(guó)內(nèi)的翻譯方式很多,本文為了避免誤會(huì),本文直接采用Servlet這個(gè)名稱而不做任何翻譯,讀者如果愿意,可以稱之為“小服務(wù)程序”。Servlet其實(shí)和傳統(tǒng)的CGI程序和ISAPI、NSAPI等Web程序開(kāi)發(fā)工具的作用是相同的,在使用Java Servlet以后,用戶不必再使用效率低下的CGI方式,也不必使用

46、只能在某個(gè)固定Web服務(wù)器平臺(tái)運(yùn)行的API方式來(lái)動(dòng)態(tài)生成Web頁(yè)面。許多Web服務(wù)器都支持Servlet,即使不直接支持Servlet的Web服務(wù)器也可以通過(guò)附加的應(yīng)用服務(wù)器和模塊來(lái)支持Servlet。得益于Java的跨平臺(tái)的特性,Servlet也是平臺(tái)無(wú)關(guān)的,實(shí)際上,只要符合Java Servlet規(guī)范,Servlet是完全平臺(tái)無(wú)關(guān)且是Web服務(wù)器無(wú)關(guān)的。</p><p>  2.3.2 Servlet的結(jié)構(gòu)&

47、lt;/p><p>  當(dāng)一個(gè)servlet接收來(lái)自客戶端的調(diào)用請(qǐng)求, 它接收兩個(gè)對(duì)象: 一個(gè)是ServletRequest,另外一個(gè)是ServletResponse, 這個(gè)ServletRequest類概括從客戶端到服務(wù)器之間的聯(lián)系, 而 ServletResponse類概括從servlet返回客戶端的聯(lián)系, </p><p>  ServletRequest interface 可以獲取到

48、這樣一些信息如由客戶端傳送的闡述名稱,客戶端正在使用的協(xié)議, 產(chǎn)生請(qǐng)求并且接收請(qǐng)求的服務(wù)器遠(yuǎn)端主機(jī)名, 它也提供獲取數(shù)據(jù)流的servlet, ServletInputStream, 這些數(shù)據(jù)是客戶端引用中使用HTTP POST 和 PUT 方法遞交的, 一個(gè)ServletRequest的子類可以讓 servlet獲取更多的協(xié)議特性數(shù)據(jù), 例如: HttpServletRequest 包含獲取 HTTP-specific頭部信息的方法,

49、</p><p>  ServletResponse interface 給出相應(yīng)客戶端的servlet方法, 它允許servlet 設(shè)置內(nèi)容長(zhǎng)度和回應(yīng)的mime類型, 并且提供輸出流, ServletOutputStream, 通過(guò)編寫者可以發(fā)回相應(yīng)數(shù)據(jù), ServletResponse子類可以給出更多 protocol-specific容量的信息。</p><p>  2.3.3 Se

50、rvlet的接口</p><p>  Servlet 從javax包的httpservlet類擴(kuò)展,在HttpServlet中加入了一些附加的方法,這些方法可以被協(xié)助處理HTTP 基本請(qǐng)求的HttpServlet類中的方法service自動(dòng)地調(diào)用。這些方法有:</p><p>  ◆doGet 用來(lái)處理HTTP的GET請(qǐng)求。</p><p>  ◆doPost 用來(lái)

51、處理HTTP的POST請(qǐng)求。</p><p>  ◆doPut用來(lái)處理HTTP的PUT請(qǐng)求。</p><p>  ◆doDelete用來(lái)處理HTTP的DELETE請(qǐng)求。</p><p>  ◆doHead 用來(lái)處理HTTP的HEAD請(qǐng)求。</p><p>  ◆doOptions用來(lái)處理HTTP的OPTIONS請(qǐng)求。</p>&

52、lt;p>  ◆doTrace用來(lái)處理HTTP的TRACE請(qǐng)求。</p><p>  2.4 JavaBean簡(jiǎn)介</p><p>  JavaBean是一種基于Java的軟件組件,JavaBean和Active控件一樣,可以通過(guò)封裝業(yè)務(wù)邏輯建立一整套可重復(fù)利用的對(duì)象庫(kù)。JSP對(duì)于在Web應(yīng)用中集成JavaBean組件提供了完善的支持,這種支持不僅能縮短開(kāi)發(fā)時(shí)間(可以直接利用經(jīng)過(guò)測(cè)試

53、和可信任的已有組件),避免重復(fù)開(kāi)發(fā),也為JSP應(yīng)用帶來(lái)了更多的可伸縮性。JavaBean組件可以用來(lái)執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互及數(shù)據(jù)提取等。</p><p>  由于Java語(yǔ)言在這些方面所具有的特點(diǎn)和優(yōu)勢(shì),使得基于它的軟件JavaBean組件技術(shù)倍受人們關(guān)注。它的任務(wù)就是:一次編寫,可以在任何地方執(zhí)行,可以在任何地方重用。JavaBean組件可以在任何地方重用包括了可以在應(yīng)用程序、其他組件、文檔、

54、Web站點(diǎn)和應(yīng)用程序構(gòu)造器工具等多種方案中再利用。</p><p>  2.5 Struts概述</p><p>  2.5.1 Struts介紹</p><p>  Struts是一種開(kāi)源軟件,它可以幫助開(kāi)發(fā)人員更快更容易的開(kāi)發(fā)Web程序。Struts所基于的標(biāo)準(zhǔn)技術(shù)----例如JavaBeans,servlets和 JSP,是大多數(shù)開(kāi)發(fā)人員非常熟悉掌握的, 在軟

55、件開(kāi)發(fā)過(guò)程中通過(guò)使用標(biāo)準(zhǔn)組建, 并用填空式的開(kāi)發(fā)方法, Struts可以幫助程序員減輕每個(gè)新項(xiàng)目都重復(fù)進(jìn)行那些既費(fèi)時(shí)又繁瑣的工作。</p><p>  Struts使用的是Model2體系結(jié)構(gòu)。ActionServlet負(fù)責(zé)控制總流程。另外一個(gè)Action類負(fù)責(zé)存取業(yè)務(wù)邏輯類。當(dāng)ActionServlet類從容器中獲取一個(gè)請(qǐng)求時(shí),它使用請(qǐng)求的URI(路徑)來(lái)決定是哪一個(gè)Action來(lái)處理該請(qǐng)求。一個(gè)Action可

56、以檢驗(yàn)輸入的合法性、通過(guò)業(yè)務(wù)邏輯層來(lái)讀取數(shù)據(jù)庫(kù)或者其他數(shù)據(jù)服務(wù)中的信息。要完成這些功能,Action需要用戶提交給它處理數(shù)據(jù)。為了每一個(gè)Action都要處理從請(qǐng)求中提取輸入數(shù)據(jù)的操作,Struts將這些輸入數(shù)據(jù)綁定到JavaBean中。每一個(gè)這樣的輸入Bean都是Struts中ActionForm類的子類。ActionServlet通過(guò)查看請(qǐng)求的路徑就可以決定哪一個(gè)ActionForm用來(lái)包含輸入數(shù)據(jù)。這些ActionForm類都應(yīng)該是

57、org,apache,struts,action,ActionForm的子類。每一個(gè)HTTP請(qǐng)求都必須有一個(gè)HTTP響應(yīng)。但Struts自己并不生成響應(yīng),而是將該請(qǐng)求轉(zhuǎn)發(fā)到其他的資源上如JSP頁(yè)面。Struts提供一個(gè)名為ActionForward的類來(lái)將邏輯名保存到每個(gè)頁(yè)面的路徑。當(dāng)業(yè)務(wù)邏輯部</p><p>  2.5.2 MVC簡(jiǎn)介</p><p><b>  MVC模式:

58、</b></p><p>  我們開(kāi)始從傳統(tǒng)形式上描述MVC然后討論它如何能適應(yīng)網(wǎng)絡(luò)的應(yīng)用。MVC模式三個(gè)部分中任一個(gè)都是經(jīng)過(guò)檢驗(yàn)的,他們分別執(zhí)行相應(yīng)的公共模塊。這個(gè)模式的主要意圖是分成三個(gè)相互獨(dú)立的交互的模塊:模型,視圖和控制器。模型的核心是一個(gè)邏輯函數(shù),視圖是用來(lái)顯示用戶應(yīng)用程序傳遞的數(shù)據(jù),而控制器是控制用戶的交互和輸入的。 三者的通信是通過(guò)一個(gè)變換裝置保持協(xié)調(diào)同步的</p><

59、;p>  模型-視圖-控制器(MVC)(如圖2.1):</p><p>  1、模型(Model)</p><p>  模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯,</p><p>  2、視圖(View)</p><p>  視圖是應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。 </p><

60、;p>  3、控制器(controller) </p><p>  控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對(duì)象狀態(tài)。</p><p>  圖 2.1 MVC組件類型的關(guān)系和功能</p><p>  MVC式的出現(xiàn)不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性</p>

61、;<p>  2.5.3 Struts優(yōu)缺點(diǎn)</p><p><b>  優(yōu)點(diǎn):</b></p><p>  ◆有利于構(gòu)筑穩(wěn)健的應(yīng)用</p><p>  ◆減少了代碼的重復(fù),易于維護(hù) </p><p>  ◆有利于軟件工程化管理</p><p><b>  缺點(diǎn):</

62、b></p><p>  ◆增加了系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)的復(fù)雜性</p><p>  ◆視圖與控制器間的過(guò)于緊密的連接</p><p>  ◆視圖對(duì)模型數(shù)據(jù)的低效率訪問(wèn)</p><p>  2.6 mysql概述</p><p>  2.6.1 mysql介紹</p><p>  MySQL是一個(gè)

63、小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。</p><p>  2.6.2 mysql的基本命令</p><p><b>  -

64、---創(chuàng)建數(shù)據(jù)庫(kù)</b></p><p>  mysql> create database 數(shù)據(jù)庫(kù)名稱</p><p><b>  ----創(chuàng)建表</b></p><p>  mysql> create table 表名 (列的名字(id)類型(int(4))primary key(定義主鍵) auto_incremen

65、t(描述 自增),……,);</p><p>  ----查看所有數(shù)據(jù)庫(kù)</p><p>  mysql> show databases 數(shù)據(jù)庫(kù)名稱;</p><p>  ----使用某個(gè)數(shù)據(jù)庫(kù)</p><p>  mysql> use database 數(shù)據(jù)庫(kù)名稱;</p><p>  ----查看所使用

66、數(shù)據(jù)庫(kù)下所有的表</p><p>  mysql> show tables;</p><p>  ----顯示表的屬性結(jié)構(gòu)</p><p>  mysql> desc 表名;</p><p>  ----選擇表中數(shù)據(jù)的顯示</p><p>  * 代表選擇所有列 ,</p><p>

67、  mysql> select * from 表名 where id=?[and name=?] [or name=?];</p><p>  mysql> select id,name from 表名order by 某一列的名稱 desc(降序,asc為升序)</p><p>  ----刪除表中的數(shù)據(jù)</p><p>  mysql> del

68、ete from table where id=?[or name=? (and name=?)];</p><p><b>  ----刪除表</b></p><p>  mysql> drop table;</p><p><b>  ----刪除數(shù)據(jù)庫(kù)</b></p><p>  mys

69、ql> drop database;</p><p>  第三章 系統(tǒng)環(huán)境配置</p><p><b>  3.1服務(wù)器配置</b></p><p>  第一步:從官方網(wǎng)站http://java.sun.com下載該軟件的最新版本。我所下載的是jdk-6u13-windows-i586-p.exe文件。</p><p&

70、gt;  第二步:雙擊.exe文件,安裝在C:\Program Files\Java\jdk1.6.0_13。</p><p>  第三步:JDK的環(huán)境配置:在Windows中用鼠標(biāo)指向我的電腦,按右鍵,選擇“屬性”,在“系統(tǒng)特性”表單內(nèi)選擇“高級(jí)”標(biāo)簽,在“高級(jí)”標(biāo)簽內(nèi)選擇“環(huán)境變量”,在系統(tǒng)變量中加入變量JAVA_HOME(變量名為C:\Program Files\Java\jdk1.6.0_13.class

71、path(變量值為C:\Program Files\Java\ jdk1.6.0_13\lib\dt.jar;C:\ProgramFiles\Java\jdk1.5.0_06\lib\tools,jar;C:\ProgramFiles\Java\jdk1.5.0_06)和path(變量值為C:\Program Files\Java\jdk1.6.0_13\bin)。</p><p>  安裝和配置完畢后,在“命令

72、提示符”中輸入javac,會(huì)出現(xiàn)如圖3.1所示,則說(shuō)明JDK安裝和配置都是正確的。</p><p>  圖3.1 javac調(diào)試界面</p><p>  3.2 Tomcat安裝及配置</p><p>  直接運(yùn)行下載的apache-tomcat-5.5.26.exe文件,按照一般的Windows程序安裝步驟即可安裝好Tomcat,安裝時(shí)它會(huì)自動(dòng)尋找JDK的位置。

73、安裝過(guò)程中需要選擇一個(gè)文件夾作為Tomcat的安裝目錄。我選擇安裝的位置是C:\Tomca 5.5。</p><p>  安裝完成以后,添加一個(gè)Tomcat的環(huán)境變量,添加方法和JDK的環(huán)境變量的添加方法相同,設(shè)置變量名為TOMCAT_HOME,變量值為C:\Tomcat 5.5。</p><p>  設(shè)置完畢后就可以運(yùn)行Tomcat服務(wù)器了。Tomcat成功啟動(dòng)后,在瀏覽器中輸入http

74、://localhost:8080/,如果出現(xiàn)歡迎界面,則說(shuō)明Tomcat安裝成功。歡迎界面如圖3.2所示。</p><p>  圖3.2 Tomcat歡迎界面</p><p>  3.3 Mysql安裝及配置</p><p>  Mysql的安裝文件可以直接到 http://www.mysql.com 下載,獲得for win32的,zip包,建議選擇4.0.2

75、0d版本。下載獲得Mysql的for win32安裝包后,用winzip解壓縮,直接運(yùn)行setup,exe,需要注意的是選擇一個(gè)安裝路徑,當(dāng)然,安裝路徑可以任意,建議選擇C:\MySQL目錄。安裝完成后MySQL也就完成了。默認(rèn)的用戶名是root,密碼為123456。</p><p>  Mysql安裝完成后,請(qǐng)通過(guò)開(kāi)始-程序-附件-命令提示符進(jìn)入:</p><p>  錄入cd C:\m

76、ysql\bin 并按下回車鍵,將目錄切換為 cd C:\mysql\bin</p><p>  在 C:\mysql\bin> 命令提示符下錄入 mysqld-nt -install 命令,然后按下回車,如果出現(xiàn) Service successfully installed 的提示, 這表示你已成功的將 MySQL 安裝成一項(xiàng) Windows 的服務(wù)。</p><p>  點(diǎn)擊 開(kāi)

77、始-程序-管理工具-服務(wù) ,你可以看到Mysql已經(jīng)成為眾多服務(wù)項(xiàng)目中的一項(xiàng),不過(guò)此時(shí)它還未被啟動(dòng), 因此接下來(lái)我們就啟動(dòng)它。</p><p>  啟動(dòng) MySQL 服務(wù)的方法有以下三種,請(qǐng)自行選擇其中一種來(lái)進(jìn)行:</p><p>  重啟機(jī)器時(shí)自動(dòng)啟動(dòng)它</p><p>  在服務(wù)窗口中選取 MySQL 服務(wù)名稱,然后按下啟動(dòng)按鈕來(lái)啟動(dòng)它</p>&

78、lt;p>  在“命令提示字符”窗口中輸入 NET START MySQL 指令來(lái)啟動(dòng)它</p><p>  Mysql數(shù)據(jù)安裝完成,系統(tǒng)會(huì)默認(rèn)生成一個(gè)名為test的數(shù)據(jù)庫(kù)。一般情況下,由于該數(shù)據(jù)需要用root用戶進(jìn)行訪問(wèn),從安全性角度而言,我們建議你新建一個(gè)數(shù)據(jù)庫(kù),并給這個(gè)數(shù)據(jù)庫(kù)分配一個(gè)新的用戶來(lái)訪問(wèn)。(如下圖3.3為數(shù)據(jù)庫(kù)運(yùn)行界面)</p><p>  圖3.3數(shù)據(jù)庫(kù)運(yùn)行界面&l

79、t;/p><p>  第四章 系統(tǒng)需求分析及總體設(shè)計(jì)</p><p>  4.1 系統(tǒng)需求分析</p><p>  此基于J2EE的網(wǎng)上書店系統(tǒng)主要是實(shí)現(xiàn)網(wǎng)上選書、購(gòu)書、產(chǎn)生訂單等功能的系統(tǒng)。一個(gè)典型的網(wǎng)上商城一般都需要實(shí)現(xiàn)商品信息的動(dòng)態(tài)提示、購(gòu)物車管理、客戶信息注冊(cè)登錄管理、訂單處理等模塊。</p><p>  根據(jù)網(wǎng)上書店的基本需求,本系統(tǒng)需

80、要完成的具體任務(wù)如下:</p><p>  會(huì)員注冊(cè):為了能夠?qū)崿F(xiàn)圖書商品的購(gòu)買,需要管理客戶相關(guān)的聯(lián)系方式、送貨地點(diǎn)等相關(guān)的信息。</p><p>  書圖查詢:當(dāng)客戶進(jìn)入網(wǎng)上書店時(shí),應(yīng)該在主頁(yè)面中顯示書目信息,以供客戶選擇所需圖書,同時(shí)用戶可以進(jìn)一步對(duì)書籍內(nèi)容進(jìn)行查看預(yù)覽等。</p><p>  購(gòu)物車管理:當(dāng)客戶選擇購(gòu)買某圖書產(chǎn)品時(shí),應(yīng)該能夠?qū)?duì)應(yīng)圖書信息,如

81、:價(jià)格、圖書信息記錄到對(duì)應(yīng)的購(gòu)物車中,并允許客戶返回書目查詢頁(yè)面,選擇其他商品,并添加到購(gòu)物車中,當(dāng)對(duì)應(yīng)的購(gòu)物訂單生成后,應(yīng)該能夠自動(dòng)清除以生成訂單的購(gòu)物車中的信息。</p><p>  訂單處理:對(duì)應(yīng)客戶購(gòu)買圖書商品信息的需求,在確定了所購(gòu)圖書商品的價(jià)格、數(shù)量等信息后,提示用戶選擇對(duì)應(yīng)的送貨方式及付款方式,最終生成對(duì)應(yīng)的訂單記錄,以便于網(wǎng)站配貨人員依據(jù)訂單信息進(jìn)行后續(xù)的出貨、送貨的處理。也可以對(duì)訂單進(jìn)行修改等操

82、作。</p><p><b>  4.2 總體設(shè)計(jì)</b></p><p>  圖4.1系統(tǒng)功能結(jié)構(gòu)圖</p><p>  4.3各模塊具體功能說(shuō)明</p><p>  4.3.1 注冊(cè)功能</p><p>  由于用戶購(gòu)買的圖書必須通過(guò)郵寄,物流等手段送達(dá),所以用戶如果想通過(guò)該系統(tǒng)進(jìn)行圖書交易,

83、就必須要把一些必須的基本信息通過(guò)注冊(cè)的方式保存在系統(tǒng)中。</p><p>  要求用戶注冊(cè)的目的主要是為了方便發(fā)送貨物。</p><p>  為保證用戶帳號(hào)的唯一性,建議采用電子郵件地址作為ID。</p><p>  為方便用戶隨時(shí)更正不合理的數(shù)據(jù),要求系統(tǒng)提供及時(shí)的客戶校驗(yàn)提示功能。</p><p>  4.3.2 登錄功能</p&g

84、t;<p>  為了在用戶進(jìn)行圖書交易的時(shí)候確認(rèn)用戶ID,用戶在進(jìn)行圖書結(jié)算的時(shí)候,必須登錄。</p><p>  登錄的主要目的是通過(guò)ID確認(rèn)該用戶是否注冊(cè),系統(tǒng)根據(jù)登錄用戶名的注冊(cè)信息進(jìn)行交易。</p><p>  登錄的時(shí)機(jī)可以在用戶訪問(wèn)系統(tǒng)的時(shí)候,也可以在圖書結(jié)算的時(shí)候。同時(shí)為方便沒(méi)有注冊(cè)用戶的操作,在登錄頁(yè)面中可以進(jìn)行注冊(cè)功能選擇。注冊(cè)后的用戶自動(dòng)作為登錄用戶。&l

85、t;/p><p>  結(jié)算界面要求可以導(dǎo)航到用戶定單維護(hù)界面,方便用戶查看,維護(hù)定單。</p><p>  4.3.3 用戶相關(guān)信息維護(hù)功能</p><p><b>  用戶注冊(cè)信息維護(hù):</b></p><p>  用戶可以維護(hù)個(gè)人信息,修改注冊(cè)信息。主要是方便用戶隨時(shí)更改聯(lián)系方式。</p><p>

86、;<b>  用戶定單信息維護(hù):</b></p><p>  用戶可以在訂購(gòu)商品后,對(duì)定單信息進(jìn)行維護(hù),包括查看歷史交易記錄。用戶可以修改,刪除還沒(méi)有發(fā)貨的商品記錄。</p><p>  4.3.4 商品瀏覽</p><p>  購(gòu)物的最大樂(lè)趣就是瀏覽商品,在線購(gòu)書系統(tǒng)必須提供用戶對(duì)商品進(jìn)行瀏覽的功能,用戶可以在不做任何購(gòu)物決定的情況下隨意瀏覽

87、各種商品,要求系統(tǒng)對(duì)用戶瀏覽的商品提供最好的瀏覽效果和瀏覽的方便。</p><p>  用戶可以方便地通過(guò)商品名稱進(jìn)行查看。要求顯示記錄需要顯示商品名稱,圖片,價(jià)格,說(shuō)明,生產(chǎn)廠家,生產(chǎn)日期等信息。</p><p>  我們?cè)谫?gòu)物的時(shí)候也要挎一個(gè)購(gòu)物藍(lán)或推一個(gè)購(gòu)物車,在線購(gòu)書系統(tǒng)要求在商品信息上提供購(gòu)書功能。方便用戶隨時(shí)把書籍加入到購(gòu)書清單中,以便最后進(jìn)行商品交易。</p>

88、<p>  4.3.5商品交易功能</p><p>  商品交易功能是本系統(tǒng)最核心的功能,也稱為購(gòu)物車功能。該功能主要完成商品選購(gòu)與結(jié)算。</p><p>  登錄用戶可以在查詢結(jié)果中選擇是否購(gòu)物,購(gòu)物商品臨時(shí)存放在購(gòu)物車中,由用戶最后確認(rèn)并結(jié)算后再放入數(shù)據(jù)庫(kù)交易記錄。</p><p>  在結(jié)算得時(shí)候,提供商品數(shù)量錄入,允許用戶指定購(gòu)買數(shù)量。用戶也可以在

89、結(jié)算前刪除預(yù)購(gòu)買的商品。</p><p><b>  第五章 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  5.1 數(shù)據(jù)庫(kù)E-R圖</p><p>  數(shù)據(jù)庫(kù)總體E-R圖(如圖5.1):</p><p>  圖:5.1數(shù)據(jù)庫(kù)總體E-R圖</p><p>  數(shù)據(jù)庫(kù)E-R圖說(shuō)明:</p>&

90、lt;p><b>  實(shí)體表:</b></p><p>  ● category:商品類別表、存放商品類別</p><p>  ● product:商品表、存放商品信息</p><p>  ● user:用戶密碼表、存放用戶名和密碼</p><p>  ● contactinfo:用戶詳細(xì)信息表、存放對(duì)應(yīng)用戶的詳細(xì)

91、信息</p><p>  ● orderstatus:訂單狀態(tài)表、保存訂單的狀態(tài)</p><p>  ● payway:付款方式表、存放可用的付款方式</p><p>  ● orders:訂單表、存放所有的訂單</p><p><b>  關(guān)系表:</b></p><p>  ● orderli

92、ne:訂單和商品關(guān)系表、保存訂單和商品的關(guān)聯(lián)關(guān)系</p><p>  5.2數(shù)據(jù)實(shí)體類結(jié)構(gòu)概要設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)實(shí)體類結(jié)構(gòu)概要設(shè)計(jì)圖:</p><p>  圖5.2數(shù)據(jù)庫(kù)實(shí)體類結(jié)構(gòu)概要設(shè)計(jì)圖</p><p>  5.2.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)UserInfo</p><p>  表5.1 UserInfo&

93、lt;/p><p>  5.2.2 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)Produts</p><p>  表5.2 Produts</p><p>  5.2.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)ProductType</p><p>  表5.3 ProductType</p><p>  5.2.4 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)Transactions</p&

94、gt;<p>  表5.4 Transactions</p><p>  5.3數(shù)據(jù)庫(kù)的初始化及創(chuàng)建</p><p>  5.3.1數(shù)據(jù)庫(kù)的初始化</p><p><b>  ◆初始化代碼:</b></p><p>  -------------------------建立庫(kù)腳本</p>&

95、lt;p><b>  --刪除數(shù)據(jù)庫(kù)</b></p><p>  drop database if exists gwap;</p><p><b>  --創(chuàng)建數(shù)據(jù)庫(kù)</b></p><p>  create database if not exists gwap default character set gbk

96、;</p><p><b>  --切換數(shù)據(jù)庫(kù)</b></p><p><b>  use gwap;</b></p><p>  -------------------------創(chuàng)建表腳步</p><p><b>  --創(chuàng)建商品類別表</b></p><

97、;p>  create table category(</p><p>  categoryid numeric(10),</p><p>  name varchar(128) not null,</p><p>  description varchar(512),</p><p>  constraint category_id_

98、pk primary key(categoryid)</p><p><b>  );</b></p><p><b>  --創(chuàng)建商品表</b></p><p>  create table product (</p><p>  productid numeric(16),</p>

99、<p>  name varchar(64) not null,</p><p>  description varchar(4000),</p><p>  basePrice numeric(12,2) not null,</p><p>  categoryid numeric(10),</p><p>  author v

100、archar(128) not null,</p><p>  publish varchar(256) not null,</p><p>  pages numeric(6),</p><p>  images varchar(128),</p><p>  constraint product_id_pk primary key(pro

101、ductid)</p><p><b>  );</b></p><p><b>  --創(chuàng)建用戶密碼表</b></p><p>  CREATE TABLE users (</p><p>  userid varchar(16),</p><p>  password v

102、archar(12) not null,</p><p>  constraint users_userid_pk primary key(userid)</p><p><b>  );</b></p><p>  --創(chuàng)建用戶詳細(xì)信息表</p><p>  CREATE TABLE contactinfo (<

103、/p><p>  contactid numeric(20),</p><p>  userid varchar(16),</p><p>  street1 varchar(64) default NULL,</p><p>  street2 varchar(64) default NULL,</p><p>  ci

104、ty varchar(32) default NULL,</p><p>  province varchar(32),</p><p>  country varchar(32),</p><p>  zip varchar(8) default NULL,</p><p>  email varchar(32) default NULL,

105、</p><p>  homephone varchar(16) default NULL,</p><p>  cellphone varchar(16) default NULL,</p><p>  officephone varchar(16) default NULL,</p><p>  constraint contactinf

106、o_id_pk primary key(contactid)</p><p><b>  );</b></p><p><b>  --創(chuàng)建訂單狀態(tài)表</b></p><p>  CREATE TABLE orderstatus (</p><p>  statusid numeric(3),<

107、;/p><p>  name varchar(32) not null,</p><p>  description varchar(64) default NULL,</p><p>  constraint orderstatus_id_pk PRIMARY KEY (statusid)</p><p><b>  );</b

108、></p><p><b>  --創(chuàng)建付款方式表</b></p><p>  create table payway (</p><p>  paywayid numeric(3),</p><p>  paystyle varchar(64) not null,</p><p>  co

109、nstraint payway_id_pk primary key(paywayid)</p><p><b>  );</b></p><p><b>  --創(chuàng)建訂單表</b></p><p>  CREATE TABLE orders (</p><p>  orderid int auto_

110、increment,</p><p>  name varchar(32),</p><p>  cost numeric(15,3) not null,</p><p>  userid varchar(16),</p><p>  statusid numeric(3),</p><p>  paywayid nu

111、meric(3),</p><p>  CONSTRAINT orders_id_pk primary key(orderid)</p><p><b>  );</b></p><p>  --創(chuàng)建訂單和商品關(guān)系表</p><p>  CREATE TABLE orderline (</p><p&

112、gt;  lineid int auto_increment,</p><p>  orderid numeric(20),</p><p>  productid numeric(16),</p><p>  amount numeric(20,2) not null,</p><p>  constraint orderline_pk P

113、RIMARY KEY (lineid)</p><p><b>  );</b></p><p>  ◆初始化成功界面(如圖5.3):</p><p>  圖5.3初始化成功界面</p><p>  5.3.2 數(shù)據(jù)庫(kù)的創(chuàng)建</p><p><b>  ◆創(chuàng)建代碼:</b>&

114、lt;/p><p>  -------------------------初始化表腳步</p><p>  --初始化商品類別表</p><p>  insert into category(categoryid,name,description) values(1,'計(jì)算機(jī)', '軟件與程序設(shè)計(jì)相關(guān)');</p><

115、p>  insert into category(categoryid,name,description) values(2,'英語(yǔ)', '英語(yǔ)相關(guān)圖書');</p><p>  insert into category(categoryid,name,description) values(3,'文學(xué)', '文學(xué)作品圖書集');</p&

116、gt;<p><b>  --初始化商品表</b></p><p>  INSERT INTO product VALUES (1, 'JAVA編程思想:第3版', '......', 95,00, 1, '(美)Bruce Eckel', '機(jī)械工業(yè)出版社', 796, 'images/product/z

117、cover,gif');</p><p><b>  .........</b></p><p>  --初始化用戶密碼表</p><p>  INSERT INTO users VALUES ('admin', 'admin');</p><p>  --初始化用戶詳細(xì)信息表&l

118、t;/p><p>  INSERT INTO contactinfo VALUES (1, 'admin', '', '', '', 18, 1, '', '', '', '', '');</p><p>  --初始化訂單狀態(tài)表</p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論