手機(jī)銷售網(wǎng)站畢業(yè)設(shè)計(jì)論文_第1頁
已閱讀1頁,還剩69頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  摘要I</b></p><p>  AbstractII</p><p><b>  前言1</b></p><p><b>  第1章 概述2</b></p>

2、<p><b>  1.1 緒論2</b></p><p>  1.1.1 課題背景2</p><p>  1.1.2 課題研究的意義2</p><p>  1.1.3 手機(jī)銷售網(wǎng)站的現(xiàn)狀3</p><p>  1.2 開發(fā)工具3</p><p>  1.2.1 JAVA編程

3、語言3</p><p>  1.2.2 Tomcat服務(wù)器3</p><p>  1.2.3 MySQL數(shù)據(jù)庫3</p><p>  1.2.4 JSP4</p><p>  1.2.5 MyEclipse4</p><p>  第2章 需求分析6</p><p>  2.1 需求

4、確定6</p><p>  2.1.1 普通用戶需求6</p><p>  2.1.2 會(huì)員用戶需求6</p><p>  2.1.3 管理員需求6</p><p>  2.2 架構(gòu)分析與設(shè)計(jì)7</p><p>  2.2.1 邏輯架構(gòu)7</p><p>  2.2.2物理架構(gòu)7&

5、lt;/p><p>  第3章 系統(tǒng)總體設(shè)計(jì)8</p><p>  3.1 系統(tǒng)類圖8</p><p>  3.2 數(shù)據(jù)庫結(jié)構(gòu)與表設(shè)計(jì)9</p><p>  3.2.1 User表10</p><p>  3.2.2 Product表10</p><p>  3.2.3 Category

6、表11</p><p>  3.2.4 SalesOrder表11</p><p>  3.2.5 SalesItem表12</p><p>  3.3 頁面設(shè)計(jì)12</p><p>  3.3.1 前臺(tái)12</p><p>  3.3.2 后臺(tái)(admin目錄下)14</p><p&g

7、t;  第4章 功能實(shí)現(xiàn)16</p><p>  4.1 數(shù)據(jù)庫連接16</p><p>  4.2 會(huì)員模塊16</p><p>  4.2.1 User類16</p><p>  4.2.2 用戶模塊后臺(tái)17</p><p>  4.2.3 會(huì)員模塊前臺(tái)22</p><p> 

8、 4.3 產(chǎn)品模塊24</p><p>  4.3.1 Product類JavaBean的封裝24</p><p>  4.3.2 產(chǎn)品類接口設(shè)計(jì)25</p><p>  4.3.3 產(chǎn)品類接口的實(shí)現(xiàn)25</p><p>  4.3.4 產(chǎn)品模塊前端32</p><p>  4.3.5 文件上傳36<

9、/p><p>  4.4 購物車模塊39</p><p>  4.4.1 購物車后臺(tái)39</p><p>  4.4.2購物車前臺(tái)42</p><p>  4.5 下單模塊43</p><p>  4.5.1 訂單對象實(shí)體類43</p><p>  4.5.2 訂單接口設(shè)計(jì)44</

10、p><p>  4.5.3 訂單的接口實(shí)現(xiàn)45</p><p>  4.5.4 訂單前臺(tái)的處理45</p><p>  第5章 系統(tǒng)運(yùn)行測試48</p><p>  5.1 代碼審查48</p><p>  5.2 會(huì)員模塊測試48</p><p>  5.3 商品購買功能測試49&l

11、t;/p><p>  5.4 管理員模塊測試50</p><p><b>  結(jié)論54</b></p><p><b>  總結(jié)與體會(huì)55</b></p><p><b>  謝辭56</b></p><p><b>  參考文獻(xiàn)57&l

12、t;/b></p><p>  附錄一 英文原文58</p><p>  附錄二 中文譯文64</p><p><b>  手機(jī)銷售網(wǎng)站</b></p><p><b>  摘要</b></p><p>  電子商務(wù)形式的網(wǎng)上商店具有高效、快捷,信息暢通的特點(diǎn),

13、還可以很大程度上較低銷售成本。本文通過手機(jī)銷售網(wǎng)站系統(tǒng)的建設(shè)以實(shí)現(xiàn)商業(yè)零售企業(yè)的信息化管理。著重論述手機(jī)銷售系統(tǒng)功能的實(shí)現(xiàn)與設(shè)計(jì)過程。</p><p>  本系統(tǒng)功能主要包括會(huì)員注冊、賬戶管理、購物車、搜索、在線支付等基本功能。此外,本系統(tǒng)也將實(shí)現(xiàn)手機(jī)銷售系統(tǒng)的后端管理,包括手機(jī)的添加、賬單的處理等功能。很大程度上減輕了維護(hù)人員的勞動(dòng)強(qiáng)度,提高了工作效率與管理水平,具有很大的使用價(jià)值。</p>&l

