基于struts的體育商城網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_第1頁
已閱讀1頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  基于Struts的體育商城網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  作 者 姓 名:</b></p><p>  指 導(dǎo) 教 師: 教授</p><p>  單 位 名 稱:信息科學(xué)與工程學(xué)院</p><p>  專 業(yè) 名 稱:計(jì)算機(jī)科學(xué)與技術(shù)</p><p>

2、<b>  2010年6月</b></p><p>  Design and Implementation of Struts-based Sports Mall Website</p><p>  畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p>  基于Struts的體育商城網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>

3、  摘要</b></p><p>  隨著INTERNET技術(shù)的發(fā)展和電腦的普及,互聯(lián)網(wǎng)在我們的生活中正扮演著越來越重要的角色,電子商務(wù)已成為二十一世紀(jì)的人類信息的核心。隨著中國體育事業(yè)的發(fā)展和人民消費(fèi)意識的提高,體育用品在中國市場上的發(fā)展不可估量。為了給交易者帶來更多的方便,設(shè)計(jì)并開發(fā)了體育商城網(wǎng)站。在本體育商城網(wǎng)站中,顧客可以很快地看到商品的信息和訂購自己滿意的商品。網(wǎng)站后臺管理員可以馬上瀏覽到顧

4、客下的訂單,然后進(jìn)行處理。</p><p>  本文對體育商城網(wǎng)站進(jìn)行了分析,設(shè)計(jì)并實(shí)現(xiàn)了體育商城網(wǎng)站的用戶注冊登錄、查詢商品、分類瀏覽購買商品、訂單管理、購物車管理、發(fā)表留言、下載文件等功能。本文采用了MyEclipse開發(fā)工具,JSP語言,MySQL數(shù)據(jù)庫和Tomcat服務(wù)器,采用了Struts + Hibernate的架構(gòu),節(jié)省了開發(fā)時間和成本,簡化了基于MVC的Web應(yīng)用程序的開發(fā),同時,簡單應(yīng)用了異步交

5、互技術(shù)AJAX中的JSON-RPC插件。</p><p>  本系統(tǒng)采用分層結(jié)構(gòu),將系統(tǒng)分為表示層、控制層、業(yè)務(wù)邏輯層、持久層、數(shù)據(jù)庫層,實(shí)現(xiàn)了高內(nèi)聚、低耦合的軟件設(shè)計(jì)思想。本系統(tǒng)一共設(shè)計(jì)了10個數(shù)據(jù)庫表。經(jīng)過測試,實(shí)現(xiàn)了體育商城網(wǎng)站的基本功能。</p><p>  關(guān)鍵字:體育商城網(wǎng)站,網(wǎng)上交易,電子商務(wù),Struts,Hibernate</p><p>  De

6、sign and Implementation of Struts-based Sports Mall Website</p><p><b>  Abstract</b></p><p>  With the development of Internet technology and the popularity of computer, Internet pla

7、ys an increasingly important role in our lives. e-commerce has become the core of human information in the twenty-first century. With the development of Chinese sports and elevation of consumptive awareness, The future o

8、f sporting goods market is inestimable in China. In order to bring more convenience to the customers, the Sports mall website is designed and developed. In the Sports mall website, the custome</p><p>  The S

9、ports Mall Website is analysed and designed, Regesiter and Login, Inquiry goods, browse and buy good in different categories, Order management, Message delivered and Download file are implemented in the system. The syste

10、m is developmended by MyEclipse, JSP language, MySQL and Tomcat server. The structure of system is Struts+Hibernate which makes the development much more quickly, and simplifies the development of MVC-based Web applicati

11、on. At the same time, AJAX which is asynchronous intera</p><p>  This system architecture is divided into 5 layers which are View, Control, Model, Persistence and database. Hierarchical structure in line wit

12、h the high cohesion,low coupling of the software design. There are totally 10 tables of database. With testing, the basic fuctions of Sports Mall Website are implemented.</p><p>  Keywords:Sports mall websit

13、e; E-commerce; Online trading; Struts; Hibernate</p><p><b>  目錄</b></p><p>  畢業(yè)設(shè)計(jì)(論文)任務(wù)書I</p><p><b>  摘要I</b></p><p>  AbstractII</p>

14、<p><b>  第1章 緒論1</b></p><p>  1.1 項(xiàng)目背景1</p><p>  1.2 研究目的及意義2</p><p>  1.3 本文組織結(jié)構(gòu)2</p><p>  第2章 系統(tǒng)設(shè)計(jì)關(guān)鍵技術(shù)3</p><p>  2.1 基于MVC的應(yīng)用開發(fā)模型3

15、</p><p>  2.2 持久化框架Hibernate4</p><p>  2.3 JSP技術(shù)介紹5</p><p>  2.4 本章小結(jié)6</p><p>  第3章 體育商城網(wǎng)站的系統(tǒng)分析7</p><p>  3.1 體育商城網(wǎng)站需求分析7</p><p>  3.2 體育

16、商城網(wǎng)站的用例分析7</p><p>  3.2.1 Actor及其描述7</p><p>  3.2.2 用例描述7</p><p>  3.3 體育商城網(wǎng)站的時序分析12</p><p>  3.3.1 查看商品詳情12</p><p>  3.3.2 瀏覽訂單13</p><p&g

17、t;  3.4 本章小結(jié)14</p><p>  第4章 體育商城網(wǎng)站的系統(tǒng)設(shè)計(jì)15</p><p>  4.1 功能模塊設(shè)計(jì)15</p><p>  4.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)16</p><p>  4.3 業(yè)務(wù)流程設(shè)計(jì)17</p><p>  4.4 數(shù)據(jù)庫設(shè)計(jì)18</p><p>

18、  4.4.1 數(shù)據(jù)庫ER圖設(shè)計(jì)18</p><p>  4.4.2 數(shù)據(jù)庫表設(shè)計(jì)19</p><p>  4.5 接口設(shè)計(jì)24</p><p>  4.6 本章小結(jié)25</p><p>  第5章 基于Struts框架的系統(tǒng)實(shí)現(xiàn)27</p><p>  5.1 軟件開發(fā)平臺27</p>&l

19、t;p>  5.1.1 數(shù)據(jù)庫27</p><p>  5.1.2 開發(fā)工具27</p><p>  5.1.3 服務(wù)器Tomcat28</p><p>  5.2 環(huán)境配置28</p><p>  5.3 前臺子系統(tǒng)實(shí)現(xiàn)30</p><p>  5.3.1 體育商城網(wǎng)站首頁30</p>

