[優(yōu)秀畢業(yè)設(shè)計(jì)精品] 網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩73頁(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>  畢 業(yè) 設(shè) 計(jì)</b></p><p>  題  目:  網(wǎng)上商城系統(tǒng)</p><p>  院、 系: </p><p>  姓  名: </p><p>  指導(dǎo)教師: </p><p> 

2、 系主任: </p><p>  2010年06月20日</p><p>  畢業(yè)設(shè)計(jì)(論文)評(píng)語(yǔ)</p><p>  畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p><b>  網(wǎng)上商城系統(tǒng)</b></p><p><b>  摘 要</b></p>

3、;<p>  目前,人們的購(gòu)物方式已經(jīng)變得多種多樣,在現(xiàn)實(shí)中的商場(chǎng)、超市、各種店鋪,還有就是在網(wǎng)上購(gòu)物。網(wǎng)絡(luò)購(gòu)物作為一種新的購(gòu)物形式被廣大群眾所接受,尤其是年輕群體。它最大的優(yōu)勢(shì)就是比現(xiàn)實(shí)中商場(chǎng)里的商品要便宜,而且一般都是送貨上門,因?yàn)榫W(wǎng)購(gòu)一般都是采取快遞送貨方式,購(gòu)物也因此變得很便利,用戶只要坐在電腦前,點(diǎn)點(diǎn)鼠標(biāo)就可以買東西了。當(dāng)然網(wǎng)購(gòu)也有它的缺點(diǎn),比如無(wú)法見(jiàn)到實(shí)物,只能通過(guò)商家介紹的文字和圖片來(lái)了解商品,比如買衣服無(wú)法

4、試穿,而且這也為不良商家提供了忽悠消費(fèi)者的方法,他們會(huì)盡力美化自己的商品來(lái)誘惑消費(fèi)者買單,而消費(fèi)者收到商品后才發(fā)現(xiàn)和想象中的差異很大,而商家又以各種各樣的理由推脫,而且由于采用網(wǎng)上交易,所以會(huì)存在安全問(wèn)題。但是這些都不能擋住網(wǎng)購(gòu)的魅力,網(wǎng)上購(gòu)物現(xiàn)在正變得越來(lái)越流行,市場(chǎng)份額也變得越來(lái)越大。因此本文以目前現(xiàn)有的網(wǎng)上商城系統(tǒng)為研究對(duì)象,例如淘寶和當(dāng)當(dāng),這里主要研究后者的形式,也就是商城自己經(jīng)營(yíng)的方式,研究其各個(gè)功能模塊及其組合、連接方式,并

5、分析其具體的實(shí)現(xiàn)方式,最后使用Java加web服務(wù)器和數(shù)據(jù)庫(kù)完成一個(gè)網(wǎng)上商城系統(tǒng)的主要功能模塊。</p><p>  關(guān)鍵詞 網(wǎng)上商城;Java;Web開發(fā)</p><p>  Online Shopping Mall System</p><p><b>  Abstract</b></p><p>  At pr

6、esent, people's shopping patterns have become diverse, in reality shopping malls, supermarkets, various shops, and the online shopping.Online shopping as a new form of shopping has been accepted by the masses, especi

7、ally in younger age groups.It's biggest advantage is cheaper than the market's goods, and generally they are delivered to your door, because online shopping is generally taken by courier delivery, shopping has be

8、come very conveniently, you just sit in front of computer and click</p><p>  Keywords Online Shopping Mall; Java; Web Development</p><p><b>  目 錄</b></p><p><b>

9、  摘要……I</b></p><p>  AbstractII</p><p>  第1章 緒論及網(wǎng)上商城簡(jiǎn)介1</p><p>  1.1 選題目的和意義1</p><p>  1.2 論文研究?jī)?nèi)容1</p><p>  1.3 什么是網(wǎng)上商城2</p><p>  

10、1.4 網(wǎng)上商城的分類3</p><p>  1.5 本章小結(jié)3</p><p>  第2章 網(wǎng)上商城系統(tǒng)的需求分析4</p><p>  2.1 網(wǎng)上商城業(yè)務(wù)流程分析4</p><p>  2.1.1 作為一名消費(fèi)者的使用流程4</p><p>  2.1.2 作為一名商城管理員的使用流程5</p&

11、gt;<p>  2.1.3 小結(jié)5</p><p>  2.2 網(wǎng)上商城模塊分析5</p><p>  2.2.1 用戶模塊分析6</p><p>  2.2.2 管理員模塊分析6</p><p>  2.2.3 小結(jié)7</p><p>  2.3 本章小結(jié)7</p><

12、p>  第3章 網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)8</p><p>  3.1 開發(fā)語(yǔ)言和工具介紹8</p><p>  3.1.1 開發(fā)語(yǔ)言介紹8</p><p>  3.1.1.1 Java簡(jiǎn)介8</p><p>  3.1.1.2 HTLM簡(jiǎn)介8</p><p>  3.1.1.3 JavaScript簡(jiǎn)

13、介8</p><p>  3.1.1.4 AJAX簡(jiǎn)介9</p><p>  3.1.1.5 JSP/Servlet簡(jiǎn)介9</p><p>  3.1.2 數(shù)據(jù)庫(kù)介紹9</p><p>  3.1.3 服務(wù)器介紹9</p><p>  3.1.4 開發(fā)工具介紹10</p><p> 

14、 3.1.4.1 MyEclipse介紹10</p><p>  3.1.4.2 Dreamweaver介紹10</p><p>  3.2 業(yè)務(wù)邏輯設(shè)計(jì)10</p><p>  3.2.1 基礎(chǔ)共用類和相應(yīng)方法10</p><p>  3.2.1.1 DB類10</p><p>  3.2.1.2 系統(tǒng)基礎(chǔ)

15、配置11</p><p>  3.2.1.3 JdbcConfig類11</p><p>  3.2.1.4 XmlConfigReader類11</p><p>  3.2.1.5 PageModel類13</p><p>  3.2.1.6 CharsetEncodingFilter類13</p><p>