14、t;p>  本系統(tǒng)運(yùn)用JAVA技術(shù)實(shí)現(xiàn),采用MySQL作為數(shù)據(jù)庫,開發(fā)工具使用My-Eclipse。TOMCAT作為服務(wù)器,界面使用JSP實(shí)現(xiàn)。本網(wǎng)站具有用戶使用簡單、界面直觀等優(yōu)點(diǎn),還可以幫助顧客更快更準(zhǔn)確的了解手機(jī)市場信息,以便取得物美價(jià)廉的手機(jī)。</p><p>  關(guān)鍵詞:電子商務(wù),手機(jī)購物,技術(shù)運(yùn)用</p><p>  Cellular phone shopping web

15、site</p><p><b>  Abstract</b></p><p>  The on-line store of the electronic commerce form is efficient, fast and unimpeded information,which can also lower the sale cost up. This text

16、 mainly describes to construct about the marketing system of an on-line cellular phone, provides the information-based management for the retailing business. Emphasized to discuss the realization and the design processes

17、 of the system of the cellular phone sale system.</p><p>  This system function mainly includes the member register、the bank account management、shopping car、search、settle an account the basic function and so

18、 on. In addition, this system also will carry out the hypervisor management about the cellular phone.</p><p>  This system is realized through JAVA technique, my SQL as the database, applications development

19、 tool use My Eclipse,GUI use JSP. This system is simple of using for customers, the interface keeps the view etc, help customer sooner and more precise understanding cellular phone market information, in order to obtain

20、the cellular phone of the beautiful but low price.</p><p>  Key words :Electronic commerce,Cellular phone shopping,Tech wield</p><p><b>  前言</b></p><p>  自1996年,在美國學(xué)術(shù)界提出

21、了“電子商務(wù)”這一概念后,在短短幾年的時(shí)間里這一概念在全球范圍內(nèi)被廣泛的接受。作為21世紀(jì)網(wǎng)絡(luò)應(yīng)用和貿(mào)易方式的代表,電子商務(wù)的應(yīng)用和推廣將給社會(huì)和經(jīng)濟(jì)帶來極大的效益,并將成為全球經(jīng)濟(jì)的最大增長點(diǎn)之一。正因?yàn)殡娮由虅?wù)有著誘人的前景和廣闊的發(fā)展空間,所以越來越受到人們的關(guān)注和了解。</p><p>  過去一提到商務(wù),人們不是聯(lián)想到在一家商場中精疲力盡地尋找自己所需的商品,就是聯(lián)想到在談判桌前,買賣雙方唇槍舌劍地談判

22、,而如今通過萬維網(wǎng)就可看見店面前臺(tái),人們不僅能身臨其境地瀏覽各類產(chǎn)品,而且可以進(jìn)行同類商品各方面的詳細(xì)比較和相關(guān)的評測。同時(shí)能夠購買物理產(chǎn)品,如汽車、電視機(jī)和錄音機(jī),也能購買數(shù)字類產(chǎn)品,如信息、錄像、錄音、數(shù)據(jù)庫、軟件及各類知識(shí)產(chǎn)品。此外還能獲得各類服務(wù),如安排旅游行程、網(wǎng)上醫(yī)療診斷和遠(yuǎn)程教育。電子商務(wù)正改變著企業(yè)經(jīng)營的方式。既然是電子商務(wù),Internet在這個(gè)過程中發(fā)揮的作用是顯而易見的,如何構(gòu)建電子商務(wù)呢?電子商務(wù)網(wǎng)站則是完成電子

23、商務(wù)的平臺(tái)。</p><p>  手機(jī)作為21世紀(jì)的通信寵兒,其發(fā)展速度不亞于任何的電子設(shè)備。頻繁的更新?lián)Q代,給人們的選購也帶來了很大的不便,電子商務(wù)正是解決這個(gè)問題的很好方案。足不出戶就可以最快的掌握市場變化,滿足自己的選購需求,同時(shí)商家亦可以及時(shí)把握消費(fèi)方向,從而對市場變化做出相應(yīng)反應(yīng)。</p><p>  有資料顯示,2006年我國僅一個(gè)購物網(wǎng)站全年的交易額就有超過20億元人民幣,這

24、相當(dāng)于沃爾瑪在中國的10家門店2005年全年?duì)I業(yè)額。由于電子商務(wù)在我國的飛速發(fā)展,已經(jīng)很少有人不知道“網(wǎng)上購物”這個(gè)事了。新浪、搜狐的網(wǎng)上商城,亞馬遜、卓越、當(dāng)當(dāng)?shù)染W(wǎng)上超市,還有易趣、中商網(wǎng)、阿里巴巴旗下的淘寶網(wǎng)和8848網(wǎng)站等等,構(gòu)成了我國網(wǎng)絡(luò)商業(yè)門戶的強(qiáng)勢陣容。電子商務(wù)市場交易量不斷擴(kuò)大,吸引了越來越多的消費(fèi)者參與其中,網(wǎng)上購物行形成了與傳統(tǒng)商業(yè)業(yè)態(tài)相抗衡的力量。</p><p><b>  第1章

25、 概述</b></p><p><b>  1.1 緒論</b></p><p>  1.1.1 課題背景</p><p>  近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為手機(jī)提供信息的最佳渠道并逐步進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,越來越多的商家在網(wǎng)上建起商店,向消費(fèi)者展示出一種新穎的購物理念。網(wǎng)上購物系