20、<p>  5.3.2 顧客注冊登錄模塊30</p><p>  5.3.3 商品瀏覽搜索模塊的實(shí)現(xiàn)32</p><p>  5.4 后臺子系統(tǒng)實(shí)現(xiàn)33</p><p>  5.4.1 后臺登錄模塊33</p><p>  5.4.2 商品及特價(jià)商品管理模塊35</p><p>  5.5 系統(tǒng)J

21、SP頁面實(shí)現(xiàn)36</p><p>  5.5.1 系統(tǒng)前臺JSP頁面36</p><p>  5.5.2 系統(tǒng)后臺JSP頁面36</p><p>  5.6 系統(tǒng)包和類實(shí)現(xiàn)37</p><p>  5.6.1 過濾器包c(diǎn)om.filter37</p><p>  5.6.2 關(guān)系對象映射包c(diǎn)om.ORM38

22、</p><p>  5.6.3 數(shù)據(jù)庫操作包c(diǎn)om.service38</p><p>  5.6.4 Struts資源文件包ApplicationResources.properties38</p><p>  5.6.5 Struts業(yè)務(wù)邏輯包c(diǎn)om.struts.action38</p><p>  5.6.6 Struts 展

23、示層包c(diǎn)om.struts.form39</p><p>  5.7 本章小結(jié)39</p><p>  第6章 系統(tǒng)測試41</p><p>  6.1 后臺系統(tǒng)測試41</p><p>  6.2 前臺系統(tǒng)測試41</p><p>  第7章 結(jié)束語43</p><p>  7.1

24、 工作總結(jié)43</p><p>  7.2 工作展望43</p><p><b>  參考文獻(xiàn)45</b></p><p><b>  致謝47</b></p><p><b>  緒論</b></p><p><b>  項(xiàng)目背景&l

25、t;/b></p><p>  中國的網(wǎng)絡(luò)購物市場07年取得了爆發(fā)式增長,08年則延續(xù)了這種高增長態(tài)勢。08 年網(wǎng)絡(luò)購物交易額規(guī)模突破千億大關(guān),達(dá)1281.8 億,相比07 年增長128.5%。網(wǎng)絡(luò)購物正在成為網(wǎng)民常態(tài)的網(wǎng)絡(luò)行為,網(wǎng)購已步入快速上升期,并且其增長勢頭受地震災(zāi)害、金融危機(jī)等突發(fā)事件的影響很小。同時網(wǎng)購用戶規(guī)模達(dá)8000萬,近三成的網(wǎng)民都成為網(wǎng)絡(luò)購物用戶,相比07 年增長率45.5%,增速非???/p>

26、;網(wǎng)絡(luò)購物占社會消費(fèi)品零售總額的比重也首次突破1%;種種數(shù)據(jù)都表明,網(wǎng)絡(luò)購物已經(jīng)成為傳統(tǒng)零售市場的重要補(bǔ)充,網(wǎng)絡(luò)作為企業(yè)零售渠道的重要性也逐步被越來越多的企業(yè)認(rèn)知。展望未來網(wǎng)絡(luò)購物市場的發(fā)展,網(wǎng)絡(luò)購物市場將會吸引更多企業(yè)用戶和個人用戶加入,也會吸引資本市場更多的關(guān)注,中國的網(wǎng)絡(luò)購物正步入快速成長期[1]。</p><p>  隨著中國成功舉辦2008年北京奧運(yùn)會,體育事業(yè)、體育經(jīng)濟(jì)成為中國經(jīng)濟(jì)發(fā)展的一個新焦點(diǎn)。這

27、使得中國的體育用品市場迎來了一個新的高潮。中國體育用品市場自2000年起每年都以兩位數(shù)的速度在高速增長,到2004年,整個市場規(guī)模達(dá)到42億美金。與此同時,中國是全球最大的體育用品制造基地,每年全世界大約有60%的體育用品是在中國生產(chǎn)制造的。2004年,全國全國體育用品出口達(dá)54億美金。據(jù)預(yù)計(jì),到2008年,中國的體育用品市場規(guī) 模將達(dá)到62億美金。隨著社會的發(fā)展,生活水平的提高,中產(chǎn)階層的出現(xiàn)和城鎮(zhèn)居民可支配收入的提高,使得中國的消費(fèi)

28、者擁有了更多的時間和閑錢去用于體育消費(fèi)。從這些方面看,體育用品的銷售還具有很大的利潤空間。</p><p>  隨著互聯(lián)網(wǎng)的發(fā)展,現(xiàn)在的體育用品企業(yè)銷售渠道已經(jīng)不能僅僅局限在傳統(tǒng)的銷售渠道中,更多的企業(yè)選擇了網(wǎng)絡(luò)銷售渠道這一便捷、經(jīng)濟(jì)的方式。</p><p>  網(wǎng)上購物系統(tǒng)分為B2B,B2C(Business to Customer,即企業(yè)對消費(fèi)者),C2C(Customer to Cu

29、stomer,即消費(fèi)者對消費(fèi)者)電子商務(wù)的前端商務(wù)平臺,在其商務(wù)活動全過程中起著舉足輕重的作用。中國的網(wǎng)絡(luò)購物從B2C 起家,但是近年來的發(fā)展卻是以C2C 為絕對主流。從07-08年網(wǎng)購市場變化趨勢來看,B2C 正在重新崛起,網(wǎng)絡(luò)作為重要的零售渠道,其低成本、直接面對消費(fèi)者的渠道優(yōu)勢正被越來越多的傳統(tǒng)企業(yè)所認(rèn)知。國內(nèi)著名的B2C網(wǎng)站有淘寶商城mall.taobao.com,拍拍網(wǎng)等。B2C網(wǎng)絡(luò)購物的產(chǎn)業(yè)鏈如圖1.1所示。</p&g

30、t;<p>  圖1.1 B2C網(wǎng)絡(luò)購物產(chǎn)業(yè)鏈</p><p>  本文考慮如何建設(shè)B2C的體育商城網(wǎng)站購物系統(tǒng)。B2C 網(wǎng)絡(luò)零售的本質(zhì)是傳統(tǒng)零售業(yè)+互聯(lián)網(wǎng)。據(jù)統(tǒng)計(jì),08年網(wǎng)購物交易額占社會零售商品總額的比重剛突破1%,達(dá)到1.2%,網(wǎng)購仍是非常小眾的消費(fèi)方式。這說明我國的網(wǎng)絡(luò)購物根本而言還處于發(fā)展的初級階段。網(wǎng)絡(luò)零售以其便捷性、價(jià)格優(yōu)勢,吸引著越來越多人群的關(guān)注,是節(jié)約生活成本、提高生活質(zhì)量的選擇