16、;  3.2.2 用戶實(shí)體類和相應(yīng)方法14</p><p>  3.2.2.1 User類14</p><p>  3.2.2.2 UserManager類15</p><p>  3.2.3 管理員實(shí)體類和相應(yīng)方法15</p><p>  3.2.3.1 Admin類15</p><p>  3.2.3.2

17、 AdminManager類16</p><p>  3.2.4 商品類別類和相應(yīng)方法16</p><p>  3.2.4.1 Category實(shí)體類16</p><p>  3.2.4.2 CategoryManger管理類16</p><p>  3.2.4.3 CategoryTreeReader類17</p>

18、<p>  3.2.5 商品類及其相應(yīng)管理方法17</p><p>  3.2.5.1 Product實(shí)體類17</p><p>  3.2.5.2 ProductManager管理類18</p><p>  3.2.5.3 FileUploadServlet18</p><p>  3.2.6 購(gòu)物車類及其方法18<

19、;/p><p>  3.2.6.1 ShoppingCart實(shí)體類19</p><p>  3.2.6.2 CartItem類19</p><p>  3.2.6.3 ShoppingCartManager管理類19</p><p>  3.2.7 訂單類及其方法20</p><p>  3.2.7.1 Order

20、訂單實(shí)體類20</p><p>  3.2.7.2 OrderItem類20</p><p>  3.2.7.3 OrderManager管理類21</p><p>  3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)21</p><p>  3.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)簡(jiǎn)要介紹21</p><p>  3.3.2 數(shù)據(jù)庫(kù)具體設(shè)計(jì)22<

21、/p><p>  3.3.2.1 user表22</p><p>  3.3.2.2 admin表22</p><p>  3.3.2.3 category表23</p><p>  3.3.2.4 product表23</p><p>  3.3.2.5 salesorder表23</p><

22、;p>  3.3.2.6 salesitem表24</p><p>  3.4 本章小結(jié)24</p><p>  第4章 系統(tǒng)的測(cè)試和分析25</p><p>  4.1 V0.1版本25</p><p>  4.2 V0.2版本28</p><p>  4.3 V0.3版本30</p>

23、<p>  4.4 V0.4版本33</p><p>  4.5 V0.5版本34</p><p>  4.6 V0.6版本35</p><p>  4.7 V0.7版本37</p><p>  4.8 V0.8版本40</p><p>  4.9 V0.9版本43</p><

24、;p>  4.10 V1.0版本44</p><p>  4.11 本章小結(jié)52</p><p><b>  結(jié) 論53</b></p><p><b>  致 謝54</b></p><p><b>  參考文獻(xiàn)55</b></p>&l

25、t;p><b>  附 錄56</b></p><p><b>  緒論及網(wǎng)上商城簡(jiǎn)介</b></p><p><b>  選題目的和意義</b></p><p>  對(duì)于網(wǎng)上商城來(lái)說(shuō),我想每個(gè)人都不陌生,即使你沒(méi)有親自在網(wǎng)上買過(guò)東西也一定見(jiàn)過(guò)、聽說(shuō)過(guò)網(wǎng)上購(gòu)物這種方式。網(wǎng)絡(luò)購(gòu)物作為一種新的

26、購(gòu)物形式已經(jīng)被廣大群眾所接受,尤其是年輕群體,他們特別熱衷于網(wǎng)購(gòu)。</p><p>  網(wǎng)購(gòu)最大的優(yōu)勢(shì)就是東西要比現(xiàn)實(shí)中商場(chǎng)里的商品便宜,而且一般都是送貨上門,因?yàn)榫W(wǎng)購(gòu)一般都是采取快遞送貨方式,直接送到你家樓下或者公司里,因此網(wǎng)絡(luò)購(gòu)物的第二大優(yōu)勢(shì)就是其便利性,用戶只要坐在電腦前,點(diǎn)點(diǎn)鼠標(biāo)就可以買東西了。當(dāng)然網(wǎng)購(gòu)也有它的缺點(diǎn),比如無(wú)法見(jiàn)到實(shí)物,只能通過(guò)商家介紹的文字和圖片來(lái)了解商品,再比如買衣服無(wú)法試穿,而且這也為

27、不良商家提供了忽悠消費(fèi)者的方法,他們會(huì)盡力美化自己的商品來(lái)誘惑消費(fèi)者買單,而消費(fèi)者收到商品后才發(fā)現(xiàn)和想象中的差異很大,而商家又以各種各樣的理由推脫,而且由于采用網(wǎng)上交易,所以會(huì)存在安全問(wèn)題。但是這些都不能擋住網(wǎng)購(gòu)的魅力,網(wǎng)上購(gòu)物現(xiàn)在正變得越來(lái)越流行,市場(chǎng)份額也變得越來(lái)越大。因此這次畢業(yè)設(shè)計(jì)題目就以目前現(xiàn)有的網(wǎng)上商城系統(tǒng)為研究對(duì)象,例如淘寶和當(dāng)當(dāng),這里主要研究后者的形式,也就是商城自己經(jīng)營(yíng)的方式,研究一般的網(wǎng)上商城的業(yè)務(wù)流程,猜測(cè)其各個(gè)功

28、能模塊及其組合、連接方式,并分析其具體的實(shí)現(xiàn)方式,最后使用Java加web服務(wù)器和數(shù)據(jù)庫(kù)完成一個(gè)網(wǎng)上商城系統(tǒng)的主要功能模塊。</p><p>  通過(guò)這樣一個(gè)畢業(yè)設(shè)計(jì),可以提高自己Java編程的水準(zhǔn),也練習(xí)了怎樣構(gòu)建一個(gè)完整的系統(tǒng),從系統(tǒng)的需求分析到設(shè)計(jì),直至編碼、測(cè)試并運(yùn)行,熟悉并掌握一個(gè)完整的Web開發(fā)流程,為今后工作打下基礎(chǔ)。</p><p><b>  論文研究?jī)?nèi)容<

29、;/b></p><p>  網(wǎng)上商城是一個(gè)基于Internet的應(yīng)用,屬于B/S架構(gòu),前端就是一個(gè)客戶瀏覽器,客戶需要通過(guò)瀏覽器來(lái)訪問(wèn)服務(wù)器,因此,本文主要研究的就是一個(gè)網(wǎng)上商城系統(tǒng)(商城自負(fù)經(jīng)營(yíng)的類型)的業(yè)務(wù)流程及其實(shí)現(xiàn)方式。</p><p>  首先,需要站在使用者的角度去思考你究竟會(huì)怎么使用這個(gè)系統(tǒng),而一個(gè)網(wǎng)上商城的使用者一般又有兩類,一類是普通消費(fèi)者,而另一類則是商城的管理