26、統(tǒng)作為B2B(企業(yè)對企業(yè)),B2C(企業(yè)對消費(fèi)者),C2C(消費(fèi)者對消費(fèi)者)電子商務(wù)的前端商務(wù)平臺(tái),在其商務(wù)活動(dòng)全過程中起著舉足輕重的作用。網(wǎng)上購物系統(tǒng)具有強(qiáng)大的交互功能,可使商家和用戶方便的傳遞信息,完成電子貿(mào)易或EDI交易。這種全新的交易方式實(shí)現(xiàn)了公司間文檔與資金的無紙化交換。本文旨在研究如何建設(shè)B2C的手機(jī)銷售網(wǎng)站系統(tǒng)。</p><p>  1.1.2 課題研究的意義</p><p>

27、;  企業(yè)與消費(fèi)者間的電子商務(wù)B2C,是一種網(wǎng)上直銷方式,網(wǎng)上銷售手機(jī)縮減了中間渠道,產(chǎn)品一般直接源自廠商的上生產(chǎn)基地,不但品質(zhì)有保障價(jià)格上也更實(shí)惠。同時(shí)網(wǎng)上銷售在縮減支出方面也是傳統(tǒng)店鋪無法比擬的,由于不需要實(shí)際的店面,不僅避免了店鋪?zhàn)饨鸬拈_銷,還可省去裝修、管理等方面的諸多費(fèi)用,所以價(jià)格成為眾多網(wǎng)上購機(jī)用戶的首選因素。另外所不同的就是網(wǎng)上購物可以足不出戶,各地商品任選,如此方便快捷,無時(shí)間空間限制是傳統(tǒng)經(jīng)營模式無法比擬的,如今隨著人

28、們生活質(zhì)量的提高,購物方式也變得輕松自由化、個(gè)性化,這將成為網(wǎng)上銷售手機(jī)的一大優(yōu)勢。</p><p>  傳統(tǒng)的購物和網(wǎng)上購物相比,有其自身的許多優(yōu)勢:</p><p> ?。?)網(wǎng)上購物的快捷,方便是傳統(tǒng)購物無法比較的。</p><p> ?。?)網(wǎng)上購物是基于互聯(lián)網(wǎng)的一種商務(wù)活動(dòng),互聯(lián)網(wǎng)本身具有開放性、全球性的特點(diǎn),電子商務(wù)。</p><p&

29、gt; ?。?)網(wǎng)上購物簡化了企業(yè)與企業(yè),企業(yè)與個(gè)人之見的流通環(huán)節(jié),最大限度地降低了流通成本,能有效的提高企業(yè)在現(xiàn)代商業(yè)活動(dòng)中的競爭力。</p><p> ?。?)網(wǎng)上購物將大部商務(wù)活動(dòng)搬到網(wǎng)上進(jìn)行,企業(yè)可以實(shí)行無紙辦公節(jié)省了開支,而且環(huán)保。</p><p>  (5)網(wǎng)上購物將傳統(tǒng)的商務(wù)流程數(shù)字化、電子化,讓傳統(tǒng)的商務(wù)流程轉(zhuǎn)化為電子流,信息流,突破了時(shí)間空間的局限,大大提高了商業(yè)運(yùn)作的效

30、率,并有效降低了成本。</p><p>  1.1.3 手機(jī)銷售網(wǎng)站的現(xiàn)狀</p><p>  隨著中國互聯(lián)網(wǎng)行業(yè)的迅速發(fā)展,上網(wǎng)人數(shù)增多,手機(jī)網(wǎng)上銷售正在被消費(fèi)者普遍接受,國內(nèi)各大型綜合門戶網(wǎng)站上開展了手機(jī)電子商務(wù),如新浪商城、搜狐商城,以及專門銷售手機(jī)的www.999.com和www.yaya888.com。歸納起來,銷售手機(jī)的網(wǎng)站大致分為以下幾類:綜合門戶網(wǎng)站購物商城、專業(yè)電子商務(wù)網(wǎng)

31、站、專業(yè)銷售手機(jī)網(wǎng)站。其中,綜合類網(wǎng)站中購物商城60%,專門銷售手機(jī)的網(wǎng)站25%,專門做銷售的購物網(wǎng)站15%。</p><p><b>  1.2 開發(fā)工具</b></p><p>  1.2.1 JAVA編程語言</p><p>  Java是一種編程語言,被特意設(shè)計(jì)用于互聯(lián)網(wǎng)的分布式環(huán)境。Java具有類似于C++語言的“形式和感覺”,但它要

32、比C++語言更易于使用,而且在編程時(shí)徹底采用了一種“以對象為導(dǎo)向”的方式。使用Java編寫的應(yīng)用程序,既可以在一臺(tái)單獨(dú)的電腦上運(yùn)行,也可以被分布在一個(gè)網(wǎng)絡(luò)的服務(wù)器端和客戶端運(yùn)行。</p><p>  1.2.2 Tomcat服務(wù)器</p><p>  Tomcat因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感

33、興趣的程序員都可以更改它或在其中加入新的功能。</p><p>  Tomcat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。我們可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Ap

34、ache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。</p><p>  1.2.3 MySQL數(shù)據(jù)庫</p><p>  MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購。而2009年,SUN又被Oracle收購。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi)。這樣就增加了速度并提高了靈