31、。從這些意義上來講,未來網(wǎng)絡(luò)零售的增量空間不可限量。</p><p><b>  研究目的及意義</b></p><p>  由于大型體育商品店在二、三級城市設(shè)立實(shí)體店,未必能獲得較大的利潤空間,但企業(yè)又不愿意失去這些小城市的客源,因此,企業(yè)的產(chǎn)品銷售網(wǎng)站在此時就顯得尤為重要。不僅可以吸引更多中小城市的客源,更能夠有效地將閑置的商品售出,減少庫存。</p>

32、<p>  隨著Internet的發(fā)展,為這一商業(yè)運(yùn)作模式提供了一種技術(shù)上的可行性的方案:利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng)Intranet,企業(yè)外部網(wǎng)Extranet,通過廉價(jià)的通訊手段,將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,消除時間與空間帶來的障礙,從而大大的節(jié)約了交易成本,擴(kuò)大了交易范圍。</p><p>  相比傳統(tǒng)各種分銷渠道,網(wǎng)絡(luò)零售省去了中間諸多代理、分銷環(huán)節(jié)

33、,渠道成本大大節(jié)省,這對于家電、服裝、鉆石等各個行業(yè)來講都是如此。企業(yè)把渠道節(jié)省的成本與終端消費(fèi)者分享,益處很多。另一方面國內(nèi)電子商務(wù)經(jīng)過10 年左右的市場培育,配套的支付、物流及用戶習(xí)慣等各個環(huán)節(jié)基本都已搭建起來,整體環(huán)境是有利的;另一方面,市場中也出現(xiàn)了不少發(fā)展較為迅速、較為完善的電子商務(wù)平臺,這些購物平臺累積了大量用戶資源、技術(shù)經(jīng)驗(yàn)等,可充分利用這些經(jīng)驗(yàn)和資源為企業(yè)開展電子商務(wù)提供技術(shù)、營銷等各方面的支持。而這些支持無疑將加快企業(yè)

34、電子商務(wù)業(yè)務(wù)的開展。</p><p>  當(dāng)今比較流行的網(wǎng)上購物系統(tǒng)有“淘寶”,“當(dāng)當(dāng)”,以及專門從事體育用品專賣的“中國乒乓網(wǎng)”。它們都是相當(dāng)優(yōu)秀的電子商務(wù)網(wǎng)站,對本次體育商城網(wǎng)站的開發(fā)提供了良好的典范。</p><p>  設(shè)計(jì)和完成一個電子商務(wù)網(wǎng)站的,將會牽涉到許多技術(shù)上的問題,如:動態(tài)網(wǎng)頁制作技術(shù)的,后臺數(shù)據(jù)庫的設(shè)計(jì)和管理,通過實(shí)際的制作個網(wǎng)站,避免了紙上談兵,在實(shí)踐中掌握上述技術(shù)

35、的使用。</p><p><b>  本文組織結(jié)構(gòu)</b></p><p>  全文的內(nèi)容分為六章:第一章是緒論,提出本系統(tǒng)的研究背景、研究目的及意義;第二章是關(guān)鍵技術(shù)介紹,對本系統(tǒng)所用到的相關(guān)技術(shù)Struts、Hibernate等知識作以簡要的介紹;第三章是系統(tǒng)分析,本章通過需求分析、用例分析詳細(xì)地分析了系統(tǒng)的功能;第四章是系統(tǒng)設(shè)計(jì),從功能模塊、系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)庫表、

36、接口四方面給予詳細(xì)的分析設(shè)計(jì);第五章主要介紹了系統(tǒng)的實(shí)現(xiàn);第六章總結(jié)全文。</p><p><b>  系統(tǒng)設(shè)計(jì)關(guān)鍵技術(shù)</b></p><p>  本章介紹了MVC開發(fā)模型和Struts框架。除此之外還介紹了ORM中間件Hibernate,開發(fā)語言JSP以及AJAX相關(guān)技術(shù)。</p><p>  基于MVC的應(yīng)用開發(fā)模型</p>

37、<p>  MVC是一種設(shè)計(jì)模式,它強(qiáng)制性地將應(yīng)用程序的輸入、處理和輸出分開。</p><p>  使用了MVC的應(yīng)用程序被分成3個核心部件:模型(Model)、視圖(View)、控制器(Controller)。它們各司其職,既分工明確又相互協(xié)作[3]。</p><p>  首先控制器接受用戶的請求,然后調(diào)用某個模型來處理用戶的請求,在控制器的控制下,再將處理的結(jié)果交給某個視圖

38、進(jìn)行格式化輸出給用戶。具體關(guān)系如圖2.1所示:</p><p>  圖2.1模型、視圖與控制器間的分工協(xié)作關(guān)系</p><p>  MVC設(shè)計(jì)模式不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性,是一個優(yōu)秀的創(chuàng)建軟件的途徑,尤其在Java Web應(yīng)用程序的架構(gòu)方面。采用MVC的Java Web應(yīng)用程序在健壯性、代碼重用和結(jié)構(gòu)方面將更優(yōu)

39、秀。</p><p>  Struts框架具有組件的模塊化,靈活性和重用性的優(yōu)點(diǎn),同時簡化了基于MVC的Web應(yīng)用程序的開發(fā)[17]。本網(wǎng)站所使用的Struts框架即實(shí)現(xiàn)了MVC架構(gòu)。</p><p>  Struts中的模型(Model)表示一個應(yīng)用程序的數(shù)據(jù)并且包含訪問和管理這些數(shù)據(jù)的業(yè)務(wù)邏輯。業(yè)務(wù)邏輯由JavaBean來實(shí)現(xiàn)。所有屬于應(yīng)用程序持久狀態(tài)的數(shù)據(jù)都應(yīng)該保存于模型的對象中。一

40、個模型的接口提供了訪問和更新模型狀態(tài)、執(zhí)行封裝在模型中的業(yè)務(wù)邏輯的方法。模型服務(wù)被控制器訪問,用于查詢或修改模型的狀態(tài),當(dāng)模型的狀態(tài)發(fā)生變化時,會通知視圖更新視圖狀態(tài)。</p><p>  視圖(View)由JSP頁面和ActionFome Bean組成,用于表現(xiàn)模型的狀態(tài)。表述語句封裝在視圖中,因此同一個模型狀態(tài)可以不同形式在不同終端上進(jìn)行表現(xiàn)。當(dāng)模型中狀態(tài)變化傳達(dá)到視圖時,視圖會更新。視圖將用戶輸入的數(shù)據(jù)傳遞

