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

下載本文檔

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

文檔簡介

1、<p>  在線手機銷售系統(tǒng)的設(shè)計與實現(xiàn)</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  ABSTRACTII</p><p>  第1章 系統(tǒng)概述1</p><p>  1.1 系統(tǒng)開發(fā)背景

2、概述1</p><p>  1.2 電子商務(wù)系統(tǒng)及B2C模式簡介2</p><p>  1.3 本手機銷售系統(tǒng)概述5</p><p>  第2章 系統(tǒng)分析及設(shè)計7</p><p>  2.1 任務(wù)概述7</p><p>  2.2 系統(tǒng)可行性分析8</p><p>  2.2.1 技

3、術(shù)可行性8</p><p>  2.2.2 經(jīng)濟可行性9</p><p>  2.3 數(shù)據(jù)流程分析9</p><p>  2.3.1 系統(tǒng)數(shù)據(jù)流程圖整體圖9</p><p>  2.3.2 系統(tǒng)數(shù)據(jù)流程圖零級圖10</p><p>  2.4 系統(tǒng)用例描述11</p><p>  2

4、.4.1系統(tǒng)用例圖11</p><p>  2.4.2系統(tǒng)用例分析11</p><p>  2.4.3部分用例文檔13</p><p>  2.5 系統(tǒng)開發(fā)技術(shù)方案17</p><p>  2.5.1為何選用JSP17</p><p>  2.5.2三層結(jié)構(gòu)簡介18</p><p>

5、  2.5.3關(guān)系型數(shù)據(jù)庫19</p><p>  2.5.4系統(tǒng)開發(fā)環(huán)境及技術(shù)方案19</p><p>  2.6 界面設(shè)計20</p><p>  第3章 數(shù)據(jù)庫設(shè)計23</p><p>  3.1 數(shù)據(jù)庫概述23</p><p>  3.2 系統(tǒng)E-R圖26</p><p> 

6、 3.3 數(shù)據(jù)庫表設(shè)計26</p><p>  3.4數(shù)據(jù)庫表關(guān)系圖29</p><p>  第4章 系統(tǒng)實現(xiàn)31</p><p>  4.1系統(tǒng)關(guān)鍵性技術(shù)及難點31</p><p>  4.1.1連接數(shù)據(jù)庫系統(tǒng)的實現(xiàn)31</p><p>  4.1.2亂碼問題的出現(xiàn)和解決32</p><

7、;p>  4.1.3信息的分頁顯示34</p><p>  4.1.4信息列表的實現(xiàn)36</p><p>  4.2業(yè)務(wù)邏輯層的實現(xiàn)38</p><p>  4.2.1 業(yè)務(wù)邏輯層實現(xiàn)總體概述38</p><p>  4.2.2 購物車的實現(xiàn)41</p><p>  4.2.3 手機信息相關(guān)操作的實現(xiàn)

8、44</p><p>  4.3系統(tǒng)界面的實現(xiàn)48</p><p>  第5章 系統(tǒng)測試50</p><p><b>  結(jié) 論54</b></p><p><b>  參考文獻55</b></p><p><b>  致 謝56</b>&

9、lt;/p><p><b>  附 錄57</b></p><p><b>  摘 要</b></p><p>  自1996年,在美國學(xué)術(shù)界提出了“電子商務(wù)”這一概念后,在短短幾年的時間里這一概念在全球范圍內(nèi)被廣泛的接受。作為21世紀網(wǎng)絡(luò)應(yīng)用和貿(mào)易方式的代表,電子商務(wù)的應(yīng)用和推廣將給社會和經(jīng)濟帶來極大的效益,并將成為全

10、球經(jīng)濟的最大增長點之一。正因為電子商務(wù)有著誘人的前景和廣闊的發(fā)展空間,所以越來越受到人們的關(guān)注和了解。</p><p>  電子商務(wù)作為一種新型貿(mào)易方式在許多方面取得了成功,而對個人而言,電子商務(wù)最為直觀和方便的功能就是網(wǎng)上購物。它也是電子商務(wù)中B2C(企業(yè)到消費者)模式的最完美體現(xiàn),這一過程是電子商務(wù)過程中應(yīng)該了解的重要環(huán)節(jié)。</p><p>  因此,根據(jù)電子商務(wù)的基本要求,本文通過分

11、析網(wǎng)上購物的業(yè)務(wù)流程及其特點,對本在線手機銷售系統(tǒng)流程進行了詳細設(shè)計和模塊劃分,根據(jù)實際需求,合理的構(gòu)建了數(shù)據(jù)庫,并利用了目前主流的WEB開發(fā)技術(shù)-JSP,采用三層結(jié)構(gòu)思想來進行本系統(tǒng)的實施。最終以程序的形式實現(xiàn)了在線手機銷售系統(tǒng)的各個主要功能模塊,完成了用戶購物車的提交,商品的查詢,以及管理員對整個系統(tǒng)的信息維護等功能。</p><p>  關(guān)鍵字: 三層結(jié)構(gòu),網(wǎng)上購物,手機銷售,JSP,購物車</p&g

12、t;<p><b>  ABSTRACT</b></p><p>  Since 1996, after putting forward the concept of "e-commerce" in the academia of American, the concept had been accepted extensive in time of a f

13、ew years in global range. As the representative of the network application and trade manner in the 21st century, the application and popularization of the e-commerce will bring great benefit to society and economy, and w

14、ill become one of the biggest growing points in global economy. Just because e-commerce has captivating prospect and wide development s</p><p>  As a new trade manner, the e-commerce is very successful in ma

15、ny aspects, to individual, its most direct and convenient function is shopping online, which is also the most perfect embodiment of the B2C (Business to Consumer) e-commerce mode. And the process of shopping online is an

16、 important link that we should understand in the process of the e-commerce.</p><p>  According to the needs of e-commerce, this thesis passes the procedure and characteristic of analysing online shopping, an

17、d expatiates on the design and the compartmentalization of each module for the system of online selling handset. According to the actual demand, design a rational structure for the database and utilize the popular WEB de

18、veloping technology--JSP to adopt the thought of three-layer construction to carry on the implementation of this system. Finally realized such functions of th</p><p>  Key words: three-layer construction,sho

19、pping online,selling handset,JSP,shopping cart</p><p><b>  第1章 系統(tǒng)概述</b></p><p>  1.1 系統(tǒng)開發(fā)背景概述</p><p>  互聯(lián)網(wǎng)正以前所未有的速度飛速的發(fā)展,而且成為了與報紙,廣播,電視相比肩的新的媒體形式,并由于其較傳統(tǒng)媒體有非常大的優(yōu)勢,譬如多媒體的

20、應(yīng)用,信息的交互,便捷,快速的傳播等,正使其在相關(guān)領(lǐng)域中向著發(fā)揮主導(dǎo)作用的方向發(fā)展著。電子商務(wù)(E-Business)的概念也隨著網(wǎng)絡(luò)的發(fā)展被人們所了解。</p><p>  過去一提到商務(wù),人們不是聯(lián)想到在一家商場中精疲力盡地尋找自己所需的商品,就是聯(lián)想到在談判桌前,買賣雙方唇槍舌劍地談判,而如今通過萬維網(wǎng)就可看見店面前臺,人們不僅能身臨其境地瀏覽各類產(chǎn)品,而且可以進行同類商品各方面的詳細比較和相關(guān)的評測。同時