35、活性。MySQL的SQL“結(jié)構(gòu)化查詢語言”。SQL是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了GPL(GNU通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫,這對于我們學(xué)生而言也是不錯(cuò)的選擇。</p><p><b>  1.2.4 JSP</b></p><

36、p>  JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。</p>

37、;<p>  JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。</p><p>  JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。</p><p>  Java Servlet是JSP的技術(shù)基礎(chǔ),而且大型

38、的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。自JSP推出后,眾多大公司都支持JSP技術(shù)的服務(wù)器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應(yīng)用的服務(wù)器端語言。 </p><p>  JSP可用一種簡單易懂的等式表示為:HTML + Java=JSP。</p&g

39、t;<p>  1.2.5 MyEclipse</p><p>  MyEclipse,是一個(gè)十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,My Eclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯(cuò)?!≡诮Y(jié)構(gòu)上,My Eclipse的特征可以被分為7類: </p><p> ?。?)Java EE模型 </p>&l

40、t;p> ?。?)WEB開發(fā)工具 </p><p>  (3) EJB開發(fā)工具 </p><p> ?。?)應(yīng)用程序服務(wù)器的連接器 </p><p> ?。?)Java EE項(xiàng)目部署服務(wù) </p><p><b> ?。?)數(shù)據(jù)庫服務(wù) </b></p><p> ?。?)My-Eclipse

41、整合幫助 </p><p>  對于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。 </p><p>  簡單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的Java EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯(cuò)。&

42、lt;/p><p><b>  第2章 需求分析</b></p><p><b>  2.1 需求確定</b></p><p>  2.1.1 普通用戶需求</p><p>  普通用戶指沒注冊的用戶</p><p>  a. 普通用戶可以通過系統(tǒng)瀏覽商品</p>

43、<p>  b. 普通用戶可以通過系統(tǒng)搜索商品</p><p>  c. 普通用戶可以通過系統(tǒng)下訂單</p><p>  d.普通用戶可以注冊成為系統(tǒng)會(huì)員</p><p>  2.1.2 會(huì)員用戶需求</p><p>  a.會(huì)員可以瀏覽和檢索商品</p><p>  b.會(huì)員可以下訂單(享受會(huì)員價(jià))<

44、;/p><p>  c.會(huì)員可以瀏覽自己下過的訂單</p><p>  d.會(huì)員可以管理自己的信息</p><p><b>  (1)修改密碼</b></p><p><b> ?。?)修改送貨地址</b></p><p><b> ?。?)修改聯(lián)系方式</b&g

45、t;</p><p>  2.1.3 管理員需求</p><p>  a.管理員通過后臺(tái)進(jìn)行會(huì)員管理</p><p><b> ?。?) 會(huì)員瀏覽</b></p><p> ?。?) 會(huì)員歷史訂單瀏覽</p><p><b> ?。?) 會(huì)員刪除</b></p>

46、<p> ?。?) 指定會(huì)員級(jí)別</p><p>  b.管理員通過后臺(tái)進(jìn)行產(chǎn)品分類的管理</p><p><b> ?。?)瀏覽</b></p><p><b>  (2)添加</b></p><p><b> ?。?)刪除</b></p><

47、;p><b> ?。?)修改</b></p><p>  c.管理員通過后臺(tái)進(jìn)行產(chǎn)品管理</p><p><b>  (1)新增產(chǎn)品</b></p><p><b> ?。?)產(chǎn)品上柜</b></p><p><b> ?。?)產(chǎn)品下柜</b><

48、;/p><p><b> ?。?)產(chǎn)品銷售瀏覽</b></p><p><b>  (5)產(chǎn)品搜索</b></p><p><b> ?。?)產(chǎn)品刪除</b></p><p><b> ?。?)產(chǎn)品修改</b></p><p>  d.

49、管理員通過后臺(tái)進(jìn)行訂單的管理</p><p><b> ?。?)訂單查詢</b></p><p><b> ?。?)修改訂單狀態(tài)</b></p><p><b>  (3)訂單搜索</b></p><p><b> ?。?)訂單跟蹤</b></p&g

50、t;<p><b> ?。?)訂單提醒</b></p><p>  2.2 架構(gòu)分析與設(shè)計(jì)</p><p>  2.2.1 邏輯架構(gòu)</p><p>  采用三層架構(gòu):JSP+JavaBean+Database,JSP負(fù)責(zé)表現(xiàn),JavaBean負(fù)責(zé)業(yè)務(wù)邏輯,Database負(fù)責(zé)持久保持?jǐn)?shù)據(jù)。</p><p>

51、;<b>  2.2.2物理架構(gòu)</b></p><p>  網(wǎng)站服務(wù)器的硬件配置:Web服務(wù)器一臺(tái)配置:2G內(nèi)存,100G硬盤,酷睿2雙核CPU。Database服務(wù)器一臺(tái)配置:2G內(nèi)存,100G硬盤,酷睿2雙核CPU。對于本項(xiàng)目來說,兩臺(tái)服務(wù)器都位于同一臺(tái)主機(jī)上。</p><p>  第3章 系統(tǒng)總體設(shè)計(jì)</p><p>  采用JSP作