41、給控制器。</p><p>  控制器(Controller)由ActionServlet類和Action類來實(shí)現(xiàn),其任務(wù)是獲取并映射用戶輸入到動作并由模型執(zhí)行。根據(jù)用戶輸入和執(zhí)行的結(jié)果選擇下一個視圖。</p><p>  持久化框架Hibernate</p><p>  Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,

42、使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用[19]。</p><p>  持久層即專門負(fù)責(zé)持久化工作的邏輯層,由它統(tǒng)一與數(shù)據(jù)庫層打交道。以前所使用的JDBC對于小型的應(yīng)用開發(fā)而言,也許感覺還不錯。但對于大型應(yīng)用開發(fā)而言,單憑JDBC就顯得有些力不從心了,例如,

43、從上百張擁有幾十個字段的數(shù)據(jù)表中數(shù)據(jù)的話,可以想象要寫多少個getXXX()語句完成數(shù)據(jù)讀取工作,代碼繁瑣,并且出錯率高,復(fù)用性低。在多層體系結(jié)構(gòu)的開發(fā)中使用JDBC,負(fù)責(zé)業(yè)務(wù)邏輯代碼編寫的程序員必須密切關(guān)注數(shù)據(jù)庫各表的結(jié)構(gòu)關(guān)系,以確保其SQL語句工作正常。若引入Hibernate這樣的持久層中間件,業(yè)務(wù)邏輯層的開發(fā)人員面對的就是一個個對象而不必關(guān)心數(shù)據(jù)表,這樣有利于團(tuán)隊(duì)分工協(xié)作和軟件產(chǎn)品的可移植性。</p><p&

44、gt;  本網(wǎng)站雖然不是大型網(wǎng)站,使用JDBC綽綽有余,但為了將來在企業(yè)能夠更快地適應(yīng)大型項(xiàng)目的開發(fā),故在數(shù)據(jù)庫與應(yīng)用程序間添加了持久層,所使用的是開源ORM中間件Hibernate,這樣,整個網(wǎng)站系統(tǒng)的結(jié)構(gòu)即分為視圖層、控制層、業(yè)務(wù)邏輯層、持久層和數(shù)據(jù)庫層。</p><p>  因?yàn)槌鯇W(xué)Hibernate,在本網(wǎng)站中并未使用到性能管理、緩存管理、連接管理等高級功能。只使用了基本的新增數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查

45、詢數(shù)據(jù)等基本功能,以及對象——映射功能。</p><p>  開發(fā)中用到得Hibernate API:</p><p> ?。?)Configuration類:負(fù)責(zé)配置和啟動Hibernate,創(chuàng)建SessionFactory實(shí)例。</p><p>  (2)SessionFactor接口:負(fù)責(zé)初始化Hibernate,創(chuàng)建Session死狐貍,充當(dāng)數(shù)據(jù)源代理,一個

46、SessionFactory實(shí)例對應(yīng)一個數(shù)據(jù)源。</p><p>  (3)Session接口:負(fù)責(zé)保存、更新、刪除、加載和查詢持久化對象,充當(dāng)持久化管理。</p><p> ?。?)Transaction接口:對底層的事務(wù)進(jìn)行了封裝,充當(dāng)事務(wù)管理。</p><p> ?。?)Query接口:執(zhí)行數(shù)據(jù)庫查詢,充當(dāng)Hibernate查詢器。</p>&l

47、t;p>  在查詢數(shù)據(jù)庫時,使用的是HQL語言。Criteria查詢對查詢條件進(jìn)行了面向?qū)ο蠓庋b,符合編程人員的思維方式,不過HQL(Hibernate Query Language)查詢提供了更加豐富的和靈活的查詢特性,因此Hibernate將HQL查詢方式立為官方推薦的標(biāo)準(zhǔn)查詢方式,HQL查詢在涵蓋Criteria查詢的所有功能的前提下,提供了類似標(biāo)準(zhǔn)SQL語句的查詢方式,同時也提供了更加面向?qū)ο蟮姆庋b。</p>

48、<p><b>  JSP技術(shù)介紹</b></p><p>  JSP(Java Server Pages) 是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。</p><

49、p>  JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 </p><p>  Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JS

50、P文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。 </p><p>  JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回

51、給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。JSP技術(shù)的優(yōu)勢:</p><p>  (1)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任

52、意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。(3)強(qiáng)大的可伸縮性。從只有一個小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)

53、可以順利的運(yùn)行于多種平臺之下。</p><p><b>  本章小結(jié)</b></p><p>  本章介紹了開發(fā)過程中使用的相關(guān)技術(shù)。</p><p>  首先介紹了用于Web應(yīng)用程序開發(fā)的Struts框架,因其具有組件的模塊化,靈活性和重用性的優(yōu)點(diǎn),使其能夠輕松實(shí)現(xiàn)MVC架構(gòu)。在Struts框架中,業(yè)務(wù)邏輯由Javabean來實(shí)現(xiàn),視圖層由J

54、SP頁面和ActionForm bean組成,控制器由ActionServlet和Action類實(shí)現(xiàn)。</p><p>  然后介紹了ORM中間件Hibernate,作為一個開源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使之可以應(yīng)用在任何使用JDBC的場合。HQL(Hibernate Query Language)語言使用戶可用對象直接對數(shù)據(jù)庫訪問,而不用面對一個個表,更符合面向?qū)ο缶幊倘藛T

55、的思維方式。</p><p>  最后介紹了本系統(tǒng)所使用的編程語言JSP。</p><p>  體育商城網(wǎng)站的系統(tǒng)分析</p><p>  需求分析是軟件開發(fā)的第一步,是對用戶需求的定義,對軟件系統(tǒng)的描述。系統(tǒng)分析將用戶的業(yè)務(wù)邏輯轉(zhuǎn)化為程序邏輯。</p><p>  體育商城網(wǎng)站需求分析</p><p>  隨著經(jīng)濟(jì)的

56、發(fā)展,企業(yè)在市場上面對著越來越大的競爭壓力,為了盡可能獲得更多的客戶群,提高企業(yè)業(yè)績,他們絞盡腦汁推出新的營銷方式。體育產(chǎn)品的銷售商也面臨著同樣的競爭壓力,尤其對中小型的商家更是面臨著被大型企業(yè)吃掉的危險(xiǎn)。正因?yàn)槊媾R著前所未有的壓力,并且伴隨著互聯(lián)網(wǎng)的發(fā)展,許多商家選擇了網(wǎng)絡(luò)營銷模式,即電子商務(wù),這種營銷方式已經(jīng)為眾多企業(yè)帶來了豐厚的利潤,取得了成功!隨著電子商城的發(fā)展,營銷產(chǎn)品的種類也得到進(jìn)一步細(xì)分。本文計(jì)劃針對“體育商城網(wǎng)站”進(jìn)行設(shè)

