版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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)意識(shí)的提高,體育用品在中國市場(chǎng)上的發(fā)展不可估量。為了給交易者帶來更多的方便,設(shè)計(jì)并開發(fā)了體育商城網(wǎng)站。在本體育商城網(wǎng)站中,顧客可以很快地看到商品的信息和訂購自己滿意的商品。網(wǎng)站后臺(tái)管理員可以馬上瀏覽到顧
4、客下的訂單,然后進(jìn)行處理。</p><p> 本文對(duì)體育商城網(wǎng)站進(jìn)行了分析,設(shè)計(jì)并實(shí)現(xiàn)了體育商城網(wǎng)站的用戶注冊(cè)登錄、查詢商品、分類瀏覽購買商品、訂單管理、購物車管理、發(fā)表留言、下載文件等功能。本文采用了MyEclipse開發(fā)工具,JSP語言,MySQL數(shù)據(jù)庫和Tomcat服務(wù)器,采用了Struts + Hibernate的架構(gòu),節(jié)省了開發(fā)時(shí)間和成本,簡(jiǎn)化了基于MVC的Web應(yīng)用程序的開發(fā),同時(shí),簡(jiǎn)單應(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個(gè)數(shù)據(jù)庫表。經(jīng)過測(cè)試,實(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)站的時(shí)序分析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ā)平臺(tái)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ái)子系統(tǒng)實(shí)現(xiàn)30</p><p> 5.3.1 體育商城網(wǎng)站首頁30</p>
20、<p> 5.3.2 顧客注冊(cè)登錄模塊30</p><p> 5.3.3 商品瀏覽搜索模塊的實(shí)現(xiàn)32</p><p> 5.4 后臺(tái)子系統(tǒng)實(shí)現(xiàn)33</p><p> 5.4.1 后臺(tái)登錄模塊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)前臺(tái)JSP頁面36</p><p> 5.5.2 系統(tǒng)后臺(tái)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)系對(duì)象映射包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)測(cè)試41</p><p> 6.1 后臺(tái)系統(tǒng)測(cè)試41</p><p> 6.2 前臺(tái)系統(tǒng)測(cè)試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ò)購物市場(chǎng)07年取得了爆發(fā)式增長,08年則延續(xù)了這種高增長態(tài)勢(shì)。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)購已步入快速上升期,并且其增長勢(shì)頭受地震災(zāi)害、金融危機(jī)等突發(fā)事件的影響很小。同時(shí)網(wǎng)購用戶規(guī)模達(dá)8000萬,近三成的網(wǎng)民都成為網(wǎng)絡(luò)購物用戶,相比07 年增長率45.5%,增速非???/p>
26、;網(wǎng)絡(luò)購物占社會(huì)消費(fèi)品零售總額的比重也首次突破1%;種種數(shù)據(jù)都表明,網(wǎng)絡(luò)購物已經(jīng)成為傳統(tǒng)零售市場(chǎng)的重要補(bǔ)充,網(wǎng)絡(luò)作為企業(yè)零售渠道的重要性也逐步被越來越多的企業(yè)認(rèn)知。展望未來網(wǎng)絡(luò)購物市場(chǎng)的發(fā)展,網(wǎng)絡(luò)購物市場(chǎng)將會(huì)吸引更多企業(yè)用戶和個(gè)人用戶加入,也會(huì)吸引資本市場(chǎng)更多的關(guān)注,中國的網(wǎng)絡(luò)購物正步入快速成長期[1]。</p><p> 隨著中國成功舉辦2008年北京奧運(yùn)會(huì),體育事業(yè)、體育經(jīng)濟(jì)成為中國經(jīng)濟(jì)發(fā)展的一個(gè)新焦點(diǎn)。這
27、使得中國的體育用品市場(chǎng)迎來了一個(gè)新的高潮。中國體育用品市場(chǎng)自2000年起每年都以兩位數(shù)的速度在高速增長,到2004年,整個(gè)市場(chǎng)規(guī)模達(dá)到42億美金。與此同時(shí),中國是全球最大的體育用品制造基地,每年全世界大約有60%的體育用品是在中國生產(chǎn)制造的。2004年,全國全國體育用品出口達(dá)54億美金。據(jù)預(yù)計(jì),到2008年,中國的體育用品市場(chǎng)規(guī) 模將達(dá)到62億美金。隨著社會(huì)的發(fā)展,生活水平的提高,中產(chǎn)階層的出現(xiàn)和城鎮(zhèn)居民可支配收入的提高,使得中國的消費(fèi)
28、者擁有了更多的時(shí)間和閑錢去用于體育消費(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è)對(duì)消費(fèi)者),C2C(Customer to Cu
29、stomer,即消費(fèi)者對(duì)消費(fèi)者)電子商務(wù)的前端商務(wù)平臺(tái),在其商務(wù)活動(dòng)全過程中起著舉足輕重的作用。中國的網(wǎng)絡(luò)購物從B2C 起家,但是近年來的發(fā)展卻是以C2C 為絕對(duì)主流。從07-08年網(wǎng)購市場(chǎng)變化趨勢(shì)來看,B2C 正在重新崛起,網(wǎng)絡(luò)作為重要的零售渠道,其低成本、直接面對(duì)消費(fèi)者的渠道優(yōu)勢(shì)正被越來越多的傳統(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)購物交易額占社會(huì)零售商品總額的比重剛突破1%,達(dá)到1.2%,網(wǎng)購仍是非常小眾的消費(fèi)方式。這說明我國的網(wǎng)絡(luò)購物根本而言還處于發(fā)展的初級(jí)階段。網(wǎng)絡(luò)零售以其便捷性、價(jià)格優(yōu)勢(shì),吸引著越來越多人群的關(guān)注,是節(jié)約生活成本、提高生活質(zhì)量的選擇
31、。從這些意義上來講,未來網(wǎng)絡(luò)零售的增量空間不可限量。</p><p><b> 研究目的及意義</b></p><p> 由于大型體育商品店在二、三級(jí)城市設(shè)立實(shí)體店,未必能獲得較大的利潤空間,但企業(yè)又不愿意失去這些小城市的客源,因此,企業(yè)的產(chǎn)品銷售網(wǎng)站在此時(shí)就顯得尤為重要。不僅可以吸引更多中小城市的客源,更能夠有效地將閑置的商品售出,減少庫存。</p>
32、<p> 隨著Internet的發(fā)展,為這一商業(yè)運(yùn)作模式提供了一種技術(shù)上的可行性的方案:利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng)Intranet,企業(yè)外部網(wǎng)Extranet,通過廉價(jià)的通訊手段,將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,消除時(shí)間與空間帶來的障礙,從而大大的節(jié)約了交易成本,擴(kuò)大了交易范圍。</p><p> 相比傳統(tǒng)各種分銷渠道,網(wǎng)絡(luò)零售省去了中間諸多代理、分銷環(huán)節(jié)
33、,渠道成本大大節(jié)省,這對(duì)于家電、服裝、鉆石等各個(gè)行業(yè)來講都是如此。企業(yè)把渠道節(jié)省的成本與終端消費(fèi)者分享,益處很多。另一方面國內(nèi)電子商務(wù)經(jīng)過10 年左右的市場(chǎng)培育,配套的支付、物流及用戶習(xí)慣等各個(gè)環(huán)節(jié)基本都已搭建起來,整體環(huán)境是有利的;另一方面,市場(chǎng)中也出現(xiàn)了不少發(fā)展較為迅速、較為完善的電子商務(wù)平臺(tái),這些購物平臺(tái)累積了大量用戶資源、技術(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)站,對(duì)本次體育商城網(wǎng)站的開發(fā)提供了良好的典范。</p><p> 設(shè)計(jì)和完成一個(gè)電子商務(wù)網(wǎng)站的,將會(huì)牽涉到許多技術(shù)上的問題,如:動(dòng)態(tài)網(wǎng)頁制作技術(shù)的,后臺(tái)數(shù)據(jù)庫的設(shè)計(jì)和管理,通過實(shí)際的制作個(gè)網(wǎng)站,避免了紙上談兵,在實(shí)踐中掌握上述技術(shù)
35、的使用。</p><p><b> 本文組織結(jié)構(gòu)</b></p><p> 全文的內(nèi)容分為六章:第一章是緒論,提出本系統(tǒng)的研究背景、研究目的及意義;第二章是關(guān)鍵技術(shù)介紹,對(duì)本系統(tǒng)所用到的相關(guān)技術(shù)Struts、Hibernate等知識(shí)作以簡(jiǎn)要的介紹;第三章是系統(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個(gè)核心部件:模型(Model)、視圖(View)、控制器(Controller)。它們各司其職,既分工明確又相互協(xié)作[3]。</p><p> 首先控制器接受用戶的請(qǐng)求,然后調(diào)用某個(gè)模型來處理用戶的請(qǐng)求,在控制器的控制下,再將處理的結(jié)果交給某個(gè)視圖
38、進(jìn)行格式化輸出給用戶。具體關(guān)系如圖2.1所示:</p><p> 圖2.1模型、視圖與控制器間的分工協(xié)作關(guān)系</p><p> MVC設(shè)計(jì)模式不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性,是一個(gè)優(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),同時(shí)簡(jiǎn)化了基于MVC的Web應(yīng)用程序的開發(fā)[17]。本網(wǎng)站所使用的Struts框架即實(shí)現(xiàn)了MVC架構(gòu)。</p><p> Struts中的模型(Model)表示一個(gè)應(yīng)用程序的數(shù)據(jù)并且包含訪問和管理這些數(shù)據(jù)的業(yè)務(wù)邏輯。業(yè)務(wù)邏輯由JavaBean來實(shí)現(xiàn)。所有屬于應(yīng)用程序持久狀態(tài)的數(shù)據(jù)都應(yīng)該保存于模型的對(duì)象中。一
40、個(gè)模型的接口提供了訪問和更新模型狀態(tài)、執(zhí)行封裝在模型中的業(yè)務(wù)邏輯的方法。模型服務(wù)被控制器訪問,用于查詢或修改模型的狀態(tài),當(dāng)模型的狀態(tài)發(fā)生變化時(shí),會(huì)通知視圖更新視圖狀態(tài)。</p><p> 視圖(View)由JSP頁面和ActionFome Bean組成,用于表現(xiàn)模型的狀態(tài)。表述語句封裝在視圖中,因此同一個(gè)模型狀態(tài)可以不同形式在不同終端上進(jìn)行表現(xiàn)。當(dāng)模型中狀態(tài)變化傳達(dá)到視圖時(shí),視圖會(huì)更新。視圖將用戶輸入的數(shù)據(jù)傳遞
41、給控制器。</p><p> 控制器(Controller)由ActionServlet類和Action類來實(shí)現(xiàn),其任務(wù)是獲取并映射用戶輸入到動(dòng)作并由模型執(zhí)行。根據(jù)用戶輸入和執(zhí)行的結(jié)果選擇下一個(gè)視圖。</p><p> 持久化框架Hibernate</p><p> Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,
42、使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用[19]。</p><p> 持久層即專門負(fù)責(zé)持久化工作的邏輯層,由它統(tǒng)一與數(shù)據(jù)庫層打交道。以前所使用的JDBC對(duì)于小型的應(yīng)用開發(fā)而言,也許感覺還不錯(cuò)。但對(duì)于大型應(yīng)用開發(fā)而言,單憑JDBC就顯得有些力不從心了,例如,
43、從上百張擁有幾十個(gè)字段的數(shù)據(jù)表中數(shù)據(jù)的話,可以想象要寫多少個(gè)getXXX()語句完成數(shù)據(jù)讀取工作,代碼繁瑣,并且出錯(cuò)率高,復(fù)用性低。在多層體系結(jié)構(gòu)的開發(fā)中使用JDBC,負(fù)責(zé)業(yè)務(wù)邏輯代碼編寫的程序員必須密切關(guān)注數(shù)據(jù)庫各表的結(jié)構(gòu)關(guān)系,以確保其SQL語句工作正常。若引入Hibernate這樣的持久層中間件,業(yè)務(wù)邏輯層的開發(fā)人員面對(duì)的就是一個(gè)個(gè)對(duì)象而不必關(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,這樣,整個(gè)網(wǎng)站系統(tǒng)的結(jié)構(gòu)即分為視圖層、控制層、業(yè)務(wù)邏輯層、持久層和數(shù)據(jù)庫層。</p><p> 因?yàn)槌鯇W(xué)Hibernate,在本網(wǎng)站中并未使用到性能管理、緩存管理、連接管理等高級(jí)功能。只使用了基本的新增數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查
45、詢數(shù)據(jù)等基本功能,以及對(duì)象——映射功能。</p><p> 開發(fā)中用到得Hibernate API:</p><p> ?。?)Configuration類:負(fù)責(zé)配置和啟動(dòng)Hibernate,創(chuàng)建SessionFactory實(shí)例。</p><p> ?。?)SessionFactor接口:負(fù)責(zé)初始化Hibernate,創(chuàng)建Session死狐貍,充當(dāng)數(shù)據(jù)源代理,一個(gè)
46、SessionFactory實(shí)例對(duì)應(yīng)一個(gè)數(shù)據(jù)源。</p><p> ?。?)Session接口:負(fù)責(zé)保存、更新、刪除、加載和查詢持久化對(duì)象,充當(dāng)持久化管理。</p><p> ?。?)Transaction接口:對(duì)底層的事務(wù)進(jìn)行了封裝,充當(dāng)事務(wù)管理。</p><p> ?。?)Query接口:執(zhí)行數(shù)據(jù)庫查詢,充當(dāng)Hibernate查詢器。</p>&l
47、t;p> 在查詢數(shù)據(jù)庫時(shí),使用的是HQL語言。Criteria查詢對(duì)查詢條件進(jìn)行了面向?qū)ο蠓庋b,符合編程人員的思維方式,不過HQL(Hibernate Query Language)查詢提供了更加豐富的和靈活的查詢特性,因此Hibernate將HQL查詢方式立為官方推薦的標(biāo)準(zhǔn)查詢方式,HQL查詢?cè)诤wCriteria查詢的所有功能的前提下,提供了類似標(biāo)準(zhǔn)SQL語句的查詢方式,同時(shí)也提供了更加面向?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)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。</p><
49、p> JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(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)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JS
50、P文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。 </p><p> JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回
51、給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。JSP技術(shù)的優(yōu)勢(shì):</p><p> (1)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任
52、意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)
53、可以順利的運(yùn)行于多種平臺(tái)之下。</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,作為一個(gè)開源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使之可以應(yīng)用在任何使用JDBC的場(chǎng)合。HQL(Hibernate Query Language)語言使用戶可用對(duì)象直接對(duì)數(shù)據(jù)庫訪問,而不用面對(duì)一個(gè)個(gè)表,更符合面向?qū)ο缶幊倘藛T
55、的思維方式。</p><p> 最后介紹了本系統(tǒng)所使用的編程語言JSP。</p><p> 體育商城網(wǎng)站的系統(tǒng)分析</p><p> 需求分析是軟件開發(fā)的第一步,是對(duì)用戶需求的定義,對(duì)軟件系統(tǒng)的描述。系統(tǒng)分析將用戶的業(yè)務(wù)邏輯轉(zhuǎn)化為程序邏輯。</p><p> 體育商城網(wǎng)站需求分析</p><p> 隨著經(jīng)濟(jì)的
56、發(fā)展,企業(yè)在市場(chǎng)上面對(duì)著越來越大的競(jìng)爭(zhēng)壓力,為了盡可能獲得更多的客戶群,提高企業(yè)業(yè)績(jī),他們絞盡腦汁推出新的營銷方式。體育產(chǎn)品的銷售商也面臨著同樣的競(jìng)爭(zhēng)壓力,尤其對(duì)中小型的商家更是面臨著被大型企業(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ì)劃針對(duì)“體育商城網(wǎng)站”進(jìn)行設(shè)
57、計(jì),商城主要的營銷產(chǎn)品為乒乓球以及多種附屬產(chǎn)品。</p><p> 在這個(gè)系統(tǒng)中核心要考慮的問題是前臺(tái)顧客訪問商城、購買商品、以及后臺(tái)系統(tǒng)管理員管理商城系統(tǒng)等的業(yè)務(wù)過程,分為兩個(gè)主要部分:</p><p> (1) 前臺(tái)子系統(tǒng):此模塊面向的是廣大顧客,顧客可由此登錄商城主頁,進(jìn)行商品瀏覽、會(huì)員注冊(cè)、購買商品、購物車管理、訂單管理、對(duì)產(chǎn)品進(jìn)行評(píng)價(jià)、下載文件等操作。</p>
58、<p> (2) 后臺(tái)子系統(tǒng):此模塊只能由商城的管理員登錄,并且每種管理員具有特定的權(quán)限,他們只能對(duì)商城進(jìn)行自己權(quán)限范圍內(nèi)的維護(hù),管理員的種類分為商品管理員、訂單管理員、會(huì)員管理員、文件管理員和系統(tǒng)用戶管理員。</p><p> 體育商城網(wǎng)站的用例分析</p><p><b> Actor及其描述</b></p><p> A
59、ctor指的是系統(tǒng)的參與者,是具體用例的驅(qū)動(dòng)者。通過分析模型,得到系統(tǒng)的Actor主要為系統(tǒng)的注冊(cè)用戶。</p><p> 注冊(cè)用戶是系統(tǒng)的主要參與者,主要活動(dòng)有共享考研經(jīng)驗(yàn),發(fā)布出售考研資料,查詢資料,查詢考研經(jīng)驗(yàn)以及用戶個(gè)人信息的維護(hù)和對(duì)出售資料信息的維護(hù)。當(dāng)然,未注冊(cè)用戶也是系統(tǒng)的參與者。但由于權(quán)限的限制,未注冊(cè)用戶只能訪問有限的操作。</p><p><b> 用例描
60、述</b></p><p><b> 系統(tǒng)前臺(tái)用例分析</b></p><p> 根據(jù)需求分析,前臺(tái)系統(tǒng)從整體上主要分為顧客登錄注冊(cè)、商品檢索瀏覽、購物車管理、訂單管理、下載文件和查看留言等主要用例,前臺(tái)系統(tǒng)用例圖如圖3.1所示。</p><p> 圖3.1 前臺(tái)系統(tǒng)用例圖</p><p><b&
61、gt; 檢索、瀏覽商品</b></p><p> 所有用戶可進(jìn)行檢索、瀏覽商品的操作,該用例包括發(fā)表留言,即對(duì)商品進(jìn)行評(píng)價(jià),但只有當(dāng)用戶登錄后才可進(jìn)行評(píng)價(jià)。</p><p> 表3.1 檢索、瀏覽商品用例表</p><p><b> 文件下載</b></p><p> 已注冊(cè)的用戶可直接登錄商城進(jìn)行
62、文件下載。具體用例如表3.2所示。</p><p> 表3.2 下載用例描述</p><p><b> 注冊(cè)</b></p><p> 游客可在首頁注冊(cè)會(huì)員,注冊(cè)后可擁有注冊(cè)會(huì)員的服務(wù)。具體用例如表3.3所示。</p><p> 表3.3 注冊(cè)用例表</p><p><b>
63、登錄</b></p><p> 注冊(cè)用戶可在首頁進(jìn)行登錄,登錄過后才能進(jìn)行管理購物車、文件下載、訂單管理等操作。具體用例如表3.4所示。</p><p> 表3.4 登錄用例表</p><p><b> 管理購物車</b></p><p> 注冊(cè)用戶可對(duì)購物車進(jìn)行管理。具體用例描述如表3.5所示<
64、;/p><p> 表3.5 管理購物車用例描述</p><p><b> 系統(tǒng)后臺(tái)用例分析</b></p><p> 系統(tǒng)后臺(tái)主要包含了管理商品、管理文件、管理訂單、管理會(huì)員和管理系統(tǒng)員等用例,后臺(tái)系統(tǒng)用例圖如圖3.2所示。</p><p> 圖3.2 后臺(tái)系統(tǒng)用例圖</p><p><
65、b> 管理商品</b></p><p> 商品管理員可對(duì)商品進(jìn)行增、刪、改、查等操作,此用例還包括管理商品分類、管理普通商品和管理特價(jià)商品。具體用例描述如表3.6所示。</p><p> 表3.6 管理商品用例描述</p><p><b> 管理會(huì)員</b></p><p> 會(huì)員管理員可對(duì)注
66、冊(cè)用戶進(jìn)行管理,此用例還包括回復(fù)留言用例。具體用例描述如表3.7所示。</p><p> 表3.7管理會(huì)員用例描述</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)站的時(shí)序分析</p><
68、p><b> 查看商品詳情</b></p><p> 當(dāng)顧客要查看商品的詳情時(shí),選中一件商品點(diǎn)擊,此時(shí)調(diào)用MerAction類的showMer()方法,在此方法中,調(diào)用了數(shù)據(jù)庫操作接口MerServiceImpl.java中的browseMerWord()方法并返回一個(gè)list類型數(shù)據(jù),之后調(diào)用了接口WordServiceImpl.java中的browseMerWord()方法和c
69、ountMerWord方法,分別返回留言列表list和留言總數(shù)totals,最后由MerAction類將得到結(jié)果返回給商品詳情頁面。查看商品時(shí)序圖如圖3.3所示。</p><p> 圖3.3 查看商品時(shí)序圖</p><p><b> 瀏覽訂單</b></p><p> 注冊(cè)用戶可從首頁進(jìn)入管理訂單頁面,此時(shí)需調(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頁面中。瀏覽訂單時(shí)序圖如圖3.4所示。</p><
71、;p> 圖3.4 瀏覽訂單時(shí)序圖</p><p><b> 本章小結(jié)</b></p><p> 本章對(duì)體育商城網(wǎng)站進(jìn)行了需求分析,從市場(chǎng)的需求和開發(fā)技術(shù)可行性的角度上看都是可行的,然后對(duì)系統(tǒng)各用例進(jìn)行了分析,主要非為了前臺(tái)用例和系統(tǒng)后臺(tái)管理用例,并利用用例表對(duì)各用例功能進(jìn)行了詳細(xì)闡述。最后通過部分功能的時(shí)序圖描述了系統(tǒng)各對(duì)象之間的調(diào)用關(guān)系。</p&g
72、t;<p> 體育商城網(wǎng)站的系統(tǒng)設(shè)計(jì)</p><p> 本系統(tǒng)采用Struts框架,利用其組件的模塊化,靈活性和重用性等優(yōu)點(diǎn),簡(jiǎn)化了基于MVC的web應(yīng)用程序的開發(fā)。此框架使控制層,事務(wù)邏輯層和視圖層變得條理清晰,從而簡(jiǎn)化了開發(fā)過程。此框架自帶的組件,例如Validator、Menu組件等都大大減少了開發(fā)量,使用這些組件可直接生成表單驗(yàn)證和菜單的功能。在使用Struts框架的同時(shí),使用ORM中間
73、件Hibernate連接數(shù)據(jù)庫與應(yīng)用程序,這樣,在整個(gè)體系結(jié)構(gòu)中又添加了一個(gè)持久層,Hibernate可有效地對(duì)業(yè)務(wù)邏輯層和數(shù)據(jù)庫層進(jìn)行分離,使得在編寫業(yè)務(wù)邏輯層代碼時(shí),不需要考慮數(shù)據(jù)庫操作。并且因?yàn)榫哂蠴RM對(duì)象,在對(duì)數(shù)據(jù)庫操作時(shí),可以面向?qū)ο蟛僮鳌?lt;/p><p><b> 功能模塊設(shè)計(jì)</b></p><p> 根據(jù)對(duì)系統(tǒng)功能需求分析的結(jié)果,進(jìn)行模塊劃分,將
74、系統(tǒng)劃分為前臺(tái)子系統(tǒng)和后臺(tái)子系統(tǒng)兩個(gè)模塊。每個(gè)模塊包含若干功能,得到系統(tǒng)功能模塊圖如圖4.1所示。</p><p> 圖4.1 系統(tǒng)功能模塊圖</p><p><b> 前臺(tái)子系統(tǒng)</b></p><p> 主要為客戶所提供,擁有商城所必須有的商品瀏覽、購物車管理、注冊(cè)會(huì)員、商品搜索、訂單管理等功能,還添加了客戶評(píng)價(jià)和文件下載的功能。&l
75、t;/p><p> 為方便用戶查找自己想要的商品,其中商品瀏覽可分為普通商品瀏覽和特價(jià)商品瀏覽,并且可根據(jù)商品的類別進(jìn)行瀏覽,在商品詳情中還設(shè)有客戶評(píng)價(jià)功能。除了商品瀏覽外,客戶還可根據(jù)商品的關(guān)鍵字進(jìn)行搜索,更快地定位需要購買的商品。用戶注冊(cè)需要填寫姓名、電話、地址等詳細(xì)信息。當(dāng)顧客對(duì)產(chǎn)品不夠了解時(shí),可以使用查看留言功能,在此會(huì)把客戶對(duì)各個(gè)產(chǎn)品的評(píng)價(jià)都顯示出來,顧客可根據(jù)網(wǎng)友的建議來選擇適合的商品。當(dāng)選擇好商品后,
76、將其放入購物車,放入購物車但還未提交的商品,也可從購物車中刪除。在確認(rèn)需要購買此商品后,從購物車中提交訂單,在訂單管理中可進(jìn)行查詢、修改等操作。為了使用戶得到更多的產(chǎn)品信息知識(shí),設(shè)置了文件下載功能,在此顧客可在申請(qǐng)成為注冊(cè)用戶后下載資源文件中的文檔、視頻等。</p><p><b> 后臺(tái)子系統(tǒng)</b></p><p> 只有管理員可以登錄對(duì)系統(tǒng)進(jìn)行管理,并且每個(gè)
77、管理員擁有不同的權(quán)限進(jìn)行不同的管理,分為商品管理、會(huì)員管理、管理員管理、文件管理、訂單管理。</p><p> 為限制管理員的權(quán)限,本系統(tǒng)將管理員權(quán)限分為5種,每個(gè)管理員只能擁有一種權(quán)限。商品管理員可對(duì)商品分類、商品和特價(jià)商品進(jìn)行增、刪、改、查等操作。當(dāng)注冊(cè)用戶購買商品,提交訂單后,訂單管理員可進(jìn)行查看訂單、受理訂單、結(jié)單、刪除訂單的操作。會(huì)員管理員可查看會(huì)員詳情、刪除會(huì)員,當(dāng)注冊(cè)用戶對(duì)某件商品進(jìn)行留言,提出疑
78、問時(shí),會(huì)員管理員可對(duì)用戶留言進(jìn)行回復(fù),及時(shí)解答顧客疑問。為提供最新的信息給顧客,文件管理員會(huì)及時(shí)上傳有關(guān)產(chǎn)品的最新文檔和視頻等。系統(tǒng)管理員負(fù)責(zé)對(duì)其他管理員的權(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ù)或處理一些簡(jiǎn)單數(shù)據(jù)傳遞時(shí)則采用異步通信。從軟件系統(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ù)庫訪問層由多個(gè)DAO接口組成,各DAO接口的實(shí)現(xiàn)負(fù)責(zé)對(duì)數(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ù)以外,還添加了附加的功能。如用戶評(píng)價(jià)、留言查看和文件下載功能。用戶可在商品詳情頁面對(duì)商品進(jìn)行評(píng)價(jià),以供他人參考。管理員還會(huì)定期上傳相關(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,用于存儲(chǔ)管理員的基本信息。當(dāng)管理員登錄后臺(tái)管理系統(tǒng)時(shí)將訪問該表。其中ID字段作為主鍵,每新增一個(gè)管理員,ID自增1。設(shè)置ID字段可方便對(duì)數(shù)據(jù)庫的索引查找。為了不讓后臺(tái)管理的職責(zé)集中于一人,細(xì)化后臺(tái)管理員的權(quán)限,本文設(shè)置了AdminType字段,此字段為管理員類型,在本設(shè)計(jì)中共有5種管理員類型1,2,3,4,5,分別對(duì)應(yīng)了商品管理員、訂單管理員、會(huì)員管理員、系統(tǒng)管理員和文件管理員。管理員
85、表的各字段設(shè)計(jì)如表4.1所示。</p><p> 表4.1管理員各字段設(shè)計(jì)表</p><p><b> 訂單表orders</b></p><p> 訂單表的表名為orders,用于存儲(chǔ)訂單信息。設(shè)置訂單ID號(hào)用于索引查找。訂單主要由顧客下單產(chǎn)生,所以與會(huì)員表有著緊密的聯(lián)系,設(shè)置外鍵會(huì)員ID號(hào)Member使兩表在物理上形成一定關(guān)系。除此以
86、外,訂單表還與購物車表也存在著一定的關(guān)聯(lián),故設(shè)置外鍵購物車ID號(hào)Cart。字段訂單編號(hào)為隨機(jī)產(chǎn)生的13位數(shù)字。字段訂單狀態(tài)OrderStatus一共有3個(gè)狀態(tài)1,2,3分別對(duì)應(yīng)了未受理、處理中、結(jié)單。訂單表的各字段設(shè)計(jì)如表4.2所示。</p><p> 表4.2 訂單各字段設(shè)計(jì)表</p><p> 購物車商品連接表cartselectedmer</p><p>
87、 購物車與商品為多對(duì)多關(guān)聯(lián),在數(shù)據(jù)庫的物理實(shí)現(xiàn)上,通過采用cartselectedmer連接表中的外鍵Cart和Merchandise分別對(duì)應(yīng)的購物車ID號(hào)和商品ID號(hào),實(shí)現(xiàn)這種多對(duì)多的關(guān)聯(lián)。因?yàn)樾枰谫徫镘嚤碇蝎@取會(huì)員信息,故設(shè)置購物車ID號(hào)為外鍵作為索引,使此表與購物車表相關(guān)聯(lián)。購物車中包含的商品信息需要從商品表中獲得,因此在此表中設(shè)置商品ID號(hào)Merchandise為外鍵。購物車商品選購表如表4.3所示。</p>
88、<p> 表4.3 購物車商品選購表</p><p><b> 購物車表cart</b></p><p> 購物車表的表名為cart,用于存儲(chǔ)購物車的基本信息。當(dāng)顧客購買物品、查看購物車時(shí)將訪問該表。此表與會(huì)員表關(guān)系密切,因?yàn)橘徫镘嚤仨殞儆谀骋粫?huì)員,不可能獨(dú)自存在,所以設(shè)置外鍵會(huì)員ID號(hào)Member使購物車表與會(huì)員表形成物理關(guān)聯(lián)。購物車表的各字段設(shè)計(jì)如
89、表4.4所示。</p><p> 表4.4 購物車各字段設(shè)計(jì)表</p><p> 商品類別表category</p><p> 商品類別表的表名為category,用于存儲(chǔ)商品類別信息。此表的字段較少,主要作為商品表的關(guān)聯(lián)表。設(shè)置商品類別ID號(hào)為主鍵,并且在商品表中設(shè)置其為外鍵。商品類別表的各字段設(shè)計(jì)如表4.5所示。</p><p>
90、 表4.5 商品類別各字段設(shè)計(jì)表</p><p> 文件表fileshare</p><p> 文件表的表名為fileshare,用于存儲(chǔ)文件信息。設(shè)置文件編號(hào)ID為主鍵方便索引查找。FilePath的字段存的是文件的路徑。由程序控制取得文件大小、文件格式等文件信息。文件表的各字段設(shè)計(jì)如表4.5所示。</p><p> 表4.6 文件各字段設(shè)計(jì)表</p&
91、gt;<p> 留言表leaveword</p><p> 留言表的表名為leaveword,用于存儲(chǔ)留言信息。設(shè)置用戶ID號(hào)為主鍵,方便對(duì)留言表的查詢等操作。此表中沒有設(shè)置外鍵,故沒有與其他表在物理上形成關(guān)聯(lián)。但是此表與三個(gè)表在邏輯上擁有關(guān)系,分別為會(huì)員表Member、管理員表Admin和商品表Merchandise。只有在會(huì)員登錄后才能進(jìn)行留言,留言信息將通過程序?qū)崿F(xiàn)顯示會(huì)員信息;同時(shí),會(huì)員
92、只能對(duì)某件商品進(jìn)行留言,故商品信息也會(huì)在留言信息中出現(xiàn)。管理員可對(duì)會(huì)員的留言進(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> 會(huì)員表member</b></p>
93、;<p> 會(huì)員表的表名為member,用于存儲(chǔ)會(huì)員信息。此表擁有較多的字段,因?yàn)樯坛切枰敿?xì)的會(huì)員信息。設(shè)置會(huì)員ID號(hào)為主鍵,方便數(shù)據(jù)庫的索引查找。在顯示會(huì)員信息時(shí),需要調(diào)用會(huì)員等級(jí)表的信息,故應(yīng)在會(huì)員表和會(huì)員等級(jí)表間建立聯(lián)系,在表中設(shè)置會(huì)員等級(jí)ID號(hào)為外鍵,這樣在顯示會(huì)員信息時(shí)即可查找會(huì)員等級(jí)表的會(huì)員等級(jí)信息。字段注冊(cè)日期和上次登錄時(shí)間使用DATETIME類型,在數(shù)據(jù)庫中采用“年-月-日 時(shí)-分-秒”的格式儲(chǔ)存。會(huì)員
94、表的各字段設(shè)計(jì)如表4.8所示。</p><p> 表4.8 會(huì)員各字段設(shè)計(jì)表</p><p> 會(huì)員級(jí)別表memeberlevel</p><p> 文件級(jí)別表的表名為memberlevel,用于存儲(chǔ)會(huì)員級(jí)別信息。此字段只擁有三個(gè)字段,分別為主鍵ID號(hào)、級(jí)別名稱和折扣。此表中沒有設(shè)置外鍵,但會(huì)員級(jí)別ID號(hào)作為會(huì)員表的外鍵,使兩個(gè)表形成關(guān)聯(lián)。會(huì)員級(jí)別表的各字段設(shè)
95、計(jì)如表4.9所示。</p><p> 表4.9 會(huì)員級(jí)別各字段設(shè)計(jì)表</p><p> 商品列表merchandise</p><p> 商品表的表名為merchandise,用于存儲(chǔ)商品信息。此表也擁有較多的字段,因?yàn)橐M可能詳細(xì)地向用戶呈現(xiàn)商品信息,使用戶可以更準(zhǔn)確地根據(jù)商品信息選擇適當(dāng)?shù)漠a(chǎn)品。主鍵依然是使用ID號(hào),與此表有關(guān)聯(lián)的表只有商品類別表Categ
96、ory,在對(duì)商品分類時(shí),需要調(diào)用商品類別表的信息,故在此表中設(shè)置外鍵商品類別ID號(hào)Category。字段Special用于判斷商品是否為特價(jià)商品,當(dāng)取值為0時(shí),表明非特價(jià)商品;當(dāng)取值為1時(shí),則是特價(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)下,不同的模塊對(duì)應(yīng)了不同的Action類,這些Action中包含了各種開發(fā)人員所需的方法。在本網(wǎng)站中,這些Action負(fù)責(zé)處理頁面提交上來的業(yè)務(wù)請(qǐng)求,調(diào)用com.service中相應(yīng)的接口對(duì)數(shù)據(jù)庫進(jìn)行訪問。為了使開發(fā)更具邏輯性,根據(jù)功能的需求,我在此包下設(shè)置了7個(gè)接口,分別對(duì)應(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ì)五個(gè)部分闡述了本系統(tǒng)的設(shè)計(jì)過程。在功能設(shè)計(jì)中詳細(xì)描述了前臺(tái)系統(tǒng)和后臺(tái)系統(tǒng)的主要功能。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)描述了系統(tǒng)的分層結(jié)構(gòu),表示層、控制層、業(yè)務(wù)邏輯層、持久層、數(shù)據(jù)庫層
99、使整個(gè)系統(tǒng)層次清晰。業(yè)務(wù)流程設(shè)計(jì)描述了商城主要業(yè)務(wù)購買商品,用購買商品流程圖清晰地表述了購買商品的過程。數(shù)據(jù)庫的設(shè)計(jì)首先展示了系統(tǒng)數(shù)據(jù)庫總體的ER圖,讓讀者對(duì)系統(tǒng)數(shù)據(jù)庫有了初步認(rèn)識(shí),然后利用各數(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ā)平臺(tái)、MySQL數(shù)據(jù)庫和Tomcat服務(wù)器開發(fā)。</p><p><b> 軟件開發(fā)平臺(tái)</b></p><p><b> 數(shù)據(jù)庫</b></p><p> 本系統(tǒng)采用的是MySQL數(shù)據(jù)庫。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被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的功能和效率都相對(duì)比較差)等,但是這絲毫也沒有減少
102、它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。MySQL的特性:</p><p> 1.使用C和C++編寫,并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性。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.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的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è)級(jí)工作平臺(tái)(MyE
105、clipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(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> 對(duì)于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情
107、況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。</p><p> 簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測(cè)試以及除錯(cuò)。</p><p><b> 服務(wù)器Tomcat</b></p><p> Tomcat服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器。</p>
108、<p> Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開發(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)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。</p><p> Tomcat是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對(duì)
110、于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對(duì)HTML頁面的訪問請(qǐng)求。實(shí)際上Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以運(yùn)行tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 </p><p> 當(dāng)配置正確時(shí),Apache為HTML頁面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP頁面和Servlet。另外,Tomcat和IIS、Apache
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- struts的體育商城網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---網(wǎng)上商城網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----網(wǎng)上商城網(wǎng)站設(shè)計(jì)和實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)—網(wǎng)站購物商城系統(tǒng)
- 畢業(yè)設(shè)計(jì)---基于bs的網(wǎng)絡(luò)商城的設(shè)計(jì)與實(shí)現(xiàn)
- 基于php的手機(jī)商城網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 畢業(yè)設(shè)計(jì)(論文)基于web的網(wǎng)上購物商城的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上商城網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 網(wǎng)上商城網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--基于java web的網(wǎng)上商城的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)(論文)基于web的網(wǎng)上購物商城的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---個(gè)人網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---學(xué)校網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 琴國網(wǎng)購物商城的設(shè)計(jì)與實(shí)現(xiàn)-電商網(wǎng)站畢業(yè)設(shè)計(jì)開題報(bào)告
- 琴國網(wǎng)購物商城的設(shè)計(jì)與實(shí)現(xiàn)-電商網(wǎng)站畢業(yè)設(shè)計(jì)開題報(bào)告
- 畢業(yè)設(shè)計(jì)---網(wǎng)站系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--個(gè)人網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--個(gè)人網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---電子商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---基于web的網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論