52、為開發(fā)環(huán)境,MySQL作為數(shù)據(jù)庫服務(wù)器,來開發(fā)一個(gè)手機(jī)銷售網(wǎng)站系統(tǒng),實(shí)現(xiàn)用戶注冊,用戶登錄,用戶對個(gè)人信息的修改。管理員登錄,管理員后臺(tái)對賬戶信息的添加、刪除、修改,對訂單的刪除和修改,動(dòng)態(tài)添加、修改和刪除商品信息。通過購物車來保存用戶所選定的商品,在最后付款時(shí)可以刪除部分或全部不想要的商品。</p><p>  圖3-1 手機(jī)銷售系統(tǒng)功能框圖</p><p><b>  3.1

53、 系統(tǒng)類圖</b></p><p><b>  類圖如下:</b></p><p><b>  圖3-2 系統(tǒng)類</b></p><p>  Product是產(chǎn)品類,是產(chǎn)品的實(shí)體類,屬性包括產(chǎn)品ID,產(chǎn)品名(name),產(chǎn)品描述(descr),市場價(jià)格(normalPrice),會(huì)員價(jià)格(memberPrice

54、),上架日期(pdate),類別(catgory)。</p><p>  User是會(huì)員類,是會(huì)員的實(shí)體類,屬性包括會(huì)員ID,會(huì)員用戶名(username),會(huì)員密碼(password),手機(jī)號(hào)(phone),送貨地址(addr),注冊日期(rdate)。</p><p>  Adminstrator的管理員類,是管理員的實(shí)體類,屬性有管理員用戶名和管理員密碼。</p>&l

55、t;p>  Category是類別類,是類別的實(shí)體類,包括類別id,類別的名稱(name),類別描述(descr),所屬產(chǎn)品id(pid)。</p><p>  3.2 數(shù)據(jù)庫結(jié)構(gòu)與表設(shè)計(jì)</p><p><b>  圖3-3 E-R圖</b></p><p>  購物車類與產(chǎn)品類是一對多的關(guān)系;類別類與產(chǎn)品類是一對多的關(guān)系;訂單類與產(chǎn)品

56、類是多對多的關(guān)系;會(huì)員類與訂單類是一對多的關(guān)系。從圖3-3可以看出,一個(gè)購物車?yán)锟梢杂卸鄠€(gè)產(chǎn)品,一個(gè)品牌(類別)可以有多個(gè)產(chǎn)品,一個(gè)會(huì)員可以有一個(gè)或多個(gè)訂單,而每個(gè)訂單只會(huì)對應(yīng)一個(gè)會(huì)員,否則就變成一份訂單是多個(gè)會(huì)員所下了,一個(gè)訂單可以有一個(gè)或多個(gè)產(chǎn)品,而購物車類與類別類則沒有直接的聯(lián)系,我們雖然可以說一個(gè)購物車可以有一個(gè)或多個(gè)品牌(類別),即一個(gè)用戶買了一個(gè)品牌所有的手機(jī)。這種情況我們則轉(zhuǎn)化為購物車類與產(chǎn)品類的關(guān)系,畢竟上述這種情況是少

57、見的。</p><p>  3.2.1 User表</p><p>  存放用戶的用戶名、密碼、電話、地址、注冊日期信息。</p><p>  表3-1 User表</p><p>  3.2.2 Product表</p><p>  存放產(chǎn)品的ID、產(chǎn)品名、描述、市場價(jià)、會(huì)員價(jià)、上柜日期信息。</p>

58、<p>  表3-2 Product表</p><p>  3.2.3 Category表</p><p>  存放分類的ID、分類名、描述信息。</p><p>  表3-3 Category表</p><p>  3.2.4 SalesOrder表</p><p>  存放訂單的用戶ID、送貨地址、下單時(shí)

59、間信息。</p><p>  表3-4 Sales Order表</p><p>  3.2.5 SalesItem表</p><p>  存放訂單項(xiàng)的產(chǎn)品ID,單價(jià),數(shù)量信息。</p><p>  表3-5 Sales Item表</p><p><b>  3.3 頁面設(shè)計(jì)</b></p

60、><p><b>  3.3.1 前臺(tái)</b></p><p>  前臺(tái)購物流程:進(jìn)入系統(tǒng)就進(jìn)入到了系統(tǒng)的首頁,普通用戶可以瀏覽商品,也可以登錄進(jìn)入,如果不登錄,選擇加入購物車時(shí)會(huì)提示要登錄。如果登錄了系統(tǒng)就可以購物了,選擇商品類別,選擇需要的商品,然后點(diǎn)我要購買,然后會(huì)出現(xiàn)購物車,點(diǎn)擊確認(rèn)下單就結(jié)束了整個(gè)流程,客戶的下單信息會(huì)保存在每個(gè)會(huì)員的信息里面。</p>

61、;<p><b>  a.首頁</b></p><p><b> ?。?)顯示某類商品</b></p><p> ?。?)根據(jù)id顯示圖片</p><p><b> ?。?)搜索</b></p><p><b> ?。?)注冊</b><