57、計(jì),商城主要的營銷產(chǎn)品為乒乓球以及多種附屬產(chǎn)品。</p><p>  在這個系統(tǒng)中核心要考慮的問題是前臺顧客訪問商城、購買商品、以及后臺系統(tǒng)管理員管理商城系統(tǒng)等的業(yè)務(wù)過程,分為兩個主要部分:</p><p>  (1) 前臺子系統(tǒng):此模塊面向的是廣大顧客,顧客可由此登錄商城主頁,進(jìn)行商品瀏覽、會員注冊、購買商品、購物車管理、訂單管理、對產(chǎn)品進(jìn)行評價(jià)、下載文件等操作。</p>

58、<p>  (2) 后臺子系統(tǒng):此模塊只能由商城的管理員登錄,并且每種管理員具有特定的權(quán)限,他們只能對商城進(jìn)行自己權(quán)限范圍內(nèi)的維護(hù),管理員的種類分為商品管理員、訂單管理員、會員管理員、文件管理員和系統(tǒng)用戶管理員。</p><p>  體育商城網(wǎng)站的用例分析</p><p><b>  Actor及其描述</b></p><p>  A

59、ctor指的是系統(tǒng)的參與者,是具體用例的驅(qū)動者。通過分析模型,得到系統(tǒng)的Actor主要為系統(tǒng)的注冊用戶。</p><p>  注冊用戶是系統(tǒng)的主要參與者,主要活動有共享考研經(jīng)驗(yàn),發(fā)布出售考研資料,查詢資料,查詢考研經(jīng)驗(yàn)以及用戶個人信息的維護(hù)和對出售資料信息的維護(hù)。當(dāng)然,未注冊用戶也是系統(tǒng)的參與者。但由于權(quán)限的限制,未注冊用戶只能訪問有限的操作。</p><p><b>  用例描

60、述</b></p><p><b>  系統(tǒng)前臺用例分析</b></p><p>  根據(jù)需求分析,前臺系統(tǒng)從整體上主要分為顧客登錄注冊、商品檢索瀏覽、購物車管理、訂單管理、下載文件和查看留言等主要用例,前臺系統(tǒng)用例圖如圖3.1所示。</p><p>  圖3.1 前臺系統(tǒng)用例圖</p><p><b&

61、gt;  檢索、瀏覽商品</b></p><p>  所有用戶可進(jìn)行檢索、瀏覽商品的操作,該用例包括發(fā)表留言,即對商品進(jìn)行評價(jià),但只有當(dāng)用戶登錄后才可進(jìn)行評價(jià)。</p><p>  表3.1 檢索、瀏覽商品用例表</p><p><b>  文件下載</b></p><p>  已注冊的用戶可直接登錄商城進(jìn)行

62、文件下載。具體用例如表3.2所示。</p><p>  表3.2 下載用例描述</p><p><b>  注冊</b></p><p>  游客可在首頁注冊會員,注冊后可擁有注冊會員的服務(wù)。具體用例如表3.3所示。</p><p>  表3.3 注冊用例表</p><p><b>  

63、登錄</b></p><p>  注冊用戶可在首頁進(jìn)行登錄,登錄過后才能進(jìn)行管理購物車、文件下載、訂單管理等操作。具體用例如表3.4所示。</p><p>  表3.4 登錄用例表</p><p><b>  管理購物車</b></p><p>  注冊用戶可對購物車進(jìn)行管理。具體用例描述如表3.5所示<

64、;/p><p>  表3.5 管理購物車用例描述</p><p><b>  系統(tǒng)后臺用例分析</b></p><p>  系統(tǒng)后臺主要包含了管理商品、管理文件、管理訂單、管理會員和管理系統(tǒng)員等用例,后臺系統(tǒng)用例圖如圖3.2所示。</p><p>  圖3.2 后臺系統(tǒng)用例圖</p><p><

65、b>  管理商品</b></p><p>  商品管理員可對商品進(jìn)行增、刪、改、查等操作,此用例還包括管理商品分類、管理普通商品和管理特價(jià)商品。具體用例描述如表3.6所示。</p><p>  表3.6 管理商品用例描述</p><p><b>  管理會員</b></p><p>  會員管理員可對注

66、冊用戶進(jìn)行管理,此用例還包括回復(fù)留言用例。具體用例描述如表3.7所示。</p><p>  表3.7管理會員用例描述</p><p><b>  管理訂單</b></p><p>  訂單管理員可修改和刪除用戶提交的訂單。具體用例描述如表3.8所示。</p><p>  表3.8 管理訂單用例描述</p>

67、<p>  表3.8 管理訂單用例描述(續(xù))</p><p><b>  管理文件</b></p><p>  文件管理員可向服務(wù)器上傳文件以及刪除文件等工作。具體用例描述如表4.6所示。</p><p>  表3.9 管理文件用例描述</p><p>  體育商城網(wǎng)站的時序分析</p><

68、p><b>  查看商品詳情</b></p><p>  當(dāng)顧客要查看商品的詳情時,選中一件商品點(diǎn)擊,此時調(diào)用MerAction類的showMer()方法,在此方法中,調(diào)用了數(shù)據(jù)庫操作接口MerServiceImpl.java中的browseMerWord()方法并返回一個list類型數(shù)據(jù),之后調(diào)用了接口WordServiceImpl.java中的browseMerWord()方法和c

69、ountMerWord方法,分別返回留言列表list和留言總數(shù)totals,最后由MerAction類將得到結(jié)果返回給商品詳情頁面。查看商品時序圖如圖3.3所示。</p><p>  圖3.3 查看商品時序圖</p><p><b>  瀏覽訂單</b></p><p>  注冊用戶可從首頁進(jìn)入管理訂單頁面,此時需調(diào)用OrderAction.j

70、ava類中的viewOrderr()方法,在此方法中調(diào)用數(shù)據(jù)庫操作接口中的OrderServiceImpl.java類的browseOrderMer()方法,返回訂單列表list,然后調(diào)用MerServiceImpl.java中的loadMer()方法裝載商品信息,返回mer。最后由OrderAction.java類根據(jù)配置文件將處理結(jié)果返回到OrderInfo.jap頁面中。瀏覽訂單時序圖如圖3.4所示。</p><