21、能夠購買物理產(chǎn)品,如汽車、電視機和錄音機,也能購買數(shù)字類產(chǎn)品,如信息、錄像、錄音、數(shù)據(jù)庫、軟件及各類知識產(chǎn)品。此外還能獲得各類服務(wù),如安排旅游行程、網(wǎng)上醫(yī)療診斷和遠程教育。電子商務(wù)正改變著企業(yè)經(jīng)營的方式。既然是電子商務(wù),Internet在這個過程中發(fā)揮的作用是顯而易見的,如何構(gòu)建電子商務(wù)呢?電子商務(wù)網(wǎng)站則是完成電子商務(wù)的平臺。</p><p>  JSP(Java Server Pages)是由Sun Micro

22、system公司推出的技術(shù),是基于Java Servlet以及整個java體系的WEB開發(fā)技術(shù),是Servlet2.1 API的擴展。利用這一技術(shù)可以建立先進、安全和跨平臺的動態(tài)網(wǎng)站。這個技術(shù)還在不斷的更新和優(yōu)化。JSP技術(shù)似乎天生就是為電子商務(wù)網(wǎng)絡(luò)的高效跨平臺實現(xiàn)而服務(wù)的,天生就具有一種革命性。也正是這種天生的革命性,使得它一直受到無比的青睞。</p><p>  手機作為21世紀的通信寵兒,其發(fā)展速度不亞于任

23、何的電子設(shè)備。頻繁的更新?lián)Q代,給人們的選購也帶來了很大的不便,而通過前面的介紹和分析,電子商務(wù)正是解決這個問題的很好方案。足不出戶就可以最快的掌握市場變化,滿足自己的選購需求,同時商家亦可以及時把握消費方向,從而對市場變化做出相應(yīng)反應(yīng)。本手機銷售系統(tǒng)依照電子商務(wù)的業(yè)務(wù)流程,基于B/S模式并使用JSP技術(shù)完成了的設(shè)計與實現(xiàn)。</p><p>  1.2 電子商務(wù)系統(tǒng)及B2C模式簡介</p><p

24、>  電子商務(wù)源于英文ELECTRONIC COMMERCE,簡寫為EC。顧名思義,其內(nèi)容包含兩個方面,一是電子方式,二是商貿(mào)活動。電子商務(wù)指的是利用簡單、快捷、低成本的電子通訊方式,買賣雙方不謀面地進行各種商貿(mào)活動。電子商務(wù)可以通過多種電子通訊方式來完成。簡單的,比如你通過打電話或發(fā)傳真的方式來與客戶進行商貿(mào)活動,似乎也可以稱作為電子商務(wù);但是,現(xiàn)在人們所探討的電子商務(wù)主要是以EDI(電子數(shù)據(jù)交換)和INTERNET來完成的。尤

25、其是隨著INTERNET技術(shù)的日益成熟,電子商務(wù)真正的發(fā)展將是建立在INTERNET技術(shù)上的。所以也有人把電子商務(wù)簡稱為IC(INTERNET COMMERCE)。</p><p>  根據(jù)聯(lián)合國經(jīng)濟合作和發(fā)展組織(OECD)的定義,電子商務(wù)是發(fā)生在開放網(wǎng)絡(luò)上的包含企業(yè)之間(B2B)、企業(yè)和消費者之間(B2C)的商業(yè)交易。其中B2C即Business to Customer,是指企業(yè)與消費者之間的電子商務(wù)模式,這

26、是人們最熟悉的電子商務(wù)類型,而這種商務(wù)模式最終就體現(xiàn)在網(wǎng)上商城或在線零售商店上[1]。</p><p>  隨著電子商務(wù)的日益成熟,B2C模式的電子商務(wù)正與人們的生活結(jié)合的越來越緊密。對于那些不愿到商城中再熙熙攘攘的人群中穿梭尋找自己所需要的商品的人,網(wǎng)上購物便是最好的選擇。不僅不用去體會雜亂的環(huán)境,耗費多余的體力,感受夏日的酷熱或冬日的嚴寒,就可以方便的輕點鼠標(biāo),在家中悠然自得地盡情挑選各式各樣的東西,并享受各

27、種相應(yīng)的服務(wù)。雖然電子商務(wù)短期內(nèi)還不能達到替代傳統(tǒng)商務(wù)模式的最終目標(biāo),但其發(fā)展的趨勢和存在的潛力卻是每個人都能感受到的。</p><p>  正是這些優(yōu)勢的存在電子商務(wù)自他誕生之日起發(fā)展到現(xiàn)在,各個方面都有了較大的完善,并且隨著互聯(lián)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)上購物商城的數(shù)量也不斷增加。同時由于Internet提供了雙向的信息交流,網(wǎng)上購物正逐步成為熱門。</p><p>  從世界各國電子商務(wù)

28、的發(fā)展來看,北美地區(qū)的電子商務(wù)起步較早。近幾年,北美地區(qū)在線零售額以每年翻三番的速度增長。雖然歐洲的電子商務(wù)比美國起步晚了近18個月,但發(fā)展也很快。根據(jù)Forrester Resarch的報告:從2000年到2004年,歐洲國家的電子商務(wù)貿(mào)易總額以每年100%的速度增長,并在此后4年內(nèi)達到貿(mào)易總額16000億歐元的水平,約占歐洲貿(mào)易總額的6%。亞太地區(qū)信息產(chǎn)業(yè)發(fā)達的日本、新加坡和韓國,電子商務(wù)的發(fā)展也很迅猛。早在1999年3月公布的&q

29、uot;日美電子商務(wù)市場規(guī)模調(diào)查"中顯示,日本的B2B規(guī)模約為美國的一半,并且還在高速增長著。美國"9·11"恐怖事件后,電子商務(wù)也受到相應(yīng)的影響,但僅僅經(jīng)過5周就恢復(fù)到以前的水平,可見電子商務(wù)有著強大的生命力和良好的適應(yīng)能力。</p><p>  B2C作為電子商務(wù)的一種模式,是指從商家到消費者之間的電子商務(wù),其中的商家指所有通過互聯(lián)網(wǎng)向消費者出售產(chǎn)品或是提供服務(wù)的制造商

30、或機構(gòu)。對于大多數(shù)人而言,B2C最典型的代表可能就是亞馬遜公司了,該公司于1995年開通網(wǎng)上書店并很快成為美國境內(nèi)規(guī)模最大的零售商,同時也產(chǎn)生了B2C電子商務(wù)的亞馬遜模式(圖1-1),還有一種稱之為電子商務(wù)直銷的模式(圖1-2)。電子商務(wù)發(fā)展到今天,除了網(wǎng)上零售活動之外,B2C已發(fā)展至包括網(wǎng)上銀行、旅行、拍賣、保健信息以及房地產(chǎn)業(yè)務(wù)等多項服務(wù)[2]。</p><p>  圖1-1 B2C亞馬遜模式示意圖</

31、p><p>  圖1-2 電子商務(wù)直銷模式示意圖</p><p>  B2C 模式相對其他電子商務(wù)模式和傳統(tǒng)的商務(wù)模式具有不可比擬的優(yōu)勢。</p><p>  首先是信息優(yōu)勢:B2C模式通過掌握大量個人和客戶的信息,甚至購買習(xí)慣和個性需求,開展有針對性的網(wǎng)上促銷和個性化服務(wù)。</p><p>  短渠道優(yōu)勢:B2C越過了銷售渠道的重要環(huán)節(jié)——傳統(tǒng)