62、/p><p><b>  (5)登錄</b></p><p><b> ?。?)自服務(wù)</b></p><p>  b.搜索界面search.jsp</p><p>  c.搜索結(jié)果searchresult.jsp</p><p><b>  d.注冊</b>

63、;</p><p>  (1)注冊頁面 register.jsp</p><p> ?。?)注冊成功 registerok.jsp</p><p> ?。?)注冊失敗 registererr.jsp</p><p><b>  圖3-4系統(tǒng)流程圖</b></p><p><b>  e.

64、登錄</b></p><p> ?。?)登陸頁面 login.jsp</p><p> ?。?)登錄成功 loginok.jsp</p><p> ?。?)登錄失敗 loginerr.jsp</p><p>  f.自服務(wù) selfservice.jsp</p><p> ?。?)修改密碼 changepa

65、ssword.jsp</p><p> ?。?)修改成功 changepasswordok.jsp</p><p>  (3)修改失敗changepassworderr.jsp</p><p> ?。?)修改其他信息 changeinfo.jsp</p><p> ?。?)修改其他信息成功 changeinfook.jsp</p>

66、<p> ?。?)修改其他信息失敗 changeinfoerr.jsp</p><p><b>  g.購物</b></p><p>  (1)購物車瀏覽 cart.jsp</p><p> ?。?)結(jié)賬buy.jsp</p><p>  3.3.2 后臺(tái)(admin目錄下)</p><

67、p>  進(jìn)入后臺(tái)管理后,首先要通過管理員用戶名和密碼登錄,然后可以進(jìn)行用戶管理,包括用戶的查詢和刪除;產(chǎn)品管理,包括產(chǎn)品的添加查詢;類別管理,包括添加類別,刪除類別,修改類別;訂單管理,包括查看訂單,修改訂單。</p><p><b>  圖3-5后臺(tái)流程圖</b></p><p>  a.登錄頁面 login.jsp</p><p> 

68、 b.首頁 index.jsp</p><p><b> ?。?)用戶管理</b></p><p><b> ?。?)產(chǎn)品管理</b></p><p><b> ?。?)類別管理</b></p><p><b> ?。?)訂單管理</b></p>

69、;<p><b>  c.用戶管理</b></p><p>  (1)顯示用戶userlist.jsp</p><p> ?。?)刪除用戶 userdelete.jsp</p><p> ?。?)搜索用戶 usersearch.jsp</p><p><b>  d.產(chǎn)品管理</b>&

70、lt;/p><p>  (1)產(chǎn)品顯示productlist.jsp</p><p> ?。?)產(chǎn)品添加prodouctadd.jsp</p><p> ?。?)產(chǎn)品更改productchange.jsp</p><p>  (4)產(chǎn)品刪除productdelete.jsp</p><p> ?。?)產(chǎn)品搜索product

71、Search.jsp</p><p><b>  e.類別管理</b></p><p> ?。?)類別顯示categorylist.jsp</p><p> ?。?)類別添加caegoryadd.jsp</p><p> ?。?)類別刪除categorydelete.jsp</p><p> ?。?/p>

72、4)類別修改categorychange.jsp</p><p><b>  f.訂單管理</b></p><p> ?。?)訂單瀏覽 salesorderlist.jsp</p><p> ?。?)訂單處理salesorderdeal.jsp</p><p><b>  第4章 功能實(shí)現(xiàn)</b>

73、</p><p><b>  4.1 數(shù)據(jù)庫連接</b></p><p>  數(shù)據(jù)庫采用的是Mysql數(shù)據(jù)庫,為了方便獲取連接,寫了一個(gè)DB.java的工具類</p><p>  首先導(dǎo)入mysql的jar包,然后加載驅(qū)動(dòng),獲取連接。本getConn()方法返回一個(gè)Connection對象。本類中還包含了executeQuery(),getRe