30、員,因此我就需要思考這兩類人都會(huì)怎么來(lái)是使用這個(gè)系統(tǒng),這樣就能分析出網(wǎng)上商城系統(tǒng)的業(yè)務(wù)流程。</p><p>  而實(shí)現(xiàn)這個(gè)業(yè)務(wù)流程可以采用很多種不同的方法,很明顯,網(wǎng)上商城系統(tǒng)是一個(gè)基于Internet的應(yīng)用,因此就需要使用到Web開發(fā)的方法,目前Web開發(fā)的方法有很多,流行的有Java和.Net,這里我選擇了Java,因此我就需要研究如果采用Java作為編程語(yǔ)言,我應(yīng)當(dāng)如何來(lái)實(shí)現(xiàn)這個(gè)系統(tǒng),這個(gè)系統(tǒng)應(yīng)該劃分為多

31、少個(gè)模塊,每個(gè)模塊的功能又是什么,他們之間如何組合到一起,這也就是系統(tǒng)的設(shè)計(jì)。</p><p>  而到了實(shí)際的代碼開發(fā)階段,也會(huì)碰到一些各種各樣的問(wèn)題,這也需要思考并解決。因此,本文的研究?jī)?nèi)容囊括了系統(tǒng)的分析、設(shè)計(jì)和編碼,是在研究一個(gè)完整的Web開發(fā)流程。</p><p><b>  什么是網(wǎng)上商城 </b></p><p>  為了正確的開

32、發(fā)一個(gè)系統(tǒng),你首先就需要全面的了解一個(gè)系統(tǒng),它究竟是個(gè)什么東西,它為什么要這個(gè)樣子,因此在這里就介紹什么是網(wǎng)上商城。</p><p>  網(wǎng)上商城類似于現(xiàn)實(shí)世界當(dāng)中的商店,差別是利用電子商務(wù)的各種手段,達(dá)成從買到賣的過(guò)程的虛擬商店,從而減少中間環(huán)節(jié),消除運(yùn)輸成本和代理中間的差價(jià),造就對(duì)普通消費(fèi),和加大市場(chǎng)流通帶來(lái)巨大的發(fā)展空間。盡能的還消費(fèi)者以利益,帶動(dòng)公司發(fā)展和企業(yè)騰飛,引導(dǎo)國(guó)民經(jīng)濟(jì)穩(wěn)定快速發(fā)展,推動(dòng)國(guó)內(nèi)生產(chǎn)總

33、值。[1]</p><p>  網(wǎng)上商城的出現(xiàn)一是因?yàn)榧夹g(shù)的進(jìn)步,Internet愈發(fā)發(fā)達(dá),現(xiàn)在全世界都在使用Internet,而基于Internet的應(yīng)用也越來(lái)越多;再就是人們思維方式的轉(zhuǎn)變,不再拘泥于現(xiàn)實(shí)中的世界,喜歡暢游在虛擬的世界中,在網(wǎng)上交友,聊天,因此在網(wǎng)上購(gòu)物也就誕生了,到了今天網(wǎng)上購(gòu)物也變得越來(lái)越流行,市場(chǎng)份額也逐漸擴(kuò)大。網(wǎng)上商城是在為個(gè)人用戶和企業(yè)用戶提供人性化的全方位服務(wù),努力為用戶創(chuàng)造親切、

34、輕松和愉悅的購(gòu)物環(huán)境,不斷豐富產(chǎn)品結(jié)構(gòu),最大化地滿足消費(fèi)者日趨多樣的購(gòu)物需求,并憑借更具競(jìng)爭(zhēng)力的價(jià)格和逐漸完善的物流配送體系等各項(xiàng)優(yōu)勢(shì),贏得市場(chǎng)占有率多年穩(wěn)居行業(yè)首位的驕人成績(jī),也是時(shí)代發(fā)展的趨勢(shì)。</p><p>  當(dāng)然,一種事物的出現(xiàn)必然伴隨著它的兩面性,它有它的優(yōu)點(diǎn),也有缺點(diǎn),而網(wǎng)上商城的優(yōu)點(diǎn)就是便宜,再就是便利性。在網(wǎng)上買東西一般都會(huì)比現(xiàn)實(shí)中的便宜一些,因此就吸引了很多的消費(fèi)者購(gòu)買;再者,網(wǎng)購(gòu)一般都是快

35、遞送貨,直接送到家門口或者公司里,這就使許多不愿意或者懶得逛街的人們提供了方便,坐在電腦前,只要點(diǎn)點(diǎn)鼠標(biāo)就能買東西。而網(wǎng)上商城的缺點(diǎn)也是顯而易見(jiàn)的,最大的缺點(diǎn)就是你無(wú)法見(jiàn)到實(shí)物,你對(duì)商品的了解僅能通過(guò)商家的文字和圖片介紹,因此,在網(wǎng)上買的東西拿回來(lái)之后就有可能發(fā)現(xiàn)與想象中的相差很大,尤其是衣服,你無(wú)法試穿,買回來(lái)可能就不合適,其顏色、質(zhì)地也可能有較大出入,而商家通常拒絕更換和退掉因?yàn)轭伾唾|(zhì)地與想象不同的東西,而且網(wǎng)上還有很多假貨,看上