32、的代理商,這使得一些廠商或超大型的MALL公司利用傳統(tǒng)的商品價格及物流倉儲優(yōu)勢,通往網(wǎng)絡(luò)實現(xiàn)銷售給最終用戶,這樣的邊際利潤率相對較高。</p><p>  客戶忠誠度優(yōu)勢:有一項調(diào)研顯示:客戶對網(wǎng)絡(luò)的品牌知名度的認同感要超過對傳統(tǒng)行業(yè)。也就是當(dāng)一個大型的購物網(wǎng)的忠實客戶也可能瀏覽其他購物網(wǎng)頁內(nèi)容,但很難讓他嘗試購物。這是因為“流程”“安全性”和“品牌信任感”這三大要素會直接導(dǎo)致忠誠度和習(xí)慣。所以,客戶能記住某一個

33、方向的最好的一兩個網(wǎng)站,客戶很難記住第三個網(wǎng)站,如果沒有新意,很難獲得PAGEVIEW。</p><p>  貼近客戶需求優(yōu)勢:某些公司在時機成熟時,逐漸提供了下列服務(wù):公司所有的商品,實時的、個性化的交互式導(dǎo)購員,以及“大家一起購物”(能夠使不同地點顧客在網(wǎng)上交談)系統(tǒng)和購物廣告。這些技術(shù)和服務(wù),都從某種角度說明了B2C的技術(shù)決不是為技術(shù)而技術(shù),而是以顧客為中心采用技術(shù)。</p><p>

34、;  資金的安全優(yōu)勢:B2C在支付環(huán)節(jié)上通常不會有很大的矛盾,不存在潛在的傳統(tǒng)債務(wù)問題。同時B2C在實際的控制力,購買人群的數(shù)量,以及物流等方面也都存在著很多問題,但隨著電子商務(wù)的不斷發(fā)展,和信息技術(shù)的不斷進步,此種電子商務(wù)模式也正更加的完善更加的成熟。</p><p>  1.3 本手機銷售系統(tǒng)概述</p><p>  手機作為21世紀的重要通訊工具,對人們生活的改變和影響,是人所共睹的

35、。根據(jù)價值規(guī)律的原則,有需求就會有供給,正是因為市場的需求,各大電子產(chǎn)品廠商紛紛投身于手機行業(yè),各種手機品牌更是如雨后春筍般的涌現(xiàn)。隨著社會的進步以及信息化的發(fā)展,時間對于每一個人來說都前所未有的寶貴。試想一下,一個滿負荷工作的人,想選購一部新手機時是否能抽出時間,穿梭于各大手機賣場,在琳瑯滿目的機器中去尋找符合自己要求的手機呢。不用去做,就是想一下,也覺得有些不舒服吧。在這種矛盾的前提下,在線手機銷售恰恰就是一個很好的解決方案。足不出

36、戶,輕點鼠標(biāo)就可以輕松的按照自己的各種需求來搜索自己需要的商品,既節(jié)省了時間,也更大程度的增加了挑選的可操作性。</p><p>  本手機銷售系統(tǒng)指在滿足消費者購買手機的需求,和管理員通過WEB頁面來完成系統(tǒng)的維護和整個商務(wù)網(wǎng)站的運作。用戶可以對商品進行瀏覽,搜索以來了解具體手機的詳細信息。并可以通過注冊或登錄的方式進入系統(tǒng),采用添加購物車的方式完成手機的購買,并最終以下訂單的形式將購買信息反饋給網(wǎng)站提供商。用

37、戶還可以完成對自己信息的管理。管理員可以在WEB頁面中完成對系統(tǒng)各種信息的添加、刪除、修改并處理用戶提交的訂單。</p><p>  第2章 系統(tǒng)分析及設(shè)計</p><p><b>  2.1 任務(wù)概述</b></p><p>  首先本系統(tǒng)的角色有兩個,即消費者和管理員。消費者通過登錄來完成購買手機的相關(guān)操作。管理員完成對系統(tǒng)的維護和控制系統(tǒng)

38、的運作。</p><p>  從消費者的角度來看,消費者首先選擇自己要訪問的站點,并在其上完成用戶信息的注冊任務(wù)。然后根據(jù)自己的實際需求來瀏覽自己所需要的商品。在瀏覽過程中,可以對自己選中的商品進行添加購物車的操作,更改購買的數(shù)量,并最終提交自己的訂單。從而完成自己一次網(wǎng)上購物的全過程。消費者整個網(wǎng)上購物基本流程如圖2-1所示。</p><p>  2-1 網(wǎng)上購物基本流程</p&g

39、t;<p>  管理員作為系統(tǒng)中的另一個主要角色,負責(zé)整個電子商務(wù)網(wǎng)站的維護和用戶購買信息的管理和反饋。管理員可以對手機信息,會員信息,品牌信息,訂單信息進行相應(yīng)的維護,其基本操作如圖2-2所示。</p><p>  圖2-2 管理員操作流程</p><p>  2.2 系統(tǒng)可行性分析</p><p>  系統(tǒng)可行性分析對于整個系統(tǒng)的開發(fā)至關(guān)重要,關(guān)系

40、到系統(tǒng)開發(fā)的成敗。系統(tǒng)可行性大致包括如下四類準則。</p><p>  運行可行性是對方案在組織中的合適程度的度量,它也是就人們對該系統(tǒng)的感覺的度量。技術(shù)可行性是對一種特定技術(shù)方案的現(xiàn)實性以及技術(shù)資源和專家的可用性的度量。進度可行性是對項目時間表的合理性的度量。經(jīng)濟可行性是對一個項目或方案的成本效益的度量[3]。鑒于本系統(tǒng)的規(guī)模運行可行性和進度可行性都可以滿足。</p><p>  2.2

41、.1 技術(shù)可行性</p><p>  電子商務(wù)系統(tǒng)發(fā)展至今業(yè)務(wù)邏輯的分析和開發(fā)技術(shù)都已經(jīng)比較成熟。尤其B2C模式下的在線銷售系統(tǒng)在國內(nèi)外都有大量的實際商務(wù)運作。首先B/S的開發(fā)模式在各個行業(yè)都有較好的應(yīng)用。Html,JSP及ASP等技術(shù)對WEB頁面的開發(fā)都有較好的支持。業(yè)務(wù)邏輯的處理,及相應(yīng)的數(shù)據(jù)存儲的技術(shù)都已經(jīng)很完備。且這些技術(shù)通過查閱相關(guān)書籍都較容易獲取及學(xué)習(xí)。相應(yīng)的開發(fā)環(huán)境通過互聯(lián)網(wǎng)也都可以獲取。所以綜合這

42、些方面,本手機銷售系統(tǒng)滿足技術(shù)可行性。</p><p>  2.2.2 經(jīng)濟可行性</p><p>  在前一章中對B2C模式的電子商務(wù)系統(tǒng)有較詳細的敘述。不論從人力資源,還是物流方式等方面較傳統(tǒng)的商務(wù)模式在資源的開銷方面都有較大的優(yōu)勢。在系統(tǒng)開發(fā)及運行過程中僅需要支付少量開發(fā)成本,及服務(wù)器架設(shè)成本和系統(tǒng)運行時的維護成本,相對傳統(tǒng)商務(wù)模式中店面,店員等各種開銷來說將節(jié)約大量的資金。據(jù)此對投

43、資和收益的權(quán)衡比較,確定本手機銷售系統(tǒng)具有經(jīng)濟可行性。</p><p>  2.3 數(shù)據(jù)流程分析</p><p>  2.3.1 系統(tǒng)數(shù)據(jù)流程圖整體圖</p><p>  根據(jù)前面系統(tǒng)概述中描述的系統(tǒng)基本特點及其完成的功能,可得系統(tǒng)與外部實體之間的操作關(guān)系。系統(tǒng)的總體圖如圖2-3所示。</p><p>  整體圖中反應(yīng)了消費者和管理員兩個外部