71、;p>  圖3.4 瀏覽訂單時序圖</p><p><b>  本章小結(jié)</b></p><p>  本章對體育商城網(wǎng)站進(jìn)行了需求分析,從市場的需求和開發(fā)技術(shù)可行性的角度上看都是可行的,然后對系統(tǒng)各用例進(jìn)行了分析,主要非為了前臺用例和系統(tǒng)后臺管理用例,并利用用例表對各用例功能進(jìn)行了詳細(xì)闡述。最后通過部分功能的時序圖描述了系統(tǒng)各對象之間的調(diào)用關(guān)系。</p&g

72、t;<p>  體育商城網(wǎng)站的系統(tǒng)設(shè)計(jì)</p><p>  本系統(tǒng)采用Struts框架,利用其組件的模塊化,靈活性和重用性等優(yōu)點(diǎn),簡化了基于MVC的web應(yīng)用程序的開發(fā)。此框架使控制層,事務(wù)邏輯層和視圖層變得條理清晰,從而簡化了開發(fā)過程。此框架自帶的組件,例如Validator、Menu組件等都大大減少了開發(fā)量,使用這些組件可直接生成表單驗(yàn)證和菜單的功能。在使用Struts框架的同時,使用ORM中間

73、件Hibernate連接數(shù)據(jù)庫與應(yīng)用程序,這樣,在整個體系結(jié)構(gòu)中又添加了一個持久層,Hibernate可有效地對業(yè)務(wù)邏輯層和數(shù)據(jù)庫層進(jìn)行分離,使得在編寫業(yè)務(wù)邏輯層代碼時,不需要考慮數(shù)據(jù)庫操作。并且因?yàn)榫哂蠴RM對象,在對數(shù)據(jù)庫操作時,可以面向?qū)ο蟛僮鳌?lt;/p><p><b>  功能模塊設(shè)計(jì)</b></p><p>  根據(jù)對系統(tǒng)功能需求分析的結(jié)果,進(jìn)行模塊劃分,將

74、系統(tǒng)劃分為前臺子系統(tǒng)和后臺子系統(tǒng)兩個模塊。每個模塊包含若干功能,得到系統(tǒng)功能模塊圖如圖4.1所示。</p><p>  圖4.1 系統(tǒng)功能模塊圖</p><p><b>  前臺子系統(tǒng)</b></p><p>  主要為客戶所提供,擁有商城所必須有的商品瀏覽、購物車管理、注冊會員、商品搜索、訂單管理等功能,還添加了客戶評價(jià)和文件下載的功能。&l

75、t;/p><p>  為方便用戶查找自己想要的商品,其中商品瀏覽可分為普通商品瀏覽和特價(jià)商品瀏覽,并且可根據(jù)商品的類別進(jìn)行瀏覽,在商品詳情中還設(shè)有客戶評價(jià)功能。除了商品瀏覽外,客戶還可根據(jù)商品的關(guān)鍵字進(jìn)行搜索,更快地定位需要購買的商品。用戶注冊需要填寫姓名、電話、地址等詳細(xì)信息。當(dāng)顧客對產(chǎn)品不夠了解時,可以使用查看留言功能,在此會把客戶對各個產(chǎn)品的評價(jià)都顯示出來,顧客可根據(jù)網(wǎng)友的建議來選擇適合的商品。當(dāng)選擇好商品后,

76、將其放入購物車,放入購物車但還未提交的商品,也可從購物車中刪除。在確認(rèn)需要購買此商品后,從購物車中提交訂單,在訂單管理中可進(jìn)行查詢、修改等操作。為了使用戶得到更多的產(chǎn)品信息知識,設(shè)置了文件下載功能,在此顧客可在申請成為注冊用戶后下載資源文件中的文檔、視頻等。</p><p><b>  后臺子系統(tǒng)</b></p><p>  只有管理員可以登錄對系統(tǒng)進(jìn)行管理,并且每個

77、管理員擁有不同的權(quán)限進(jìn)行不同的管理,分為商品管理、會員管理、管理員管理、文件管理、訂單管理。</p><p>  為限制管理員的權(quán)限,本系統(tǒng)將管理員權(quán)限分為5種,每個管理員只能擁有一種權(quán)限。商品管理員可對商品分類、商品和特價(jià)商品進(jìn)行增、刪、改、查等操作。當(dāng)注冊用戶購買商品,提交訂單后,訂單管理員可進(jìn)行查看訂單、受理訂單、結(jié)單、刪除訂單的操作。會員管理員可查看會員詳情、刪除會員,當(dāng)注冊用戶對某件商品進(jìn)行留言,提出疑

78、問時,會員管理員可對用戶留言進(jìn)行回復(fù),及時解答顧客疑問。為提供最新的信息給顧客,文件管理員會及時上傳有關(guān)產(chǎn)品的最新文檔和視頻等。系統(tǒng)管理員負(fù)責(zé)對其他管理員的權(quán)限等進(jìn)行調(diào)整、修改。</p><p><b>  系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</b></p><p>  本網(wǎng)站在通信機(jī)制上以傳統(tǒng)的同步通信為主,在需要更新局部數(shù)據(jù)或處理一些簡單數(shù)據(jù)傳遞時則采用異步通信。從軟件系統(tǒng)體系結(jié)構(gòu)考慮

79、,系統(tǒng)按照高內(nèi)聚、低耦合的軟件設(shè)計(jì)思想,將系統(tǒng)分為表示層、控制層、業(yè)務(wù)邏輯層、持久層、數(shù)據(jù)庫層。</p><p>  商城系統(tǒng)分層架構(gòu)示意圖4.2如下:</p><p>  圖4.2 商城系統(tǒng)MVC分層架構(gòu)圖</p><p>  表示層負(fù)責(zé)與系統(tǒng)用戶進(jìn)行交互,主要是為用戶顯示頁面,接受用戶操作命令,向下層傳遞參數(shù),主要由jsp文件以及struts標(biāo)簽庫組成??刂茖迂?fù)

80、責(zé)調(diào)度業(yè)務(wù)邏輯層來處理業(yè)務(wù)邏輯,接受表現(xiàn)層的操作命令,通過調(diào)用業(yè)務(wù)邏輯層來完成業(yè)務(wù),該層主要使用struts框架下的action實(shí)現(xiàn)。業(yè)務(wù)邏輯層主要負(fù)責(zé)完成用戶所指定的業(yè)務(wù)邏輯以及調(diào)用數(shù)據(jù)庫訪問層。數(shù)據(jù)庫訪問層由多個DAO接口組成,各DAO接口的實(shí)現(xiàn)負(fù)責(zé)對數(shù)據(jù)庫的訪問,從中通過ORM中間件Hibernate。這樣劃分層次,使軟件系統(tǒng)結(jié)構(gòu)清晰,邏輯相互獨(dú)立,實(shí)現(xiàn)了松散耦合。</p><p><b>  業(yè)