36、去很便宜,但是買回來(lái)卻發(fā)現(xiàn)上當(dāng)受騙;再就是網(wǎng)上交易存在風(fēng)險(xiǎn),你的銀行賬號(hào)和密碼有可能被不法分子盜取,你的個(gè)人信息也可能泄露,給你的工作和生活帶來(lái)不便,因此網(wǎng)購(gòu)時(shí)要注意保護(hù)你的密碼和個(gè)人信息。</p><p><b>  網(wǎng)上商城的分類</b></p><p>  網(wǎng)上商城主要有三大類: B2B(Business To Business, 商家對(duì)商家)、B2C(Busi

37、ness To Customer,商家對(duì)顧客直銷)和C2C(Customer to Customer,客戶和客戶),還有就是G2C(Government to Citizen)其功能不盡相同。</p><p>  B2B的典型代表有阿里巴巴,中國(guó)制造網(wǎng),主要是從事批發(fā)業(yè)務(wù);B2C的典型代表有當(dāng)當(dāng)網(wǎng),卓越,八點(diǎn)商城,問(wèn)學(xué)商城,主要是從事零售業(yè)務(wù);C2C的典型代表有淘寶、易趣、拍拍、百度有啊。G2C:G2C電子政務(wù)是

38、指政(Government)與公眾(Citizen)之間的電子政務(wù)。是政府通過(guò)電子網(wǎng)絡(luò)系統(tǒng)為公民提供各種服務(wù)。G2C電子政務(wù)所包含的內(nèi)容十分廣泛,主要的應(yīng)用包括:公眾信息服務(wù)、電子身份認(rèn)證、電子稅務(wù)、電子社會(huì)保障服務(wù)、電子民主管理、電子醫(yī)療服務(wù)、電子就業(yè)服務(wù)、電子教育、培訓(xùn)服務(wù)、電子交通管理等。G2C電子政務(wù)的目的是除了政府給公眾提供方便、快捷、高質(zhì)量的服務(wù)外,更重要的是可以開辟公眾參政、議政的渠道,暢通公眾的利益表達(dá)機(jī)制,建立政府與公

39、眾的良性互動(dòng)平臺(tái)。而在這里,主要研究的是B2C(Business To Customer,商家對(duì)顧客直銷)方式。</p><p><b>  本章小結(jié)</b></p><p>  本章主要介紹了什么是網(wǎng)上商城以及網(wǎng)上商城的分類,各個(gè)分類的模式。</p><p>  網(wǎng)上商城系統(tǒng)的需求分析</p><p>  網(wǎng)上商城業(yè)務(wù)

40、流程分析</p><p>  開發(fā)一個(gè)項(xiàng)目,不管你采用什么實(shí)現(xiàn)方式,其實(shí)都是在完成其業(yè)務(wù)流程,因此,將一個(gè)系統(tǒng)的業(yè)務(wù)流程分析清楚,將為后面的開發(fā)提供極大的便利。由于本文選擇了B2C(Business To Customer,商家對(duì)顧客直銷)模式,所以之后的分析或討論均是針對(duì)此種模式。</p><p>  如何對(duì)一個(gè)系統(tǒng)進(jìn)行分析有很多的方法,這里我采用了站在具體的使用者的角度來(lái)考慮這個(gè)網(wǎng)上商

41、城系統(tǒng)的功能和結(jié)構(gòu),先是粗略的分析一下使用的流程,在這個(gè)過(guò)程中就能夠發(fā)現(xiàn)一些必須的基礎(chǔ)的類。</p><p>  作為一名消費(fèi)者的使用流程</p><p>  如果一個(gè)消費(fèi)者第一次來(lái)到一個(gè)網(wǎng)絡(luò)商城,他一般會(huì)先瀏覽瀏覽商品,看看他是否喜歡這個(gè)商城,因此,目前的網(wǎng)上商城大多在首頁(yè)就會(huì)顯示商品,用戶也不需要登錄就可以查看。</p><p>  接下來(lái)如果他對(duì)這個(gè)商城感興趣

42、,那消費(fèi)者一般會(huì)注冊(cè)一個(gè)賬號(hào),以便以后使用,那么商城就需要提供用戶注冊(cè)功能;既然提供了注冊(cè)功能就需要提供登錄功能,用戶登錄之后應(yīng)當(dāng)顯示這個(gè)用戶。</p><p>  用戶登錄之后就會(huì)擁有一定的權(quán)限,比如查看自己的個(gè)人信息,修改自己的個(gè)人信息,修改自己的密碼等,當(dāng)然登錄用戶也可以查看商品,最重要的,登錄用戶可以選擇商品放入自己的購(gòu)物車并下單結(jié)賬。還可以查看自己所下的訂單。</p><p> 

43、 因此從上面的分析,我們大致可以分析出來(lái)有這么幾個(gè)實(shí)體類來(lái)支撐這些操作,首先,如果要瀏覽商品,那么商品這個(gè)東西需要包裝成一個(gè)實(shí)體類,才能在系統(tǒng)中向用戶展示;再者用戶注冊(cè)會(huì)員,那么會(huì)員就又應(yīng)該是一個(gè)實(shí)體類,你得在這個(gè)實(shí)體類里記錄注冊(cè)會(huì)員的一些信息啊,什么用戶名啊、密碼啥的;再者,用戶選擇了商品放入了購(gòu)物車,那么購(gòu)物車就又是一個(gè)實(shí)體類,它應(yīng)當(dāng)負(fù)責(zé)記錄用戶買了什么東西,也就是記錄用戶拿的哪些個(gè)商品;最后會(huì)員買完?yáng)|西后給商城下了訂單,那么這個(gè)訂

44、單也需要包裝成一個(gè)實(shí)體類,上面需要記錄一些信息,最主要的信息應(yīng)當(dāng)有:誰(shuí)下了這個(gè)訂單?買了什么東西?多少錢?其它的諸如什么時(shí)候下的也可以記錄。</p><p>  作為一名商城管理員的使用流程</p><p>  管理員首先要登錄才能擁有操作,商城管理員應(yīng)當(dāng)能管理商城注冊(cè)的會(huì)員:可以查看商城的注冊(cè)會(huì)員,并且可以修改某個(gè)會(huì)員的信息,還可以刪除會(huì)員。</p><p>  

45、商城管理員應(yīng)當(dāng)能管理商品,和商品的類別:可以查看商品類別,添加、修改和刪除商品的類別;可以查看商品,添加、修改和刪除商品。</p><p>  商城管理員可以管理會(huì)員所下的訂單:查看訂單和處理訂單。</p><p>  管理員也可以修改自己的密碼。</p><p>  從管理員的操作,我們也可以得到這么幾個(gè)實(shí)體類。第一,管理員,既然有管理員那么就必須有一個(gè)類來(lái)記錄這