44、實體與系統(tǒng)進行交互的整體關(guān)系,描述了系統(tǒng)的運作環(huán)境。</p><p>  圖2-3 手機銷售系統(tǒng)總體圖</p><p>  圖2-4 手機銷售系統(tǒng)零級圖</p><p>  2.3.2 系統(tǒng)數(shù)據(jù)流程圖零級圖</p><p>  根據(jù)數(shù)據(jù)流程總體圖,將各部分數(shù)據(jù)流程進行細化,可得手機銷售系統(tǒng)數(shù)據(jù)流程零級圖。如上頁圖2-4所示。其中處理P6為管理

45、員對系統(tǒng)的維護,包括對系統(tǒng)中信息的增加、刪除、修改、處理等操作,涉及到系統(tǒng)中存儲的各種信息。</p><p>  2.4 系統(tǒng)用例描述</p><p>  2.4.1系統(tǒng)用例圖</p><p>  本手機銷售系統(tǒng)的用例描述如圖2-5所示。</p><p>  圖2-5 系統(tǒng)用例圖</p><p>  2.4.2系統(tǒng)用例

46、分析</p><p>  整個在線手機銷售系統(tǒng)中存在管理員和會員兩個角色,會員和管理員通過WEB頁登錄本系統(tǒng)后,可以完成各自相應(yīng)的功能操作。</p><p>  會員的信息維護功能模塊是對自己的注冊信息進行維護??梢孕薷淖约旱拿艽a,收獲地址,聯(lián)系方式等個人信息。手機查詢是對會員購買手機的流程中的一個關(guān)鍵步驟。根據(jù)會員的具體需求輸入手機的型號或者價格限定,可以在系統(tǒng)信息庫中快速便捷的查詢到滿

47、足自己需求的手機??梢愿鶕?jù)手機的品牌查找,列出該品牌在信息庫中存儲的所有手機,也可以根據(jù)手機的型號,不同的價格范圍進行查找。手機查詢功能模塊,主要完成以上這些基本的查詢操作,并可以相應(yīng)的查看搜索到的手機記錄的詳細信息。此模塊將是與消費者相關(guān)功能模塊中的一個重要部分。</p><p>  會員具有的核心操作功能是購買手機,即與購物車有關(guān)的所有操作模塊。這也是系統(tǒng)開發(fā)過程中的一個重點。本系統(tǒng)采用了添加購物的方式來完成

48、會員購買手機的操作。</p><p>  首先會員通過登錄進入系統(tǒng),瀏覽系統(tǒng)提供的各款手機信息,對符合自己要求的手機進行添加到購物車的操作。手機購買信息被保存在當(dāng)前的會話當(dāng)中,用戶可以繼續(xù)購買商品,繼而添加購物車,最后可以對購買數(shù)量進行相應(yīng)的修改,也可對相應(yīng)的購買子項進行刪除或清空購物車等操作,并最終提交購物車,從而完成一次購買的全過程。</p><p>  管理員是本系統(tǒng)信息維護的核心。

49、負責(zé)整個手機銷售系統(tǒng)所有信息的添加、更新和處理。其中手機信息處理功能模塊,公司信息處理功模塊,會員信息處理功能模塊都是管理員通過WEB頁面對系統(tǒng)的手機信息,手機品牌信息,會員信息進行相應(yīng)的增刪改查操作,即通過WEB頁面來操作數(shù)據(jù)庫中存儲的信息能。訂單信息處理模塊也包括對訂單信息和訂單明細的維護操作,但主要功能體現(xiàn)在對用戶訂單的查詢,即對用戶所下的訂單進行相應(yīng)的處理即反饋。其中手機信息處理功能模塊將是與管理員相關(guān)功能模塊中的一個重點。因為

50、,在手機信息的屬性中涉及到了手機的圖片信息,由于本系統(tǒng)中管理員的操作也是完全通過WEB頁面來完成,所以要進行遠程的將圖片傳輸?shù)椒?wù)器上的存儲操作,其中要涉及到相應(yīng)圖片的命名,大小控制,和有無圖片信息上傳等一些細節(jié)操作。</p><p>  2.4.3部分用例文檔</p><p>  系統(tǒng)登錄是管理員和會員要維護系統(tǒng)或使用系統(tǒng)的第一步,也是先決條件,只有通過系統(tǒng)的登錄驗證,系統(tǒng)才允許管理員和

51、會員的合法操作的進行。登錄用例文檔見表2-1。</p><p>  表2-1 登錄用例詳細描述</p><p>  會員信息更新是會員的信息發(fā)生變更的時候,會員成功登錄,并對失效信息進行更改。會員信息更新用例文檔見表2-2。</p><p>  表2-2 會員信息更新用例詳細描述</p><p>  添加購物車用例文檔見表2-3。</p

52、><p>  表2-3 添加購物車用例詳細描述</p><p>  續(xù)表2-3 添加購物車用例詳細描述</p><p>  修改購物車用例文檔見表2-4。</p><p>  表2-4 修改購物車用例詳細描述</p><p>  提交購物車是否發(fā)生交易的關(guān)鍵部分,只有提交了購物車,此次交易將以訂單的形式反饋給服務(wù)器端。提交

53、購物車用例文檔見表2-5。</p><p>  表2-5 提交購物車用例詳細描述</p><p>  對于一個商務(wù)網(wǎng)站搜索功能是非常關(guān)鍵的,如何讓用戶最快,最有效的找到自己所需要的商品是系統(tǒng)首要完成的任務(wù)。手機查詢用例即是根據(jù)用戶的不同輸入條件在,信息庫中查找符合要求的手機信息,并反饋給消費者。手機查詢用例文檔見表2-6。</p><p>  表2-6 手機查詢用例

54、詳細描述</p><p>  手機信息維護用例完成管理員對整個系統(tǒng)中信息量最大的手機信息進行維護的功能,其中包括手機信息的添加,刪除,更新和查看。手機添加用例文檔見表2-7。</p><p>  表2-7 手機添加用例詳細描述</p><p>  訂單信息維護用例完成管理員對系統(tǒng)運行過程中會員所下訂單的維護??梢酝瓿蔁o效訂單的刪除,未處理訂單的查看等操作。訂單查看用

55、例文檔見表2-8。</p><p>  表2-8 訂單查看用例詳細描述</p><p>  系統(tǒng)其它用例文檔在此不再詳述。</p><p>  2.5 系統(tǒng)開發(fā)技術(shù)方案</p><p>  本手機在線銷售系統(tǒng)是基于三層結(jié)構(gòu)B/S架構(gòu)模式設(shè)計的,采用JSP進行實現(xiàn)。在整個系統(tǒng)中表示層不與數(shù)據(jù)庫直接發(fā)生交互,而是通過封裝了各種邏輯功能的JavaB

56、ean來完成整個系統(tǒng)內(nèi)信息的交互。即用戶和管理員通過WEB頁登錄到系統(tǒng)并獲得不同的操作權(quán)限,然后完成各自的操作。</p><p>  2.5.1為何選用JSP</p><p>  電子商務(wù)網(wǎng)站目前國內(nèi)大多是用ASP或JSP來編寫。ASP,即Active Secver Page,是Microsoft開發(fā)的動態(tài)網(wǎng)頁語言,采用腳本語言VBScript作為自己的開發(fā)語言。但ASP有它的一定局限性。

57、它是解釋運行的,在多個客戶訪問的情況下會變得非常慢,而且網(wǎng)站服務(wù)器的負荷也很重,且只能運行在微軟的操作系統(tǒng)和服務(wù)器上。另外安全性也是需要注意的問題。而JSP,即Java Sever Pages是Sun公司推出的一種執(zhí)行于服務(wù)器端的動態(tài)網(wǎng)頁開發(fā)技術(shù)。JSP的編譯操作僅在第一次對頁面請求時發(fā)生,速度遠遠大于ASP,而且JSP是基于Java技術(shù)的,作為J2EE體系中的一項主要技術(shù),在跨操作系統(tǒng),安全機制和性能方面均相對于ASP都體現(xiàn)出很大優(yōu)勢