81、務(wù)流程設(shè)計(jì)</b></p><p>  本文的主要業(yè)務(wù)是顧客購買商品,商城主業(yè)務(wù)流程如圖4.3所示。</p><p>  圖4.3商城主業(yè)務(wù)流程圖</p><p>  本文除了提供購買商品的主業(yè)務(wù)以外,還添加了附加的功能。如用戶評價(jià)、留言查看和文件下載功能。用戶可在商品詳情頁面對商品進(jìn)行評價(jià),以供他人參考。管理員還會定期上傳相關(guān)資料,供用戶下載學(xué)習(xí)。&l

82、t;/p><p><b>  數(shù)據(jù)庫設(shè)計(jì)</b></p><p><b>  數(shù)據(jù)庫ER圖設(shè)計(jì)</b></p><p>  E-R模型是數(shù)據(jù)庫概要設(shè)計(jì)中廣泛采用的方法。數(shù)據(jù)庫E-R圖主要用于描述數(shù)據(jù)的實(shí)體(Entity)與關(guān)系(Relationship),實(shí)體是客觀存在并可以相互區(qū)別的事物,關(guān)系是實(shí)體內(nèi)部的聯(lián)系或?qū)嶓w之間的聯(lián)系

83、。</p><p>  根據(jù)系統(tǒng)的需求分析,我們從中抽取出用戶、管理員、訂單、文件、留言等實(shí)體。它們之間的關(guān)系如圖4.4所示。</p><p>  如圖4.4 數(shù)據(jù)庫ER圖</p><p><b>  數(shù)據(jù)庫表設(shè)計(jì)</b></p><p><b>  管理員表Admin</b></p>

84、<p>  管理員表的表名為admin,用于存儲管理員的基本信息。當(dāng)管理員登錄后臺管理系統(tǒng)時將訪問該表。其中ID字段作為主鍵,每新增一個管理員,ID自增1。設(shè)置ID字段可方便對數(shù)據(jù)庫的索引查找。為了不讓后臺管理的職責(zé)集中于一人,細(xì)化后臺管理員的權(quán)限,本文設(shè)置了AdminType字段,此字段為管理員類型,在本設(shè)計(jì)中共有5種管理員類型1,2,3,4,5,分別對應(yīng)了商品管理員、訂單管理員、會員管理員、系統(tǒng)管理員和文件管理員。管理員

85、表的各字段設(shè)計(jì)如表4.1所示。</p><p>  表4.1管理員各字段設(shè)計(jì)表</p><p><b>  訂單表orders</b></p><p>  訂單表的表名為orders,用于存儲訂單信息。設(shè)置訂單ID號用于索引查找。訂單主要由顧客下單產(chǎn)生,所以與會員表有著緊密的聯(lián)系,設(shè)置外鍵會員ID號Member使兩表在物理上形成一定關(guān)系。除此以

86、外,訂單表還與購物車表也存在著一定的關(guān)聯(lián),故設(shè)置外鍵購物車ID號Cart。字段訂單編號為隨機(jī)產(chǎn)生的13位數(shù)字。字段訂單狀態(tài)OrderStatus一共有3個狀態(tài)1,2,3分別對應(yīng)了未受理、處理中、結(jié)單。訂單表的各字段設(shè)計(jì)如表4.2所示。</p><p>  表4.2 訂單各字段設(shè)計(jì)表</p><p>  購物車商品連接表cartselectedmer</p><p>

87、  購物車與商品為多對多關(guān)聯(lián),在數(shù)據(jù)庫的物理實(shí)現(xiàn)上,通過采用cartselectedmer連接表中的外鍵Cart和Merchandise分別對應(yīng)的購物車ID號和商品ID號,實(shí)現(xiàn)這種多對多的關(guān)聯(lián)。因?yàn)樾枰谫徫镘嚤碇蝎@取會員信息,故設(shè)置購物車ID號為外鍵作為索引,使此表與購物車表相關(guān)聯(lián)。購物車中包含的商品信息需要從商品表中獲得,因此在此表中設(shè)置商品ID號Merchandise為外鍵。購物車商品選購表如表4.3所示。</p>

88、<p>  表4.3 購物車商品選購表</p><p><b>  購物車表cart</b></p><p>  購物車表的表名為cart,用于存儲購物車的基本信息。當(dāng)顧客購買物品、查看購物車時將訪問該表。此表與會員表關(guān)系密切,因?yàn)橘徫镘嚤仨殞儆谀骋粫T,不可能獨(dú)自存在,所以設(shè)置外鍵會員ID號Member使購物車表與會員表形成物理關(guān)聯(lián)。購物車表的各字段設(shè)計(jì)如

89、表4.4所示。</p><p>  表4.4 購物車各字段設(shè)計(jì)表</p><p>  商品類別表category</p><p>  商品類別表的表名為category,用于存儲商品類別信息。此表的字段較少,主要作為商品表的關(guān)聯(lián)表。設(shè)置商品類別ID號為主鍵,并且在商品表中設(shè)置其為外鍵。商品類別表的各字段設(shè)計(jì)如表4.5所示。</p><p> 

90、 表4.5 商品類別各字段設(shè)計(jì)表</p><p>  文件表fileshare</p><p>  文件表的表名為fileshare,用于存儲文件信息。設(shè)置文件編號ID為主鍵方便索引查找。FilePath的字段存的是文件的路徑。由程序控制取得文件大小、文件格式等文件信息。文件表的各字段設(shè)計(jì)如表4.5所示。</p><p>  表4.6 文件各字段設(shè)計(jì)表</p&

91、gt;<p>  留言表leaveword</p><p>  留言表的表名為leaveword,用于存儲留言信息。設(shè)置用戶ID號為主鍵,方便對留言表的查詢等操作。此表中沒有設(shè)置外鍵,故沒有與其他表在物理上形成關(guān)聯(lián)。但是此表與三個表在邏輯上擁有關(guān)系,分別為會員表Member、管理員表Admin和商品表Merchandise。只有在會員登錄后才能進(jìn)行留言,留言信息將通過程序?qū)崿F(xiàn)顯示會員信息;同時,會員

92、只能對某件商品進(jìn)行留言,故商品信息也會在留言信息中出現(xiàn)。管理員可對會員的留言進(jìn)行回復(fù),但不是必須得。留言內(nèi)容采用的是小文本類型TEXT當(dāng)留言表的各字段設(shè)計(jì)如表4.7所示。</p><p>  表4.7 留言各字段設(shè)計(jì)表</p><p>  表4.7 留言各字段設(shè)計(jì)表(續(xù))</p><p><b>  會員表member</b></p>