46、些東西;第二,這里提到了商品的類別,那么這個(gè)也應(yīng)當(dāng)包裝成一個(gè)類,而且這個(gè)類應(yīng)當(dāng)和商品類有一定的關(guān)聯(lián)。</p><p><b>  小結(jié)</b></p><p>  因此,從前面兩個(gè)站在不同角度來(lái)分析使用流程來(lái)看,我從中提取出了一些個(gè)名詞,這寫個(gè)名詞也就成為了一些基礎(chǔ)的實(shí)體類,目前分析的出來(lái)的有,用戶類、管理員類、商品類別類、商品類、購(gòu)物車類、訂單類。</p>

47、;<p>  這些個(gè)類都是明顯的,但是還有一些類可能不能這樣直接的通過(guò)找名詞來(lái)得出來(lái),但是可以分析這個(gè)過(guò)程,來(lái)將其推算出來(lái)。商城肯定是要用數(shù)據(jù)庫(kù)的,那么對(duì)數(shù)據(jù)庫(kù)的通用操作通常也會(huì)封裝成為一個(gè)JDBC的類。隨著分析的不斷深入,還會(huì)有一些類不斷地冒出來(lái)。這里我想采用的是實(shí)體類只是純純的實(shí)體類,只是包裝一些屬性,有一些簡(jiǎn)單的讀取和設(shè)置方法,再專門寫一個(gè)管理類來(lái)提供一些和這個(gè)實(shí)體類相關(guān)的一些業(yè)務(wù)所需的操作,那么這里就又得到了一些類

48、:用戶管理類、管理員管理類、商品類別管理類、商品管理類、購(gòu)物車管理類和訂單管理類。</p><p>  當(dāng)然這肯定不是全部,隨著分析設(shè)計(jì)的深入,還會(huì)有一些類添加進(jìn)來(lái),就算進(jìn)入到實(shí)際開發(fā)階段,還有可能突然覺(jué)得需要再加入某個(gè)類。</p><p><b>  網(wǎng)上商城模塊分析</b></p><p>  現(xiàn)在我再?gòu)牧硪粋€(gè)方面著手,來(lái)分析這個(gè)網(wǎng)上商城系

49、統(tǒng)。那就是按照功能劃分模塊的分析方法?;旧厦總€(gè)系統(tǒng)基本上會(huì)劃分為若干個(gè)不同的模塊,以方便管理和維護(hù)。因此,在這里我也把我的這個(gè)網(wǎng)上商城系統(tǒng)按照功能劃分為兩大模塊,管理員模塊和用戶模塊,這兩個(gè)模塊又可以劃分為若干個(gè)子模塊。</p><p><b>  用戶模塊分析</b></p><p>  用戶模塊是為商城的前臺(tái)展示所設(shè)計(jì)的,用戶模塊又可以大致劃分為一下子模塊:&l

50、t;/p><p><b>  用戶注冊(cè)模塊</b></p><p><b>  用戶登錄模塊</b></p><p><b>  用戶信息修改模塊</b></p><p><b>  修改用戶密碼模塊</b></p><p><b

51、>  商品展示模塊</b></p><p><b>  購(gòu)物車模塊</b></p><p><b>  查看以往訂單模塊</b></p><p>  用戶注冊(cè)模塊負(fù)責(zé)新會(huì)員注冊(cè),并將其持久化,也就是將新注冊(cè)的會(huì)員的信息寫入數(shù)據(jù)庫(kù)。登錄模塊負(fù)責(zé)驗(yàn)證會(huì)員的登錄,看看有沒(méi)有這個(gè)用戶,密碼是否正確等,這種操作通常

52、都是從數(shù)據(jù)庫(kù)查詢。用戶信息修改模塊可以讓用戶修改自己的個(gè)人信息,這就涉及到了數(shù)據(jù)庫(kù)的修改。修改用戶密碼模塊讓用戶修改自己的密碼。商品展示模塊應(yīng)當(dāng)是從數(shù)據(jù)庫(kù)中將商品拿出來(lái),然后再以某種方式顯示的網(wǎng)頁(yè)上。購(gòu)物車模塊就是收集和記錄用戶所購(gòu)買的商品,購(gòu)物車最后要么被直接銷毀,要么會(huì)轉(zhuǎn)化為訂單,然后被銷毀。查看以往訂單模塊使用戶能查看自己所下的訂單。因此數(shù)據(jù)庫(kù)的操作始終貫穿在整個(gè)系統(tǒng)里面,幾乎所有的地方都涉及到了數(shù)據(jù)庫(kù)的操作。</p>

53、<p><b>  管理員模塊分析</b></p><p>  管理員模塊是為管理員管理商城事物所設(shè)計(jì)的,管理員模塊又可以初步劃分為以下子模塊:</p><p><b>  會(huì)員管理模塊</b></p><p><b>  商品類別管理模塊</b></p><p>

54、;<b>  商品管理模塊</b></p><p><b>  訂單處理模塊</b></p><p><b>  管理員的自我管理</b></p><p>  很明顯,會(huì)員管理模塊是用來(lái)管理商城的注冊(cè)會(huì)員的,應(yīng)當(dāng)可以查看會(huì)員、修改會(huì)員信息、刪除會(huì)員,這就是對(duì)數(shù)據(jù)庫(kù)的增刪改查的體現(xiàn)。商品類別管理模塊用來(lái)

55、管理商品類別,可以查看商品類別,添加商品類別,修改商品類別和刪除商品類別。商品管理模塊用來(lái)管理商城的商品,可以查看商品,添加商品,修改商品和刪除商品。訂單處理模塊用來(lái)管理會(huì)員所下訂單,可以查看會(huì)員所下的訂單,并處理這些訂單。</p><p><b>  小結(jié)</b></p><p>  這里又把這個(gè)網(wǎng)上商城系統(tǒng)分成了兩個(gè)模塊,用戶模塊和管理員模塊,這兩個(gè)模塊又可以具體