58、[4]。最終綜合各方面的考慮,決定采用JSP技術(shù)來開發(fā)本系統(tǒng)。</p><p>  2.5.2三層結(jié)構(gòu)簡介</p><p>  整個系統(tǒng)構(gòu)建采用B/S模式下的Presentation(表示層)、BusinessLogic(業(yè)務(wù)邏輯層)、Data(數(shù)據(jù)層)三層結(jié)構(gòu)模式。三層結(jié)構(gòu)框架在邏輯上分為:客戶服務(wù)層,業(yè)務(wù)服務(wù)層,數(shù)據(jù)服務(wù)層。三層結(jié)構(gòu)圖如圖2-6所示。</p><p&

59、gt;  數(shù)據(jù)層:主要完成數(shù)據(jù)的定義、存貯、更新、備份等工作。數(shù)據(jù)層的的概念不等同于數(shù)據(jù)庫,比如你的應(yīng)用可以把數(shù)據(jù)放入關(guān)系數(shù)據(jù)庫,也可以放入XML,也可以放入傳統(tǒng)的文件系統(tǒng),也可以放入內(nèi)存。數(shù)據(jù)如何存貯和管理,這都是數(shù)據(jù)層首先要考慮的問題。比如實時應(yīng)用你用關(guān)系數(shù)據(jù)庫來處理效果就不會很好,大批量的數(shù)據(jù)用文件系統(tǒng)來管理效率就不高。理解數(shù)據(jù)層的一個關(guān)鍵就是他和其它層在邏輯上是可以分離的。</p><p>  圖2-6

60、系統(tǒng)三層結(jié)構(gòu)邏輯框圖</p><p>  邏輯層:這個主要是完成應(yīng)用的邏輯處理,你可以把它理解為"服務(wù)",它為數(shù)據(jù)層和表現(xiàn)層提供服務(wù)。比如我們編寫SQLwinForm或WEB應(yīng)用的時候,和數(shù)據(jù)庫連接的時候就要輸入用戶名和密碼,如果只用兩層結(jié)構(gòu),就有安全的問題,如果我們編寫一個邏輯層,把連接這一部份處理在中間層(比如該層處理連接池和安全審核),就不用擔(dān)心對方反編譯我們用中間語言生成的程序。<

61、;/p><p>  表示層:就是數(shù)據(jù)的表示,可以表示成WEB方式,也可以表示成WINFORM方式,WEB方式可以表現(xiàn)成aspx,也可以表示成asp,jsp等。如果邏輯層足夠強大和完美,不管你的表示層如何定義和更改,邏輯層都能完善地提供服務(wù)[5]。</p><p>  2.5.3關(guān)系型數(shù)據(jù)庫</p><p>  關(guān)系型數(shù)據(jù)庫在處理海量數(shù)據(jù)和單位時間響應(yīng)事務(wù)處理請求等方面,

62、有著明顯的優(yōu)勢.關(guān)系型數(shù)據(jù)庫是以服務(wù)器的方式提供數(shù)據(jù)服務(wù)的,對于數(shù)據(jù)的管理有著良好的控制,在維護數(shù)據(jù)的完整性、安全性方面有全面的考慮.對于本系統(tǒng)而言,數(shù)據(jù)庫信息的中心,是整個運作流程的核心部分。本系統(tǒng)采用SQL Server 2000作為后臺數(shù)據(jù)庫.利用Sun公司的JDBC-ODBC bridge進行數(shù)據(jù)庫的連接,對數(shù)據(jù)庫的操作(打開、查詢、修改、刪除等)封裝在相應(yīng)的bean中,負責(zé)與數(shù)據(jù)庫的交互以及數(shù)據(jù)提取等。</p>

63、<p>  2.5.4系統(tǒng)開發(fā)環(huán)境及技術(shù)方案</p><p>  綜合前面幾節(jié)的分析,本系的最終開發(fā)技術(shù)方案及環(huán)境如下</p><p>  1 采用JSP實現(xiàn)系統(tǒng)開發(fā)</p><p>  2 系統(tǒng)采用三層體系結(jié)構(gòu)</p><p>  3 操作系統(tǒng)平臺:Windows XP</p><p>  4 數(shù)據(jù)庫系統(tǒng):

64、MS SQL Server 2000</p><p>  5 JSP服務(wù)器引擎:Tomcat 5.0</p><p>  6 IDE采用eclipse開發(fā)平臺</p><p>  7 界面設(shè)計工具Dreamweaver MX 2004</p><p><b>  2.6 界面設(shè)計</b></p><p

65、>  本系統(tǒng)作為一個基于B/S模式的在線手機銷售系統(tǒng),界面是系統(tǒng)與外界交互的一個窗口,界面的好壞直接影響到了實際中系統(tǒng)的應(yīng)用。網(wǎng)上消費者對電腦的操作水平有一定的不同, 所以整個系統(tǒng)應(yīng)注重的是:易導(dǎo)航性、易操作性、容錯性和友好的交互界面。只有一個友好的交互界面才能使消費者對網(wǎng)站的整體形象有好的認同。才可以進一步的體現(xiàn)系統(tǒng)的功能和優(yōu)勢。</p><p>  圖2-7 用戶級頁面轉(zhuǎn)換圖</p>&l

66、t;p>  圖2-8 管理員級部分頁面轉(zhuǎn)換圖</p><p>  首先對于本系統(tǒng)中所涉及的主要操作頁面進行描述,基本的頁面轉(zhuǎn)換圖如圖2-7、2-8所示。</p><p>  圖2-7為用戶頁面轉(zhuǎn)換圖。匿名用戶亦可瀏覽本系統(tǒng)主界面,但不能進行信息維護,購物車提交等功能操作。只有會員經(jīng)過登錄或注冊進入到主界面,才可以正常使用系統(tǒng)的功能。其中商品瀏覽界面可以查看具體手機的詳細信息。<

67、/p><p>  圖2-8為管理員頁面轉(zhuǎn)換圖。管理員成功登錄系統(tǒng)后,進入管理頁面,在本頁面中可以進入不同的管理子項目頁面。如圖中所示,在進入各個頁面后,可以對相應(yīng)的各項信息進行管理。在每個子項目頁面的下一級還有相應(yīng)的增刪改查等信息維護頁面,由于篇幅所限,圖中并未全部畫出。</p><p>  整個系統(tǒng)中有多個WEB頁面,統(tǒng)一的界面風(fēng)格,將會使整個系統(tǒng)更加的和諧,具有親和力。否則,會給人以凌亂不

68、堪的感覺。因此在整個系統(tǒng)的WEB頁面的設(shè)計中使用了CSS樣式表,來控制整個系統(tǒng)的顯示風(fēng)格。樣式表,或者稱為層疊樣式表,英文名Cascading Style Sheet,即CSS,是HTML的一部分,作為對HTML元素展示效果的一種擴展,其功能極為強大,有了樣式表,可以放棄HTML元素的屬性不用就能實現(xiàn)精美的網(wǎng)頁排版布局。本系統(tǒng)對所有頁面中文字的字體、字號、顏色以及超鏈接的樣式都做了統(tǒng)一定義,如字體為宋體,字號為9pt