93、;<p>  會員表的表名為member,用于存儲會員信息。此表擁有較多的字段,因?yàn)樯坛切枰敿?xì)的會員信息。設(shè)置會員ID號為主鍵,方便數(shù)據(jù)庫的索引查找。在顯示會員信息時,需要調(diào)用會員等級表的信息,故應(yīng)在會員表和會員等級表間建立聯(lián)系,在表中設(shè)置會員等級ID號為外鍵,這樣在顯示會員信息時即可查找會員等級表的會員等級信息。字段注冊日期和上次登錄時間使用DATETIME類型,在數(shù)據(jù)庫中采用“年-月-日 時-分-秒”的格式儲存。會員

94、表的各字段設(shè)計(jì)如表4.8所示。</p><p>  表4.8 會員各字段設(shè)計(jì)表</p><p>  會員級別表memeberlevel</p><p>  文件級別表的表名為memberlevel,用于存儲會員級別信息。此字段只擁有三個字段,分別為主鍵ID號、級別名稱和折扣。此表中沒有設(shè)置外鍵,但會員級別ID號作為會員表的外鍵,使兩個表形成關(guān)聯(lián)。會員級別表的各字段設(shè)

95、計(jì)如表4.9所示。</p><p>  表4.9 會員級別各字段設(shè)計(jì)表</p><p>  商品列表merchandise</p><p>  商品表的表名為merchandise,用于存儲商品信息。此表也擁有較多的字段,因?yàn)橐M可能詳細(xì)地向用戶呈現(xiàn)商品信息,使用戶可以更準(zhǔn)確地根據(jù)商品信息選擇適當(dāng)?shù)漠a(chǎn)品。主鍵依然是使用ID號,與此表有關(guān)聯(lián)的表只有商品類別表Categ

96、ory,在對商品分類時,需要調(diào)用商品類別表的信息,故在此表中設(shè)置外鍵商品類別ID號Category。字段Special用于判斷商品是否為特價(jià)商品,當(dāng)取值為0時,表明非特價(jià)商品;當(dāng)取值為1時,則是特價(jià)商品。其余字段則進(jìn)一步說明了商品的詳細(xì)信息。商品表的各字段設(shè)計(jì)如表4.10所示。</p><p>  表4.10 商品各字段設(shè)計(jì)表</p><p><b>  接口設(shè)計(jì)</b&g

97、t;</p><p>  在Struts架構(gòu)下,不同的模塊對應(yīng)了不同的Action類,這些Action中包含了各種開發(fā)人員所需的方法。在本網(wǎng)站中,這些Action負(fù)責(zé)處理頁面提交上來的業(yè)務(wù)請求,調(diào)用com.service中相應(yīng)的接口對數(shù)據(jù)庫進(jìn)行訪問。為了使開發(fā)更具邏輯性,根據(jù)功能的需求,我在此包下設(shè)置了7個接口,分別對應(yīng)管理員表、購物車表、文件表、用戶表、商品表、訂單表和留言表的操作。接口設(shè)計(jì)如表4.11所示。&

98、lt;/p><p>  表4.11 接口設(shè)計(jì)表</p><p><b>  本章小結(jié)</b></p><p>  本章通過系統(tǒng)功能模塊設(shè)計(jì)、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、業(yè)務(wù)流程設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和接口設(shè)計(jì)五個部分闡述了本系統(tǒng)的設(shè)計(jì)過程。在功能設(shè)計(jì)中詳細(xì)描述了前臺系統(tǒng)和后臺系統(tǒng)的主要功能。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)描述了系統(tǒng)的分層結(jié)構(gòu),表示層、控制層、業(yè)務(wù)邏輯層、持久層、數(shù)據(jù)庫層

99、使整個系統(tǒng)層次清晰。業(yè)務(wù)流程設(shè)計(jì)描述了商城主要業(yè)務(wù)購買商品,用購買商品流程圖清晰地表述了購買商品的過程。數(shù)據(jù)庫的設(shè)計(jì)首先展示了系統(tǒng)數(shù)據(jù)庫總體的ER圖,讓讀者對系統(tǒng)數(shù)據(jù)庫有了初步認(rèn)識,然后利用各數(shù)據(jù)庫表詳細(xì)描述了所含參數(shù)和具體功能。接口設(shè)計(jì)用表的形式展示了用于操作數(shù)據(jù)庫的接口。</p><p>  基于Struts框架的系統(tǒng)實(shí)現(xiàn)</p><p>  通過系統(tǒng)分析和系統(tǒng)設(shè)計(jì),本系統(tǒng)采用MyEc

100、lipse開發(fā)平臺、MySQL數(shù)據(jù)庫和Tomcat服務(wù)器開發(fā)。</p><p><b>  軟件開發(fā)平臺</b></p><p><b>  數(shù)據(jù)庫</b></p><p>  本系統(tǒng)采用的是MySQL數(shù)據(jù)庫。MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購

101、。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。</p><p>  與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少

102、它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。MySQL的特性:</p><p>  1.使用C和C++編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris

103、、Windows等多種操作系統(tǒng)。3.為多種編程語言提供了API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。4.支持多線程,充分利用CPU資源。5.優(yōu)化的SQL查詢算法,有效地提高查詢速度。6.既能夠作為一個單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以

104、用作數(shù)據(jù)表名和數(shù)據(jù)列名。7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑。8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。9.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫</p><p><b>  開發(fā)工具</b></p><p>  本系統(tǒng)使用MyEclipse為開發(fā)工具。</p><p>  MyEclipse企業(yè)級工作平臺(MyE

105、clipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。</p><p> 

106、 在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:</p><p>  J2EE模型、WEB開發(fā)工具、EJB開發(fā)工具、應(yīng)用程序服務(wù)器的連接器、J2EE項(xiàng)目部署服務(wù)、數(shù)據(jù)庫服務(wù)、MyEclipse整合幫助。</p><p>  對于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情

107、況下,對任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級。</p><p>  簡單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。</p><p><b>  服務(wù)器Tomcat</b></p><p>  Tomcat服務(wù)器是一個免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器。</p>

108、<p>  Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta項(xiàng)目中的一個核心項(xiàng)目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),因?yàn)門omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)

109、用服務(wù)器。</p><p>  Tomcat很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。</p><p>  Tomcat是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對

110、于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實(shí)際上Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以運(yùn)行tomcat時,它實(shí)際上作為一個與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 </p><p>  當(dāng)配置正確時,Apache為HTML頁面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP頁面和Servlet。另外,Tomcat和IIS、Apache

溫馨提示

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

最新文檔

評論

0/150

提交評論