56、分為若干個(gè)小模塊,這么做的目的就是使整個(gè)系統(tǒng)更加的清晰明了,更加的有層次感,而且通過(guò)不同角度的分析,可以讓我更好地去理解這個(gè)網(wǎng)上商城系統(tǒng)的結(jié)構(gòu)以及它的組合方式。</p><p><b>  本章小結(jié)</b></p><p>  本章主要從商城的使用者角度,也就是普通用戶和商城管理員兩方面分別分析了這些用戶對(duì)商城一般的操作流程。然后根據(jù)這些流程分析出了一些直接的類,也就

57、是一些基礎(chǔ)的實(shí)體類,并跟據(jù)這些大致的流程分析出兩個(gè)大模塊,用戶模塊和管理員模塊,兩個(gè)大模塊又可以進(jìn)一步細(xì)分為一個(gè)個(gè)小模塊。并大致分析了這些模塊的功能。</p><p>  網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  本章是網(wǎng)上商城系統(tǒng)的具體設(shè)計(jì),包括開發(fā)環(huán)境的選擇及介紹,各個(gè)功能模塊的具體設(shè)計(jì)以及一部分實(shí)現(xiàn)。</p><p><b>  開發(fā)語(yǔ)言和工具介

58、紹</b></p><p>  這里介紹我選擇的開發(fā)語(yǔ)言,開發(fā)工具等。</p><p><b>  開發(fā)語(yǔ)言介紹</b></p><p><b>  Java簡(jiǎn)介</b></p><p>  Java是一種簡(jiǎn)單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異

59、、多線程的動(dòng)態(tài)語(yǔ)言。</p><p>  Java平臺(tái)由Java虛擬機(jī)(Java Virtual Machine)和Java 應(yīng)用編程接口(Application Programming Interface、簡(jiǎn)稱API)構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺(tái)上安裝一個(gè)Java平臺(tái)之后,Java應(yīng)用程序就可運(yùn)行。現(xiàn)在Java平臺(tái)已

60、經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。 [2]</p><p>  Java分為三個(gè)體系JavaSE(Java2 Platform Standard Edition,java平臺(tái)標(biāo)準(zhǔn)版),JavaEE(Java 2 Platform,Enterprise Edition,java平臺(tái)企業(yè)版),JavaME(Java 2 Platform Micro Edition,j

61、ava平臺(tái)微型版)。[3]</p><p><b>  HTLM簡(jiǎn)介</b></p><p>  HTML(HyperText Mark-up Language)即超文本標(biāo)記語(yǔ)言或超文本鏈接標(biāo)示語(yǔ)言,是目前網(wǎng)絡(luò)上應(yīng)用最為廣泛的語(yǔ)言,也是構(gòu)成網(wǎng)頁(yè)文檔的主要語(yǔ)言。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說(shuō)明文字、圖形、動(dòng)畫、聲音、表格、鏈接等。HTM

62、L的結(jié)構(gòu)包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說(shuō)明的具體內(nèi)容。[4]</p><p>  JavaScript簡(jiǎn)介</p><p>  Javascript是一種由Netscape的LiveScript發(fā)展而來(lái)的原型化繼承的面向?qū)ο蟮膭?dòng)態(tài)類型的區(qū)分大小寫的客戶端腳本語(yǔ)言,主要目的是為了解決服務(wù)器端語(yǔ)言,比如Perl,遺留的速度問(wèn)題,為

63、客戶提供更流暢的瀏覽效果,并且能為在客戶端就進(jìn)行數(shù)據(jù)的驗(yàn)證。 [5]</p><p><b>  AJAX簡(jiǎn)介</b></p><p>  AJAX即“Asynchronous JavaScript and XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開發(fā)技術(shù)。[6]</p><p>  JSP/Servlet

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

65、他操作系統(tǒng)上運(yùn)行。[7]</p><p>  Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁(yè)面。 它擔(dān)當(dāng)客戶請(qǐng)求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序)的中間層。 Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該

66、Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。[8]</p><p><b>  數(shù)據(jù)庫(kù)介紹</b></p><p>  MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn)

67、,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。MySQL的官方網(wǎng)站的網(wǎng)址是:www.mysql.com。[9]</p><p><b>  服務(wù)器介紹</b></p><p>  Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其

68、他一些公司及個(gè)人共同開發(fā)而成。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是6.0。[10]</p><p>  Tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣

69、,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。[11]</p><p><b>  開發(fā)工具介紹</b></p><p>  在開發(fā)工具選擇方面,我選擇了MyEclipse、Dreamweaver作為主要開發(fā)工具,還使用到了UltraEdit、MySQL Workbench等。</p&g

70、t;<p>  MyEclipse介紹</p><p>  MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持

71、HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。[12]</p><p>  Dreamweaver介紹</p><p>  Macromedia Dreamweaver是個(gè)由Macromedia公司開發(fā)的著名網(wǎng)站開發(fā)工具,它使用所見(jiàn)即所得的界面,亦有HTML編輯的功能。它現(xiàn)在有Mac和Windows系統(tǒng)的版本。一個(gè)可視化的網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)

72、站管理工具,支持最新的Web技術(shù),包含HTML檢查、HTML格式控制、HTML格式化選項(xiàng)、HomeSite/BBEdit捆綁、可視化網(wǎng)頁(yè)設(shè)計(jì)、圖像編輯、全局查找替換、全FTP 功能、處理Flash和Shockwave等富媒體格式和動(dòng)態(tài)HTML、基于團(tuán)隊(duì)的Web創(chuàng)作。在編輯上可以選擇可視化方式或者喜歡的源碼編輯方式。 [13]</p><p><b>  業(yè)務(wù)邏輯設(shè)計(jì)</b></p>

73、;<p>  要實(shí)現(xiàn)網(wǎng)上商城的業(yè)務(wù)邏輯,必須有相應(yīng)的實(shí)體類和其相應(yīng)的方法,這里就大致將其設(shè)計(jì)出來(lái)。</p><p>  基礎(chǔ)共用類和相應(yīng)方法</p><p>  整個(gè)系統(tǒng)有一些通用的類和方法,比如連接數(shù)據(jù)庫(kù)等。</p><p><b>  DB類</b></p><p><b>  方法:<