69、等。</p><p><b>  第3章 數(shù)據(jù)庫設(shè)計</b></p><p>  本在線手機銷售系統(tǒng)是完成基于WEB頁面來進行手機選購的業(yè)務(wù)流程,在整個選購過程中不論是是對商品的瀏覽,下訂單,還是維護相關(guān)的信息,無處不與數(shù)據(jù)庫產(chǎn)生相應(yīng)的交互。數(shù)據(jù)庫是本系統(tǒng)三層結(jié)構(gòu)設(shè)計模式的最底層,也是整個系統(tǒng)運行時的核心部分。當(dāng)一個系統(tǒng)涉及數(shù)據(jù)庫相關(guān)的操作時,其運行效率,冗余程度,可

70、靠性,穩(wěn)定性,可操作性,都顯得尤為重要。數(shù)據(jù)庫操作的效率的高低固然根其上層的操作代碼有一定的關(guān)系,但更多的是受到底層數(shù)據(jù)庫效率的影響。而且本系統(tǒng)中與數(shù)據(jù)庫的操作完全是靠WEB頁面來實現(xiàn),合理的數(shù)據(jù)庫設(shè)計和建立更顯得重要。</p><p><b>  3.1 數(shù)據(jù)庫概述</b></p><p>  電子計算機數(shù)據(jù)庫系統(tǒng)的萌芽出現(xiàn)于上個世紀60年代。當(dāng)時計算機開始廣泛地應(yīng)

71、用于數(shù)據(jù)管理,對數(shù)據(jù)的共享提出了越來越高的要求。傳統(tǒng)的文件系統(tǒng)已經(jīng)不能滿足人們的需要。能夠統(tǒng)一管理和共享數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)應(yīng)運而生。數(shù)據(jù)庫與信息系統(tǒng)的基本關(guān)系描述如圖3-1所示。</p><p>  圖3-1 數(shù)據(jù)庫與信息系統(tǒng)關(guān)系描述圖</p><p>  最早出現(xiàn)的是網(wǎng)狀DBMS。網(wǎng)狀模型中以記錄為數(shù)據(jù)的存儲單位。記錄包含若干數(shù)據(jù)項。網(wǎng)狀數(shù)據(jù)庫的數(shù)據(jù)項可以是多值的和復(fù)合的數(shù)

72、據(jù)。每個記錄有一個惟一地標(biāo)識它的內(nèi)部標(biāo)識符,稱為碼(DatabaseKey,DBK),它在一個記錄存入數(shù)據(jù)庫時由DBMS自動賦予。網(wǎng)狀數(shù)據(jù)庫模型對于層次和非層次結(jié)構(gòu)的事物都能比較自然的模擬,在關(guān)系數(shù)據(jù)庫出現(xiàn)之前網(wǎng)狀DBMS要比層次DBMS用得普遍。在數(shù)據(jù)庫發(fā)展史上,網(wǎng)狀數(shù)據(jù)庫占有重要地位</p><p>  層次型數(shù)據(jù)庫管理系統(tǒng)是緊隨網(wǎng)狀DBMS而出現(xiàn)的?,F(xiàn)實世界中很多事物是按層次組織起來的。層次數(shù)據(jù)模型的提出,

73、首先是為了模擬這種按層次組織起來的事物。層次數(shù)據(jù)庫也是按記錄來存取數(shù)據(jù)的。</p><p>  網(wǎng)狀數(shù)據(jù)庫和層次數(shù)據(jù)庫已經(jīng)很好地解決了數(shù)據(jù)的集中和共享問題,但是在數(shù)據(jù)獨立性和抽象級別上仍有很大欠缺。用戶在對這兩種數(shù)據(jù)庫進行存取時,仍然需要明確數(shù)據(jù)的存儲結(jié)構(gòu),指出存取路徑。而后來出現(xiàn)的關(guān)系數(shù)據(jù)庫較好地解決了這些問題。 關(guān)系型數(shù)據(jù)庫以行和列的形式存儲數(shù)據(jù),以便于用戶理解。這一系列的行和列被稱為表,一組表組成

74、了數(shù)據(jù)庫。關(guān)系數(shù)據(jù)模型提供了關(guān)系操作的特點和功能要求,但不對DBMS的語言給出具體的語法要求。對關(guān)系數(shù)據(jù)庫的操作是高度非過程化的,用戶不需要指出特殊的存取路徑,路徑的選擇由DBMS的優(yōu)化機制來完成。</p><p>  1974年,IBM的Ray Boyce和Don Chamberlin將Codd關(guān)系數(shù)據(jù)庫的12條準則的數(shù)學(xué)定義以簡單的關(guān)鍵字語法表現(xiàn)出來,里程碑式地提出了SQL(Structured Query

75、Language)語言。SQL語言的功能包括查詢、操縱、定義和控制,是一個綜合的、通用的關(guān)系數(shù)據(jù)庫語言,同時又是一種高度非過程化的語言,只要求用戶指出做什么而不需要指出怎么做。SQL集成實現(xiàn)了數(shù)據(jù)庫生命周期中的全部操作。自產(chǎn)生之日起,SQL語言大大推動了關(guān)系數(shù)據(jù)庫的應(yīng)用并指導(dǎo)著關(guān)系數(shù)據(jù)庫的發(fā)展方向[6]。</p><p>  一個好的數(shù)據(jù)模型要求其必須是簡單的,基本上是無冗余的,且是靈活的并對未來的需求具有可適應(yīng)

76、性。在為數(shù)據(jù)庫設(shè)計做準備的過程中,用來改變一個數(shù)據(jù)模型的技術(shù)稱為數(shù)據(jù)分析。規(guī)范化是一種數(shù)據(jù)分析技術(shù),該技術(shù)組織數(shù)據(jù)屬性以便他們可以組合起來形成無冗余的,穩(wěn)定的,靈活的并具有適應(yīng)性的實體。規(guī)范化一般包括三個步驟的技術(shù),該技術(shù)把數(shù)據(jù)模型規(guī)范成第一范式,第二范式,第三范式。</p><p>  簡單的說,如果所有屬性對于實體的單個實例都只有一個值,則這個實體是第一范式。</p><p>  如果

77、實體已經(jīng)是第一范式的,并且如果所有非逐漸屬性的值都依賴于主鍵,而不僅僅是部分的依賴,則這個實體是第二范式的。</p><p>  如果實體已經(jīng)是第二范式的,并且如果它的非主鍵屬性的值不依賴于任何其它非主鍵屬性,則這個實體是第三范式的。</p><p>  3.2 系統(tǒng)E-R圖</p><p>  本系統(tǒng)是采用MSSQLServer2000來作為數(shù)據(jù)庫服務(wù)器。并依據(jù)前

78、面提到的數(shù)據(jù)庫設(shè)計理論,嚴格依照第三范式的思想進行了本系統(tǒng)數(shù)據(jù)庫的設(shè)計。根據(jù)上一章中對于整個在線個購買手機業(yè)務(wù)的流程分析,本系統(tǒng)設(shè)計的數(shù)據(jù)庫sysstore中包括的實體有:手機,廠家分類,訂單,訂單明細,會員,管理員。本系統(tǒng)的實體-關(guān)系模型如圖3-2所示。</p><p>  圖3-2 手機銷售系統(tǒng)E-R圖</p><p>  3.3 數(shù)據(jù)庫表設(shè)計</p><p>

79、  根據(jù)對數(shù)據(jù)庫整體結(jié)構(gòu)的分析,為完成系統(tǒng)個功能的需求,故在數(shù)據(jù)庫中建立了下面幾個具體的表。</p><p>  手機表:用來存儲手機的信息,其中c_id字段為外鍵,來自公司表??紤]到手機信息記錄數(shù)目將很龐大,所以將主鍵t_id設(shè)置為標(biāo)識列。標(biāo)識列即為由用戶創(chuàng)建,由系統(tǒng)管理,每增加一條記錄,則其自動增加,用戶不可對其進行操作,在過程中若有記錄被刪除,其不進行縮進,仍保留原有值,并一直自增。</p>