74、sultSet()還有關(guān)閉數(shù)據(jù)庫連接的close()方法。</p><p>  數(shù)據(jù)庫連接實(shí)現(xiàn)方法:</p><p>  public static Connection getConn() {</p><p>  Connection conn = null;</p><p><b>  try {</b></p

75、><p><b>  //加載數(shù)驅(qū)動(dòng)</b></p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p><b>  //獲得連接</b></p><p>  conn = DriverManager.getConnection

76、("jdbc:mysql://localhost:3306/Shopping", "root","root");</p><p>  } catch (ClassNotFoundException e) {</p><p>  e.printStackTrace();</p><p>  } catch (

77、SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  return conn;</p><p><b>  }</b></p><p><b>  4.2 會(huì)員模

78、塊</b></p><p>  4.2.1 User類</p><p>  類中包含了這些屬性的get,set方法構(gòu)成了javabean。</p><p>  public class User {</p><p>  private int id; //用戶ID</p><p>  private Str

79、ing username; //用戶名</p><p>  private String password; //用戶密碼</p><p>  private String phone; //手機(jī)號(hào)碼</p><p>  private String addr; //送貨地址</p><p>  private Date rdate;// 注

80、冊日期</p><p>  public get…{</p><p><b>  return…;</b></p><p><b>  }</b></p><p>  public set…{</p><p>  this.… = …;</p><p>

81、;<b>  }</b></p><p><b>  }</b></p><p>  4.2.2 用戶模塊后臺(tái)</p><p>  save()方法:無返回類型,無參數(shù),使用User中的屬性作為SQL語句的值進(jìn)行添加用戶,即注冊方法。</p><p>  public void save() {&l

82、t;/p><p>  Connection conn = DB.getConn();</p><p>  String sql = "insert into user values (null, ?, ?, ?, ?, ?)";</p><p>  PreparedStatement pstmt = DB.prepare(conn, sql);<

83、;/p><p><b>  try {</b></p><p>  pstmt.setString(1, username);</p><p>  pstmt.setString(2, password);</p><p>  pstmt.setString(3, phone);</p><p>  

84、pstmt.setString(4, addr);</p><p>  pstmt.setTimestamp(5, new Timestamp(rdate.getTime()));</p><p>  pstmt.executeUpdate();</p><p>  } catch (SQLException e) {</p><p>  e

85、.printStackTrace();</p><p>  } finally {</p><p>  DB.close(pstmt);</p><p>  DB.close(conn);</p><p><b>  }</b></p><p><b>  }</b><

86、/p><p><b>  實(shí)現(xiàn)效果如下:</b></p><p><b>  圖4-1 用戶信息</b></p><p>  getUsers()方法:無參數(shù),返回List<User>的列表,從數(shù)據(jù)庫中取出表中數(shù)據(jù),封裝成User類,放進(jìn)一個(gè)List集合中返回。此外,getUsers()有個(gè)重載方法,作用是為返回的

87、用戶信息進(jìn)行分頁顯示處理,參數(shù)有3個(gè)(List<user> user,int pageNo,int pageSize),pageNo是第幾頁,pageSize是每頁顯示多少條記錄。</p><p>  public static List<User> getUsers() {</p><p>  List<User> users = new ArrayL

88、ist<User>();</p><p>  Connection conn = DB.getConn();</p><p>  String sql = "select * from user";</p><p>  Statement stmt = DB.getStatement(conn);</p><p&g

89、t;  ResultSet rs = DB.getResultSet(stmt, sql);</p><p><b>  try {</b></p><p>  while (rs.next()) {</p><p>  User u = new User();</p><p>  u.setId(rs.getInt(&

90、quot;id"));</p><p>  u.setUsername(rs.getString("username"));</p><p>  u.setPassword(rs.getString("password"));</p><p>  u.setPhone(rs.getString("phone

91、"));</p><p>  u.setAddr(rs.getString("addr"));</p><p>  u.setRdate(rs.getTimestamp("rdate"));</p><p>  users.add(u);</p><p><b>  }</b&

92、gt;</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  DB.close(rs);</p><p>  DB.close(stmt);</p><p

93、>  DB.close(conn);</p><p><b>  }</b></p><p>  return users;</p><p><b>  }</b></p><p><b>  實(shí)現(xiàn)效果如下:</b></p><p><b&g

94、t;  圖4-2 用戶列表</b></p><p>  check(String username,String password)方法,第一個(gè)參數(shù)是用戶名,第二個(gè)參數(shù)是密碼,返回的是一個(gè)User對象。首先會(huì)在數(shù)據(jù)庫中根據(jù) username進(jìn)行查找,如果找到,則對密碼進(jìn)行對比,如果密碼也正確,就返回一個(gè)user對象。如果用戶名不正確,則拋出UserNotFindException異常,如果密碼匹配不對

95、,則會(huì)拋出一個(gè)異常 PasswordNotCorrectExceotion異常。</p><p>  public static User check(String username, String password)</p><p>  throws UserNotFoundException, PasswordNotCorrectException {</p><p

96、>  User u = null;</p><p>  Connection conn = DB.getConn();</p><p>  String sql = "select * from user where username = '" + username + "'";</p><p>  St

97、atement stmt = DB.getStatement(conn);</p><p>  ResultSet rs = DB.getResultSet(stmt, sql);</p><p><b>  try {</b></p><p>  if(!rs.next()) {</p><p>  throw new

98、 UserNotFoundException("用戶不存在:" + username);</p><p><b>  } else {</b></p><p>  if(!password.equals(rs.getString("password"))) {</p><p>  throw new Pa

99、sswordNotCorrectException("密碼不正確哦!");</p><p><b>  }</b></p><p>  u = new User();</p><p>  u.setId(rs.getInt("id"));</p><p>  u.setUserna

100、me(rs.getString("username"));</p><p>  u.setPassword(rs.getString("password"));</p><p>  u.setPhone(rs.getString("phone"));</p><p>  u.setAddr(rs.getSt

101、ring("addr"));</p><p>  u.setRdate(rs.getTimestamp("rdate"));</p><p><b>  }</b></p><p>  } catch (SQLException e) {</p><p>  e.printStac

102、kTrace();</p><p>  } finally {</p><p>  DB.close(rs);</p><p>  DB.close(stmt);</p><p>  DB.close(conn);</p><p><b>  }</b></p><p>&

103、lt;b>  return u;</b></p><p><b>  }</b></p><p>  buy(Cart c)方法:參數(shù)是Cart對象,本方法的具體實(shí)現(xiàn)方法如下;</p><p>  public int buy(Cart c) {</p><p>  SalesOrder so = ne

104、w SalesOrder();//創(chuàng)建一個(gè)SalesOrder對象</p><p>  so.setUser(this);//為SalesOrder對象賦值</p><p>  so.setAddr(this.getAddr());</p><p>  so.setStatus(0);</p><p>  so.setODate(new Da

105、te());</p><p>  List<SalesItem> salesItems = new ArrayList<SalesItem>();</p><p>  List<CartItem> cartItems = c.getItems();//獲取購物車的列表</p><p>  for(int i=0; i<car

106、tItems.size(); i++) {//遍歷列表中的內(nèi)容,并且加到訂單中</p><p>  SalesItem si = new SalesItem();</p><p>  CartItem ci = cartItems.get(i);</p><p>  si.setProduct(ci.getProduct());</p><p&g

107、t;  si.setCount(ci.getCount());</p><p>  si.setUnitPrice(ci.getProduct().getMemberPrice());</p><p>  salesItems.add(si);</p><p><b>  }</b></p><p>  so.setIt

108、ems(salesItems);</p><p>  return OrderMgr.getInstance().add(so); //調(diào)用訂單類中的方法,返回影響了多少行記錄數(shù)</p><p><b>  }</b></p><p><b>  實(shí)現(xiàn)效果如下:</b></p><p><b&

109、gt;  圖4-3 用戶下單</b></p><p>  4.2.3 會(huì)員模塊前臺(tái)</p><p>  會(huì)員登錄:login.jsp。 在login.jsp中,首先從頁面中獲得username和password,然后作為參數(shù)來調(diào)用User中的check()方法,如果沒有捕獲UsernameNotFindException和PasswordNotCorrectExceotion異

110、常,則表示登錄成功,同時(shí)得到一個(gè)session。核心代碼如下:</p><p>  String username = request.getParameter("username");</p><p>  String password = request.getParameter("password");</p><p>

111、<b>  try {</b></p><p>  User u = User.check(username, password);</p><p>  session.setAttribute("user", u);</p><p>  } catch (UserNotFoundException e) {</p&g

112、t;<p>  out.println(e.getMessage());</p><p><b>  return;</b></p><p>  } catch (PasswordNotCorrectException e) {</p><p>  out.println(e.getMessage());</p>&

113、lt;p><b>  return;</b></p><p><b>  }</b></p><p>  String path = request.getContextPath();</p><p>  String basePath = request.getScheme()+"://"+re

114、quest.getServerName()+":"+request.getServerPort()+path+"/";</p><p><b>  實(shí)現(xiàn)效果如下:</b></p><p>  圖4-4 用戶注冊及登錄</p><p>  會(huì)員注冊:Register.jsp,取得頁面中表單的內(nèi)容,如果表單內(nèi)

115、容不為空,則將表單中的值通過set方法傳到一個(gè)User對象中,然后調(diào)用User類中的save()方法。</p><p><b>  注冊核心代碼如下:</b></p><p>  request.setCharacterEncoding("GBK");</p><p>  String action = request.ge

116、tParameter("action");</p><p>  if(action != null && action.trim().equals("register")) {</p><p>  String username = request.getParameter("username");</p&g

117、t;<p>  String password = request.getParameter("password");</p><p>  //String password2 = request.getParameter("password2");</p><p>  String phone = request.getParamet

118、er("phone");</p><p>  String addr = request.getParameter("addr");</p><p>  User u = new User();</p><p>  u.setUsername(username);</p><p>  u.setPass

119、word(password);</p><p>  u.setPhone(phone);</p><p>  u.setAddr(addr);</p><p>  u.setRdate(new Date());</p><p><b>  u.save();</b></p><p>  out.p

120、rintln("注冊成功!恭喜!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  實(shí)現(xiàn)效果如下:</b></p><p>  圖4-5 用戶信息添加</p><

121、p><b>  4.3 產(chǎn)品模塊</b></p><p>  4.3.1 Product類JavaBean的封裝</p><p>  Product對象屬性如下,類中包含了這些屬性的get,set方法構(gòu)成了JavaBean。</p><p>  public class Product {</p><p>  pr

122、ivate int id;//產(chǎn)品ID</p><p>  private String name;//產(chǎn)品名</p><p>  private String descr;//產(chǎn)品描述</p><p>  private double normalPrice;//市場價(jià)格</p><p>  private double memberPri

123、ce;//會(huì)員價(jià)格</p><p>  private Date pdate;//上架日期</p><p>  private int categoryId;//引用類別</p><p>  private Category category;//類別</p><p>  public int get…() {</p><

124、p><b>  return …;</b></p><p><b>  }</b></p><p>  public void set…(…) {</p><p>  this…. = …;</p><p><b>  }</b></p><p>

125、<b>  }</b></p><p>  4.3.2 產(chǎn)品類接口設(shè)計(jì)</p><p>  ProductDao層接口定義如下:</p><p>  public interface ProductDAO {</p><p>  public List<Product> getProducts();//獲取商

126、品列表</p><p>  public int getProducts(List<Product> products, int pageNo, int pageSize, boolean lazy); //獲取商品列表,分頁顯示</p><p>  public void add(Product p); //添加商品</p><p>  public

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論