74、/b></p><p>  public static Connection getConn() 取得用于連接數(shù)據(jù)庫(kù)的Connection</p><p>  public static void close(Connection conn) 關(guān)閉Connection</p><p>  public static void close(Statement s

75、tmt) 關(guān)閉Statement</p><p>  public static void close(ResultSet rs) 關(guān)閉ResultSet</p><p><b>  系統(tǒng)基礎(chǔ)配置</b></p><p>  這里采用xml文件來(lái)儲(chǔ)存一些基本的系統(tǒng)設(shè)置,比如數(shù)據(jù)庫(kù)連接設(shè)置。</p><p>  sys-c

76、onfig.xml</p><p>  <?xml version="1.0" encoding="UTF-8"?></p><p><b>  <config></b></p><p><b>  <db-info></b></p>

77、<p>  <driver-name>com.mysql.jdbc.Driver</driver-name></p><p>  <url>jdbc:mysql://localhost/shopping</url></p><p>  <user-name>root</user-name></p>

78、;<p>  <password>root</password></p><p>  </db-info></p><p><b>  </config></b></p><p>  這里儲(chǔ)存了數(shù)據(jù)庫(kù)連接的Driver和url以及用戶名和密碼,當(dāng)連接數(shù)據(jù)庫(kù)時(shí),就會(huì)從這里讀取配置信息,

79、當(dāng)配置信息改變時(shí),直接在這里修改,而不再需要改代碼了。</p><p>  JdbcConfig類</p><p>  JdbcConfig類就包裝了上面sys-config.xml配置文件所配置的數(shù)據(jù)庫(kù)連接信息。</p><p><b>  成員變量:</b></p><p>  private String driv

80、erName 數(shù)據(jù)庫(kù)連接的Driver</p><p>  private String url 數(shù)據(jù)庫(kù)連接字符串</p><p>  private String userName 用戶名</p><p>  private String password 密碼</p><p><b>  方法:</b></p&

81、gt;<p>  getters()和setters()方法,用來(lái)得到和設(shè)置成員變量的值,因此不詳細(xì)列出</p><p>  XmlConfigReader類</p><p>  XmlConfigReader是負(fù)責(zé)在連接數(shù)據(jù)庫(kù)是從sys-config.xml文件里讀取配飾,采用了單例模式,只在第一次加載時(shí)讀取一次,并保存到j(luò)dbcCofig類中,再次連接時(shí)直接從jdbcCo

82、nfig類中讀取,XmlConfigReader使用了開源的dom4j來(lái)讀取xml文件。</p><p><b>  成員變量:</b></p><p>  private static XmlConfigReader instance XmlConfigReader的實(shí)例</p><p>  private JdbcConfig jdbcCo