80、<p>  表3-1 手機表(telephone)</p><p>  會員表:用于存儲注冊會員的所有信息,也是系統(tǒng)跟會員發(fā)生交易時的一個信息來源表,從中可以獲得會員的真實信息。其中字段l_money用來描述會員在本網(wǎng)站的累計銷售金額,根據(jù)此字段的值的不同,可以進行相應(yīng)的不同商品優(yōu)惠。</p><p>  表3-2 會員表(leaguer)</p><p>

81、;  公司表:用來存儲不同手機生產(chǎn)廠家的信息。其中公司id字段從c_id為手機表的外鍵,并也設(shè)置成為標(biāo)識列,從而以便于管理和維護。</p><p>  表3-3 公司表(company)</p><p>  續(xù)表3-3 公司表(company)</p><p>  訂單表:用來存儲用戶所下訂單的信息,通過訂單供應(yīng)商可以進行相應(yīng)的供貨。是發(fā)生交易的主要依據(jù)。其中字段o

82、_id為標(biāo)識列,l_id為外鍵,來自會員表,用以標(biāo)識下訂單的用戶。o_isdeal是標(biāo)識此訂單是否已經(jīng)處理。是本系統(tǒng)中一項交易是否完成的標(biāo)識。且表的定義中表名不可與數(shù)據(jù)庫系統(tǒng)的關(guān)鍵字相同。若相同在相應(yīng)的程序中進行sql語句的操作時會產(chǎn)生錯誤。</p><p>  表3-3 訂單表(teleorder)</p><p>  訂單明細表:用來描述每一訂單中的詳細訂購信息。字段oi_id為訂單明

83、細記錄的編號,設(shè)置為了標(biāo)識列。字段o_id為外鍵,來自訂單表,從而標(biāo)識該記錄屬于哪一訂單。</p><p>  表3-4 訂單明細表(orderitem)</p><p>  管理員表:用來記錄系統(tǒng)管理員信息。</p><p>  表3-5 消費者(Customer)</p><p>  3.4數(shù)據(jù)庫表關(guān)系圖</p><p

84、>  上節(jié)中提到的各表關(guān)系如圖3-3所示。</p><p><b>  圖3-3 表關(guān)系圖</b></p><p>  其中FK為外鍵,key符號標(biāo)識為主鍵。</p><p><b>  第4章 系統(tǒng)實現(xiàn)</b></p><p>  4.1系統(tǒng)關(guān)鍵性技術(shù)及難點</p><p

85、>  4.1.1連接數(shù)據(jù)庫系統(tǒng)的實現(xiàn)</p><p>  數(shù)據(jù)庫是本手機銷售系統(tǒng)的底層核心部分,保存著整個系統(tǒng)運行過程中需要的和產(chǎn)生的各種數(shù)據(jù),相當(dāng)于系統(tǒng)的心臟。系統(tǒng)要正常的運作,首先就要進行系統(tǒng)中業(yè)務(wù)邏輯層與數(shù)據(jù)庫的連接,從而從數(shù)據(jù)庫中得到或向數(shù)據(jù)庫中存儲所相關(guān)的數(shù)據(jù)。</p><p>  本系統(tǒng)采用的數(shù)據(jù)庫系統(tǒng)是MS SQL Server 2000 系統(tǒng)。與數(shù)據(jù)庫的連接有很多方式

86、,由于本系統(tǒng)是采用JSP開發(fā),所以可以通過JDBC驅(qū)動或JDBC-ODBC橋來進行與數(shù)據(jù)庫的連接。JDBC驅(qū)動是純Java語言實現(xiàn),所以在平臺無關(guān)性方面有很好的支持。但由于JDBC驅(qū)動的版本較多,操作較為繁瑣,綜合考慮到本系統(tǒng)的規(guī)模,和實際過程中的應(yīng)用采用了JDBC-ODBC橋的方式來完成了本系統(tǒng)中與數(shù)據(jù)庫的連接。同時考慮到系統(tǒng)的移植性和可擴展行,將與數(shù)據(jù)庫的連接操作封裝到了相應(yīng)的Javabean里,從而在系統(tǒng)改變與數(shù)據(jù)庫的連接方式時僅

87、需修改一下此bean中的代碼即可。其程序流程圖如圖4-1所示:</p><p>  圖4-1 數(shù)據(jù)庫連接程序流程圖</p><p>  其中sDBDriver的值為sun.jdbc.odbc.JdbcOdbcDriver即首先注冊JDBC-ODBC驅(qū)動器。SconnStr的值為jdbc:odbc:sysstore,即與本系統(tǒng)使用的數(shù)據(jù)庫進行連接。</p><p> 

88、 由程序流程圖可見若要更改連接方式,僅需修改一下相應(yīng)的私有變量的值即改變注冊的方式。這樣大大減少了代碼重用時需要作的工作。</p><p>  在與數(shù)據(jù)庫的交互過程中通過建立PreparedStatement類型的預(yù)編譯狀態(tài)進行操作。即</p><p>  PreparedStatement pstmt=connect.prepareStatement(sqlStr)</p>

89、<p>  這種操作方式既方便了編碼時的書寫也有利于提高運行時的效率和增強系統(tǒng)的安全性。</p><p>  4.1.2亂碼問題的出現(xiàn)和解決</p><p>  本系統(tǒng)是基于WEB頁面與數(shù)據(jù)庫中進行數(shù)據(jù)的交互。亂碼問題則成為系統(tǒng)開發(fā)整個過程中一個讓人頭疼的問題。先讓我們來看一下亂碼產(chǎn)生的原因。</p><p>  首先我們要了解一下計算機的字符集。計算機

90、最初的操作系統(tǒng)支持的是單字節(jié)編碼,于是在計算機中的一切處理程序最初都是以單字節(jié)編碼的英文為準進行處理的。但隨著計算機技術(shù)的發(fā)展,和計算機的普及,為了適應(yīng)世界各地對字符集的不同要求,Unicode編碼應(yīng)運而生了。它采用雙字節(jié)編碼,兼容英文字符和其他民族的雙字節(jié)字符編碼。目前,大多數(shù)國際化的軟件內(nèi)部均采用Unicode編碼。在軟件運行時,它獲得本地操作系統(tǒng)默認支持的編碼格式,然后在將軟件內(nèi)部的Unicode轉(zhuǎn)化為本地操作系統(tǒng)默認支持的格式顯

91、示出來。ISO/IEC 8859-1,又稱Latin-1或“西歐語言”,是國際化標(biāo)準組織內(nèi)ISO/IEC 8859的第一個8位字符集。它以ASCII為基礎(chǔ),于空置的0xA0-0xFF的范圍里,加入192個字母及符號。GBK,GB2312等是為了正確顯示中文而定義的編碼格式。現(xiàn)在大多數(shù)中文操作系統(tǒng),或軟件都默認為這類編碼格式。</p><p>  整個系統(tǒng)中表單的提交或是URL傳參數(shù)值時都是依照WEB容器在其內(nèi)部默

92、認的字符編碼格式ISO 8859-1來進行處理的。同時瀏覽器的傳遞參數(shù)時都默認方式為UTF-8,所以系統(tǒng)的所有外部WEB交互頁面中的參數(shù),若有中文字符則都按照ISO 8859-1字符集進行解釋[7]。而本系統(tǒng)中使用的數(shù)據(jù)庫系統(tǒng)MS SQL Server 2000內(nèi)部默認的字符編碼格式卻是中GBK編碼。這樣的話,在WEB頁面中進行填寫的表單信息若含有中文則是ISO 8859-1編碼方式的,如果將這寫信息不進行處理直接存儲到數(shù)據(jù)庫中,在數(shù)據(jù)