83、nfig jdbcConfig類的實(shí)例</p><p><b>  方法:</b></p><p>  private XmlConfigReader() {</p><p>  SAXReader reader = new SAXReader();</p><p>  InputStream is = Thread.c

84、urrentThread().getContextClassLoader()</p><p>  .getResourceAsStream("sys-config.xml");</p><p><b>  try {</b></p><p>  Document doc = reader.read(is);</p>

85、;<p>  //獲取jdbc配置信息</p><p>  Element driverNameEle = (Element) doc.selectObject("/config/db-info/driver-name");</p><p>  Element urlEle = (Element) doc.selectObject("/

86、config/db-info/url");</p><p>  Element userNameEle = (Element) doc.selectObject("/config/db-info/user-name");</p><p>  Element passwordEle = (Element) doc.selectObject("

87、/config/db-info/password");</p><p>  //設(shè)置jdbc配置信息</p><p>  jdbcConfig.setDriverName(driverNameEle.getStringValue());</p><p>  jdbcConfig.setUrl(urlEle.getStringValue());&l

88、t;/p><p>  jdbcConfig.setUserName(userNameEle.getStringValue());</p><p>  jdbcConfig.setPassword(passwordEle.getStringValue());</p><p>  } catch (DocumentException e) {</p><

89、p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  XmlConfigReader類的構(gòu)造方法,在這里采用的dom4j來(lái)讀取sys-config.xml文件的內(nèi)容,首先通過(guò)ClassLoader把sys-config.x

90、ml文件當(dāng)做一個(gè)輸入流并交給SAXReader的對(duì)象reader,reader就會(huì)通過(guò)查找標(biāo)簽的方式來(lái)把這個(gè)標(biāo)簽當(dāng)做一個(gè)Element對(duì)象讀取上來(lái),例如Element driverNameEle = (Element) doc.selectObject("/config/db-info/driver-name");就會(huì)吧sys-config.xml中的<driver-name>com.mysql.jdbc

91、.Driver</driver-name>這對(duì)標(biāo)簽當(dāng)做Element對(duì)象讀取上來(lái),實(shí)際上SAXReader是將xml文件當(dāng)做一顆dom樹并讀取其上的內(nèi)容的。再通過(guò)driverNameEle.getStringValue()就能將標(biāo)簽中的值拿到,也就是com.mysql.jdbc.Driver,然后再把它設(shè)置到j(luò)dbcConfig中,這樣再調(diào)用的時(shí)候就去jdbcConfig中讀取。整個(gè)構(gòu)造方法執(zhí)行完畢后,sys-confi&l

92、t;/p><p>  public static synchronized XmlConfigReader getInstance() 取得 XmlConfigReader的實(shí)例</p><p>  public JdbcConfig getJdbcConfig() 取得jdbcConfig</p><p>  PageModel類</p><p&g

93、t;  PageModel包裝了分頁(yè)信息。</p><p><b>  成員變量:</b></p><p>  private List<E> list 一個(gè)被包裝的結(jié)果集,如果是User就是一個(gè)UserList</p><p>  private int totalRecords 總記錄數(shù)</p><p>

94、  private int pageSize 每頁(yè)記錄數(shù)</p><p>  private int pageNo 當(dāng)前頁(yè)碼</p><p><b>  方法:</b></p><p>  getters()和setters()方法,用來(lái)得到和設(shè)置成員變量的值,因此不詳細(xì)列出。</p><p>  CharsetEnco

95、dingFilter類</p><p>  這是一個(gè)filter,用來(lái)為jsp頁(yè)面統(tǒng)一設(shè)置request字符集,使得每個(gè)jsp頁(yè)面不再需要單獨(dú)設(shè)置,而且也為修改配置帶來(lái)了方便,它同樣從xml文件中讀取配置信息。</p><p><b>  成員變量:</b></p><p>  private String charsetEncoding 字符

96、集設(shè)置</p><p><b>  方法:</b></p><p>  public void destroy() 銷毀這個(gè)filter</p><p>  public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) 在這里統(tǒng)一

97、為jsp頁(yè)面設(shè)置request字符集</p><p>  public void init(FilterConfig filterConfig) filter的初始化方法,filter會(huì)在Web server啟動(dòng)時(shí)被初始化,在這里讀取了保存在web.xml文件里的配置filterConfig.getInitParameter("charsetEncoding"),并且將其保存在了charset

98、Encoding里。下面是其配置信息:</p><p>  <init-param></p><p>  <param-name>charsetEncoding</param-name></p><p>  <param-value>GB18030</param-value></p><

99、p>  </init-param></p><p>  Filter需要在web.xml文件里配置一下才能生效,并且需要配置其作用范圍:</p><p><b>  <filter></b></p><p>  <filter-name>CharsetEncodingFilter</filter-

100、name></p><p>  <filter-class>com.jinyize.shopping.util.filter.CharsetEncodingFilter</filter-class></p><p>  <init-param></p><p>  <param-name>charsetEnco

101、ding</param-name></p><p>  <param-value>GB18030</param-value></p><p>  </init-param></p><p><b>  </filter></b></p><p>  <fi

102、lter-mapping></p><p>  <filter-name>CharsetEncodingFilter</filter-name></p><p>  <url-pattern>*.jsp</url-pattern></p><p>  </filter-mapping></p&g

103、t;<p>  <filter-name></filter-name>標(biāo)簽是為這個(gè)filter設(shè)置名字。</p><p>  <filter-class></filter-class>標(biāo)簽是標(biāo)識(shí)這個(gè)filter的類的具體位置。</p><p>  <init-param></init-param>標(biāo)簽可以

104、放置一些filter的初始化參數(shù)。</p><p>  <url-pattern>*.jsp</url-pattern>標(biāo)簽標(biāo)示了這個(gè)filter的作用域,*.jsp就標(biāo)示對(duì)所有的jsp頁(yè)面起作用。</p><p>  用戶實(shí)體類和相應(yīng)方法</p><p>  為了實(shí)現(xiàn)商城會(huì)員的注冊(cè)、登錄、查看會(huì)員自己的信息、修改會(huì)員的個(gè)人信息、修改個(gè)人密碼

105、和查看所下的訂單,應(yīng)當(dāng)有一個(gè)用戶實(shí)體類和其相應(yīng)的方法,在這里設(shè)計(jì)出兩個(gè)類User和UserManager類。User只是包裝用戶的信息,并提供相應(yīng)的get和set方法;UserManager則提供和User相關(guān)的各種業(yè)務(wù)邏輯方法。</p><p><b>  User類</b></p><p><b>  成員變量:</b></p>

106、<p>  private int id 用戶id</p><p>  private String username 用戶名</p><p>  private String password 密碼</p><p>  private String phone 聯(lián)系電話</p><p>  private String addr

107、ess 送貨地址</p><p>  private String email Email</p><p>  private Date rDate 注冊(cè)日期</p><p><b>  方法:</b></p><p>  getters()和setters()方法,用來(lái)得到和設(shè)置成員變量的值,因此不詳細(xì)列出。</

108、p><p>  UserManager類</p><p><b>  成員變量:</b></p><p>  private static UserManager instance UserManager自己的實(shí)例化(單例模式)</p><p><b>  方法:</b></p><

109、p>  public static UserManager getInstance() 取得UserManager的實(shí)例</p><p>  public boolean addUser(User u) 添加用戶</p><p>  public User findUserByName(String userName) 通過(guò)用戶名查找用戶</p><p>  

110、public User findUserById(String userId) 通過(guò)用戶id查找用戶</p><p>  public User login(String userName, String password) 驗(yàn)證用戶登錄</p><p>  public boolean modifyUser(User u) 修改用戶信息</p><p>  pub

111、lic boolean delUser(String[] userIds) 刪除用戶</p><p>  public PageModel<User> findUserList(int pageNo, int pageSize) 取得用戶的分頁(yè)信息</p><p>  public PageModel<User> findUserList(int pageNo, i

112、nt pageSize, String text, String flag) 取得用戶的分頁(yè)信息</p><p>  管理員實(shí)體類和相應(yīng)方法</p><p>  用以實(shí)現(xiàn)商城管理員的登錄和修改密碼。</p><p><b>  Admin類</b></p><p>  包裝了管理員的屬性。</p><

113、p><b>  成員變量:</b></p><p>  private String userName 用戶名</p><p>  private String password 密碼</p><p><b>  方法:</b></p><p>  getters()和setters()方法,

114、用來(lái)得到和設(shè)置成員變量的值,因此不詳細(xì)列出。</p><p>  AdminManager類</p><p>  提供了管理員類的相應(yīng)管理方法。</p><p><b>  成員變量:</b></p><p>  private static AdminManager instance 單利模式的AdminManager

115、實(shí)例</p><p><b>  方法:</b></p><p>  public static AdminManager getInstance() 取得AdminManager實(shí)例</p><p>  public Admin login(String userName, String password) 驗(yàn)證管理員登錄</p>

116、<p>  public boolean modify(Admin admin) 修改密碼</p><p>  商品類別類和相應(yīng)方法</p><p>  這是一個(gè)基礎(chǔ)的類,它是一種樹形結(jié)構(gòu),有根類別,其下又有很多子類別,一個(gè)商品必須屬于某種商品類別。</p><p>  Category實(shí)體類</p><p>  包裝了商品類別

117、的屬性。</p><p><b>  成員變量:</b></p><p>  private int id Category的id</p><p>  private int pid 父類別的id</p><p>  private String name 類別的名稱</p><p>  priv

118、ate String describe 類別的描述</p><p>  private int grade 類別的級(jí)別</p><p>  private boolean leaf 是否是葉子節(jié)點(diǎn)</p><p><b>  方法:</b></p><p>  getters()和setters()方法,用來(lái)得到和設(shè)置成

溫馨提示

  • 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)論