93、庫中相應(yīng)的表中就可以看到信息都是以亂碼的方式顯示的,如果是和數(shù)據(jù)庫中的信息進行比較等功能性操作時,將無法得到預(yù)期的正確結(jié)果,即數(shù)據(jù)庫不能正確的識別出這些信息。由于在jsp頁面中使用了語句<%@ page contentType="text/html;charset=GBK"%>來保證了JSP服務(wù)器引擎會把JSP的輸出以GBK編碼的形式輸出,這些保存在數(shù)據(jù)庫中的亂碼信息在讀到WEB界面中時仍是以亂碼的形式顯

94、示出來。</p><p>  依據(jù)上面的描述,WEB頁面提交的信息向數(shù)據(jù)庫中存儲或和數(shù)據(jù)庫中數(shù)據(jù)進行交互時要進行ISO 8859-1編碼格式到GBK編碼格式的轉(zhuǎn)換。由于有了上面提到的頁面語句的控制,所以在數(shù)據(jù)庫信息讀出時,并不需要在頁面中進行GBK編碼格式到ISO 8859-1編碼格式的轉(zhuǎn)換。由于在整個手機銷售系統(tǒng)中操作均是在WEB頁面上完成,而同時又多是和數(shù)據(jù)庫的交互,所以需要這種編碼轉(zhuǎn)換的地方很多。因此將編碼

95、轉(zhuǎn)換的方法寫成一個編碼轉(zhuǎn)換類,封裝到相應(yīng)的bean中,從而使使用更加的方便,準確。下面是ISO 8859-1編碼到GBK編碼的具體實現(xiàn)。</p><p>  public class TransCoding {</p><p>  public static String isoTogbk(String strIn){</p><p>  String temp=n

96、ull;</p><p>  if(null==strIn || (strIn.trim().equals(""))){</p><p>  return strIn;</p><p><b>  }</b></p><p><b>  try{</b></p>

97、<p>  temp=new String(strIn.getBytes("ISO-8859-1"),"GBK"); </p><p><b>  }</b></p><p>  catch(UnsupportedEncodingException e){</p><p>  Syste

98、m.err.println("e.getMessage()");</p><p><b>  }</b></p><p>  return temp;</p><p><b>  }</b></p><p><b>  }</b></p>&l

99、t;p>  對于GBK到ISO 8859-1的轉(zhuǎn)換方法限于篇幅,此處略去,可在源程序中找到。</p><p>  4.1.3信息的分頁顯示</p><p>  手機銷售系統(tǒng)中,消費者或者管理員在查看信息時,若信息有多條記錄,則分頁顯示查看成為了一個必要的操作。根據(jù)記錄總數(shù)目和自定義的每頁顯示記錄數(shù)來確定本頁顯示記錄的開始序號和結(jié)束序號的程序流程如圖4-2所示。</p>

100、<p>  程序中首先是調(diào)用函數(shù)getPage來得到記錄的總頁數(shù)。在下面通過當(dāng)前要顯示的頁面號來判斷在數(shù)據(jù)庫中第一個要顯示的記錄號和最后一個要顯示的記錄號。pagesize用來定義每頁要顯示的記錄條數(shù)。pages為當(dāng)前頁號。start和end分別來描述開始和結(jié)束的記錄號。通過當(dāng)前頁號,和每頁要顯示的記錄,在根據(jù)總的記錄數(shù),就可以完成對每個單頁中要顯示的具體信息記錄的定位。然后在數(shù)據(jù)庫查詢語句中根據(jù)開始和結(jié)束的位置選取相應(yīng)的記錄

101、。</p><p>  圖4-2 分頁中記錄位置確定程序流程圖</p><p>  4.1.4信息列表的實現(xiàn)</p><p>  在本系統(tǒng)中完成搜索或顯示等功能操作時,各種提取和顯示的信息的來源都是數(shù)據(jù)庫,如何把從數(shù)據(jù)庫中得到的結(jié)果集很好的保存或拿到頁面中使用和顯示哪。本系統(tǒng)中對于信息列表的提取應(yīng)用了Vector。</p><p>  Vec

102、tor是Java中的一個工具類。它對應(yīng)于類似數(shù)組的順序存儲的數(shù)據(jù)結(jié)構(gòu),具有比數(shù)組更強大的功能。Vector最大的特點是能夠根據(jù)你的需要動態(tài)增長。它實現(xiàn)了List接口,因此可以把它看作一個列表[8]。</p><p>  Vector的最大特點是它只儲存對象的引用,而不是實際的對象。它允許不同類型的元素對象順序共存于一個對象中,同時它提供了許多有用的方法來操作和處理元素數(shù)據(jù)。在程序設(shè)計中,Vector可以根據(jù)需要改

103、變其元素的個數(shù),也就是說Vector是一個變長數(shù)組,它和普通數(shù)組的最大區(qū)別是Vector只支持對象作為元素,元素不能是基本數(shù)據(jù)類型,并通過函數(shù)addElement()可以方便簡易的將各個對象元素順序的放到相應(yīng)的Vector變量中存儲起來。基于Vector的特點,只要將數(shù)據(jù)庫操作中產(chǎn)生的結(jié)果集即ResultSet順序封裝到一個描述性的類中即可將其以對象的方式順序存儲到Vector中,從而很好的完成將數(shù)據(jù)庫中信息轉(zhuǎn)換到Vector中。而Ve

104、ctor中存儲的元素還可以通過elementAt()函數(shù)簡單的獲得,從而能方便在所需要的地方進行使用。Vector的長度可以通過size()來獲得,而它的容量則用capacity()來得到。由此可見Vector使用起來很靈活也很方便而且對于本系統(tǒng)功能的完成無疑不是一個最佳的選擇。通過下面語句</p><p>  Vector example = new Vector()</p><p> 

105、 的形式創(chuàng)建了一個Vector類型的變量example,其空間的分配可以在后面的括號中給予聲明,亦可以讓系統(tǒng)自動給予分配。Vector類型變量與得到數(shù)據(jù)庫中信息的結(jié)果集ResultSet的交互過程如圖4-3所示:</p><p>  圖4-3 Vector在本系統(tǒng)中的工作機制</p><p>  下面是一個用Vector來保存搜索信息的一個函數(shù),從中可以體現(xiàn)對Vector的使用方法。<

106、;/p><p>  public Vector queryList(int temptid){</p><p><b>  …………</b></p><p>  ResultSet rs=pstmt.executeQuery();</p><p>  count=pstmt.getMaxRows();</p>

107、<p>  telephoneList=new Vector(count+1);</p><p>  telephoneList.clear();</p><p>  while(rs.next()){</p><p>  long tid=rs.getInt("t_id");</p><p>  String

108、type=rs.getString("t_type");</p><p><b>  …………</b></p><p>  Telephone newtelephone=new Telephone(tid,type ,…);</p><p>  telephoneList.addElement(newtelephone);&

109、lt;/p><p><b>  }</b></p><p><b>  …………</b></p><p>  4.2業(yè)務(wù)邏輯層的實現(xiàn)</p><p>  4.2.1 業(yè)務(wù)邏輯層實現(xiàn)總體概述</p><p>  本系統(tǒng)實施的一大特點就是業(yè)務(wù)邏輯層的操作都封裝到相應(yīng)的Javabean

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論