基于JSP的網(wǎng)上超市系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
《基于JSP的網(wǎng)上超市系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于JSP的網(wǎng)上超市系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(53頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 JIU JIANG UNIVERSITY 畢 業(yè) 論 文 題 目 基于JSP的網(wǎng)上超市系統(tǒng) 的設(shè)計(jì)與實(shí)現(xiàn) 英文題目 Design And Implementation Of Based On JSP Online Supermarket System 院 系 信息科學(xué)與技術(shù)學(xué)院 專(zhuān) 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 姓 名 何俊杰 班級(jí)學(xué)號(hào)
2、10814010132 指導(dǎo)教師 邵君 二○一二年五月 信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 摘 要 隨著Internet飛速發(fā)展,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道。它在人們的政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要作用。特別是對(duì)當(dāng)代中國(guó)的白領(lǐng)來(lái)說(shuō),去超市購(gòu)物逐漸成為令人頭痛的事情。交通堵塞、排隊(duì)結(jié)賬使面臨工作壓力的年輕上班族越來(lái)越不愿意去超市。網(wǎng)上超市帶給顧客全新的生活方式:只要點(diǎn)擊幾下鼠標(biāo),我們就可以將日常所需送到顧客的手中。網(wǎng)上超市是建立在網(wǎng)絡(luò)上的一個(gè)虛擬的購(gòu)物商場(chǎng),避免了人們挑
3、選商品的繁瑣過(guò)程,使購(gòu)物變得輕松、快捷、方便;同時(shí)又能有效的控制“商場(chǎng)”運(yùn)營(yíng)的成本,開(kāi)辟了一個(gè)新的渠道。因此研究和開(kāi)發(fā)網(wǎng)上超市系統(tǒng)對(duì)豐富人們生活,足不出戶(hù)完成工作、學(xué)習(xí)、娛樂(lè)、購(gòu)物等方面有著非常重要的意義。 系統(tǒng)采用JSP技術(shù)和Mysql數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)。 首先,論文簡(jiǎn)要介紹了網(wǎng)上超市系統(tǒng)開(kāi)發(fā)的背景、目的和意義和國(guó)內(nèi)外發(fā)展的現(xiàn)狀,概述了開(kāi)發(fā)本系統(tǒng)所涉及的理論知識(shí)及相關(guān)技術(shù)。 其次,論文詳細(xì)地闡述了系統(tǒng)的需求分析和系統(tǒng)設(shè)計(jì)。通過(guò)采用面向?qū)ο蟮姆治雠c設(shè)計(jì)方法,對(duì)網(wǎng)上超市系統(tǒng)進(jìn)行需求分析。 再次,論文著重介紹了基于JSP技術(shù)的網(wǎng)上超市系統(tǒng)的開(kāi)發(fā)過(guò)程、設(shè)計(jì)方法、軟件的實(shí)現(xiàn)過(guò)程和測(cè)試結(jié)果,以及基于
4、JSP的主要關(guān)鍵技術(shù)的實(shí)現(xiàn)。系統(tǒng)使用了Ajax 技術(shù)實(shí)現(xiàn)頁(yè)面的無(wú)刷新提交。通過(guò)引入基于JSP技術(shù)以便使得系統(tǒng)的邏輯計(jì)算、頁(yè)面層次、訪問(wèn)速度等方面得到改善。 最后,對(duì)論文所做的工作進(jìn)行了總結(jié),并展望下一步的完善與改進(jìn)工作。 該網(wǎng)上超市系統(tǒng)綜合了目前其它相關(guān)技術(shù),外觀設(shè)計(jì)簡(jiǎn)約,交流界面人性化,配合數(shù)據(jù)庫(kù)管理,實(shí)用且易操作。 關(guān)鍵詞: 網(wǎng)上購(gòu)物,電子商務(wù),網(wǎng)上超市系統(tǒng) Abstract With the rapid development of Internet, the Internet become people to quickly get, distribution a
5、nd transfer information important channel. It in peoples political, economic, and other aspects of life plays an important role. The Internet publishing information mainly through the web site to realize. As people life level of, never leave home to complete the job, study, entertainment, shopping h
6、ave become people to the fast pace of living the way a demand. The preliminary design realize the online shopping the basic operation of the process, membership-based shopping system, perfect the function of the web site. This paper describes the design and implementation of e-commerce sites - the
7、purpose of online sales, process and the realization of various functions. Given the systematic analysis of the site, described the webpage design, and introduces the contents of the database and the main implementation. This paper also summed up the main characteristics and functions of webpage. D
8、esign simple, humanity communion interface, with database management, practical and easy to operate. The system use JSP technology and Mysql database technology. Key words: Online Shopping, E-commerce, Online Supermarket 目 錄 摘 要 I Abstract II 1 緒論 1.1 系統(tǒng)開(kāi)發(fā)背景 1 1.2系統(tǒng)實(shí)現(xiàn)的目標(biāo) 2 1.3系
9、統(tǒng)的開(kāi)發(fā)意義 2 1.4本章小結(jié) 3 2 需求分析 2.1 系統(tǒng)非功能性需求 4 2.2系統(tǒng)功能需求 4 2.3 系統(tǒng)數(shù)據(jù)流程分析 5 2.4 環(huán)境需求 6 2.5 本章小結(jié) 8 3 系統(tǒng)設(shè)計(jì) 3.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 9 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 16 3.3 本章小結(jié) 22 4 系統(tǒng)實(shí)現(xiàn) 4.1系統(tǒng)功能簡(jiǎn)介 23 4.2 功能模塊實(shí)現(xiàn) 23 4.3 數(shù)據(jù)庫(kù)實(shí)現(xiàn) 33 4.4 本章小結(jié) 35 5系統(tǒng)測(cè)試 5.1 測(cè)試序號(hào) 36 5.2測(cè)試模塊與運(yùn)行 36 6總結(jié)與展望 致謝 44 參考文獻(xiàn) 45 IV 信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文
10、1 緒論 1.1 系統(tǒng)開(kāi)發(fā)背景 1.1.1網(wǎng)上購(gòu)物的發(fā)展 近年來(lái),隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開(kāi)始流行起來(lái),越來(lái)越多的商家在網(wǎng)上建起在線商店,向消費(fèi)者展示出一種新穎的購(gòu)物理念。 網(wǎng)上購(gòu)物系統(tǒng)作為B2B,B2C(Business to Customer,即企業(yè)對(duì)消費(fèi)者),C2C(Customer to Customer,即消費(fèi)者對(duì)消費(fèi)者)電子商務(wù)的前端商務(wù)平臺(tái),在其商務(wù)活動(dòng)全過(guò)程中起著舉足輕重的作用。本文主要考慮的是如何建設(shè)B2C的網(wǎng)上購(gòu)物系統(tǒng)。 網(wǎng)上購(gòu)物是一種具有交互功能的商業(yè)信息系統(tǒng)。它向用戶(hù)提供靜態(tài)
11、和動(dòng)態(tài)兩類(lèi)信息資源。所謂靜態(tài)信息是指那些比經(jīng)常變動(dòng)或更新的資源,如公司簡(jiǎn)介、管理規(guī)范和公司制度等等;動(dòng)態(tài)信息是指隨時(shí)變化的信息,如商品報(bào)價(jià),會(huì)議安排和培訓(xùn)信息等。網(wǎng)上購(gòu)物系統(tǒng)具有強(qiáng)大的交互功能,可使商家和用戶(hù)方便的傳遞信息,完成電子貿(mào)易或EDI交易。這種全新的交易方式實(shí)現(xiàn)了公司間文檔與資金的無(wú)紙化交換。 1.1.2網(wǎng)上購(gòu)物系統(tǒng)的現(xiàn)狀 目前國(guó)內(nèi)主流購(gòu)物系統(tǒng)中采用ASP、PHP、JSP、JAVA語(yǔ)言開(kāi)發(fā)占據(jù)80%,在模式上隨著近年國(guó)內(nèi)電子商務(wù)情勢(shì)的大好,各購(gòu)物系統(tǒng)開(kāi)發(fā)商的興起如雨后春筍一般。隨著國(guó)家政策的支持和電子商務(wù)行業(yè)的高速發(fā)展,以后的購(gòu)物系統(tǒng)發(fā)展路線必然走向標(biāo)準(zhǔn)化、國(guó)際化、智能化的市場(chǎng)道
12、路。 2005年我國(guó)網(wǎng)民網(wǎng)上購(gòu)物用戶(hù)達(dá)2200萬(wàn),比2004年增長(zhǎng)38.6%,交易額高達(dá)135.05億元。2007年通過(guò)B2B電子商務(wù)完成的交易額達(dá)到21239億元,增長(zhǎng)65.9%,實(shí)現(xiàn)的運(yùn)營(yíng)商營(yíng)業(yè)收入達(dá)39億元,增長(zhǎng)49.1%。2008年6月底,網(wǎng)絡(luò)購(gòu)物用戶(hù)人數(shù)達(dá)到6329萬(wàn),半年內(nèi)增加36.4%,全年我國(guó)電子商務(wù)類(lèi)站點(diǎn)的總體用戶(hù)覆蓋已經(jīng)從9000萬(wàn)戶(hù)提升至9800萬(wàn)戶(hù),網(wǎng)絡(luò)交易規(guī)模接近2700億。根據(jù)我國(guó)電子商務(wù)研究中心發(fā)布的《2010年(上)電子商務(wù)市場(chǎng)數(shù)據(jù)檢測(cè)報(bào)告》顯示,截至2010年6月份,國(guó)內(nèi)個(gè)人網(wǎng)店的數(shù)量已經(jīng)達(dá)到了1200萬(wàn)家,且增長(zhǎng)迅猛,預(yù)計(jì)今年年底網(wǎng)店數(shù)量將達(dá)到1300萬(wàn)家
13、,直接從業(yè)人員超過(guò)130萬(wàn)人,間接帶動(dòng)就業(yè)近1000萬(wàn)人,市場(chǎng)交易額達(dá)到2.25萬(wàn)億元,預(yù)計(jì)全年交易額將超過(guò)4.3萬(wàn)億元。 由上面數(shù)據(jù)可以看出,中國(guó)的網(wǎng)上購(gòu)物發(fā)展正蓬勃發(fā)展,充滿(mǎn)活力,而基于JSP開(kāi)發(fā)的電子商務(wù)網(wǎng)站更是國(guó)內(nèi)外的主流,因此此系統(tǒng)的開(kāi)發(fā)是符合社會(huì)的發(fā)展形式,是很有意義的。 1.2系統(tǒng)實(shí)現(xiàn)的目標(biāo) 現(xiàn)在流行的網(wǎng)上購(gòu)物系統(tǒng)不僅要有漂亮的網(wǎng)頁(yè),更要有嚴(yán)謹(jǐn)?shù)囊?guī)劃,注重每一個(gè)細(xì)小的環(huán)節(jié)。這樣才能使得在電子交易時(shí)避免不必要錯(cuò)誤發(fā)生。我們將使用HTML、JSP等技術(shù)來(lái)編輯網(wǎng)頁(yè),并運(yùn)用JDBC技術(shù)把數(shù)據(jù)庫(kù)和動(dòng)態(tài)網(wǎng)頁(yè)相關(guān)聯(lián)。傳統(tǒng)的管理信息系統(tǒng)信息獲取方法是由專(zhuān)業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的
14、數(shù)據(jù)庫(kù)中,這種方法在數(shù)據(jù)量不大時(shí)有很多的應(yīng)用場(chǎng)合。當(dāng)數(shù)據(jù)量比較大,并且有較強(qiáng)的專(zhuān)業(yè)性時(shí),錄入的費(fèi)用和出錯(cuò)的可能性都相應(yīng)上升。本設(shè)計(jì)在實(shí)際應(yīng)用中的解決方案是建立網(wǎng)站, 以及自己的數(shù)據(jù)庫(kù),使得所需商品信息可以及時(shí)的保存、更新,可以更好的及時(shí)了解商品買(mǎi)賣(mài)的情況。 1.3系統(tǒng)的開(kāi)發(fā)意義 Internet的發(fā)展,為改變傳統(tǒng)的商業(yè)運(yùn)作模式提供了一種技術(shù)上的可行性的方案:利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng)Intranet,企業(yè)外部網(wǎng)Extranet,通過(guò)廉價(jià)的通訊手段,將買(mǎi)家與賣(mài)家、廠商和合作伙伴緊密結(jié)合在了一起,消除時(shí)間與空間帶來(lái)的障礙,從而大大的節(jié)約了交易成本,擴(kuò)大了交易范圍。而在
15、實(shí)際的生活中,這種方案已經(jīng)被廣泛的運(yùn)用到了實(shí)際的商業(yè)活動(dòng)中了,人們將這種交易模式稱(chēng)為:電子商務(wù)。 當(dāng)今比較流行的網(wǎng)上購(gòu)物系統(tǒng)有“淘寶()”以及“當(dāng)當(dāng)()”。它們都是相當(dāng)優(yōu)秀的電子商務(wù)網(wǎng)站,對(duì)其他的網(wǎng)站提供了良好的典范。設(shè)計(jì)中可以學(xué)習(xí)參考他們的思想,了解和熟悉整個(gè)網(wǎng)站的開(kāi)發(fā)流程及完整的電子商務(wù)網(wǎng)站應(yīng)有的功能和注意事項(xiàng)。 設(shè)計(jì)和完成一個(gè)電子商務(wù)網(wǎng)站的,將會(huì)牽涉到許多技術(shù)上的問(wèn)題,如:動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)的,后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)和管理,通過(guò)實(shí)際的制作個(gè)網(wǎng)站,可以避免紙上談兵,在實(shí)踐中掌握上述技術(shù)的使用。 1.4 本章小結(jié) 這一章節(jié)主要就是介紹了一下系統(tǒng)開(kāi)發(fā)的目的以及意義,首先列出了網(wǎng)上超市的一些
16、管理現(xiàn)狀,只有很好的了解了當(dāng)前網(wǎng)上超市的現(xiàn)狀,那樣才能對(duì)該系統(tǒng)進(jìn)行設(shè)計(jì)前期的工作任務(wù)進(jìn)行一個(gè)很好的規(guī)劃,明確該系統(tǒng)的設(shè)計(jì)理念以及改系統(tǒng)要達(dá)到的目標(biāo),同時(shí)明確了本系統(tǒng)開(kāi)發(fā)所涉及的核心技術(shù)。 2 需求分析 2.1 系統(tǒng)非功能性需求 非功能性需求是指為滿(mǎn)足用戶(hù)業(yè)務(wù)需求必須具有但不是功能性需求的系統(tǒng)特性。雖然此需求與系統(tǒng)業(yè)務(wù)邏輯無(wú)直接關(guān)系,但也影響著系統(tǒng)的質(zhì)量,不能忽視。本系統(tǒng)的非功能性需求主要包括以下幾個(gè)方面: (1)界面友好 本系統(tǒng)在功能完善的情況下,界面盡量做到簡(jiǎn)潔友好、便于操作,并應(yīng)有效地防止誤操作的發(fā)生。 (2)支持多用戶(hù)并發(fā)訪問(wèn) 本
17、系統(tǒng)屬于一個(gè)多用戶(hù)的網(wǎng)上購(gòu)物系統(tǒng),因此需要做到支持多用戶(hù)的并發(fā)訪問(wèn),并盡量控制到用戶(hù)可接受的訪問(wèn)速度。 (3)安全性 互聯(lián)網(wǎng)中存在的威脅無(wú)處不在,由于本系統(tǒng)基于Web開(kāi)發(fā),難免要受到安全性的挑戰(zhàn)。因此,本系統(tǒng)應(yīng)盡量避免威脅安全性的因素發(fā)生。 2.2系統(tǒng)功能需求 通過(guò)需求分析,確定本系統(tǒng)有以下一些基本功能: l 登錄注冊(cè)管理:注冊(cè)時(shí)能夠?qū)τ脩?hù)名,密碼的簡(jiǎn)單驗(yàn)證;能夠?qū)﹄娮余]箱,Email進(jìn)行有效性驗(yàn)證;能夠防止利用頁(yè)面刷新重復(fù)注冊(cè),以及已經(jīng)注冊(cè)的用戶(hù)不能重復(fù)注冊(cè)。 l 商品瀏覽:分類(lèi)顯示商品;顯示商品詳情,提供購(gòu)買(mǎi)鏈接。 l 購(gòu)物車(chē)管理:欲購(gòu)買(mǎi)商品可以增添到購(gòu)物車(chē);也可以從購(gòu)
18、物車(chē)退回商品,清空購(gòu)物車(chē);對(duì)于同一件商品的多次購(gòu)買(mǎi)只能在原來(lái)的商品上增添數(shù)量,還可以修改購(gòu)物車(chē)中某個(gè)商品的數(shù)量,統(tǒng)計(jì)商品總金額。 l 訂單管理:只有登錄的用戶(hù)可下訂單;用戶(hù)可以查看自己的訂單。管理員可以修改訂單的狀態(tài)。 l 商品管理:管理員可以增添商品分類(lèi);修改商品基本信息;增添商品時(shí)候可以上傳圖片。 l 用戶(hù)管理:管理員對(duì)注冊(cè)用戶(hù)的維護(hù)。 2.3 系統(tǒng)數(shù)據(jù)流程分析 2.31 系統(tǒng)數(shù)據(jù)流圖 通過(guò)對(duì)系統(tǒng)的網(wǎng)上超市的數(shù)據(jù)流動(dòng)分析,得出數(shù)據(jù)流程如圖2-1所示。 顧客 加入購(gòu)物車(chē) 商品 結(jié)賬 訂單 填寫(xiě)地址 送貨地址 查看商品 商品 管理員 訂單 管理商品信息
19、查看處理訂單 管理用戶(hù)信息 用戶(hù) 有效訂單 圖2-1 系統(tǒng)數(shù)據(jù)流圖 2.32 系統(tǒng)E-R圖 通過(guò)對(duì)系統(tǒng)的網(wǎng)上超市的數(shù)據(jù)分析,得出E-R圖如圖2-2所示。 n 1 n 1 1 1 n 1 圖2-2 系統(tǒng)E-R圖 2.4 環(huán)境需求 2.41 開(kāi)發(fā)平臺(tái) 此系統(tǒng)開(kāi)發(fā)選用的平臺(tái)是Struts2+Java Server Page(簡(jiǎn)稱(chēng)JSP)+Mysql數(shù)據(jù)庫(kù),它適應(yīng)于Windows操作系統(tǒng)并能很好的與其應(yīng)用程序結(jié)合,而且Mysql數(shù)據(jù)庫(kù)也易操作,從而大大降低了編程難度。具體如下: l 采用了Internet架構(gòu),Bowser/Server
20、模式。 l Web服務(wù)器采用Tomcat5.5服務(wù)器,數(shù)據(jù)庫(kù)管理系統(tǒng)為Mysql。 l 采用了jdk1.6的環(huán)境 l 開(kāi)發(fā)工具使用Dreamweaver搭建系統(tǒng)頁(yè)面框架,再利用Struts2自帶的標(biāo)簽插入服務(wù)器端傳過(guò)來(lái)的數(shù)據(jù)。 l 在服務(wù)器端使用Myeclipse工具開(kāi)發(fā),利用Struts2框架處理業(yè)務(wù)。 2.42 系統(tǒng)開(kāi)發(fā)工具 本系統(tǒng)是基于Struts2+JSP+Mysql數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)的,現(xiàn)對(duì)JSP技術(shù)和Mysql數(shù)據(jù)庫(kù)以及Struts2框架作簡(jiǎn)要的介紹。 2.43 開(kāi)發(fā)語(yǔ)言—JSP JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。JavaBean是JSP的技術(shù)基礎(chǔ)
21、,而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要JavaBean和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)等特點(diǎn)。JSP的技術(shù)的優(yōu)勢(shì): l 一次編寫(xiě),到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不需要做任何更改。 l 系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見(jiàn)的。 l JSP技術(shù)是用Java語(yǔ)言作為腳本語(yǔ)言的。Java語(yǔ)言是成熟的、強(qiáng)大的、易擴(kuò)充的編程語(yǔ)言。 l 高效性與安全性。JSP在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)
22、碼由Java虛擬機(jī)解釋執(zhí)行,比源碼解釋效率高。 l 可維護(hù)性。由于JSP技術(shù)是一種開(kāi)放的、跨平臺(tái)的結(jié)構(gòu),因此Web服務(wù)器、平臺(tái)及其他組件能很容易升級(jí)或切換,且不會(huì)影響JSP基本的應(yīng)用程序。 l 多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。 2.44 數(shù)據(jù)庫(kù)—Mysql Mysql是Oracle公司的一款數(shù)據(jù)庫(kù)產(chǎn)品,因?yàn)槠湫∏梢嗖僮?,卻十分穩(wěn)定,成為一些中小型項(xiàng)目和我們學(xué)習(xí)中最常用的數(shù)據(jù)庫(kù),在這里便使用了這款成熟穩(wěn)定的數(shù)據(jù)庫(kù)。 2.45 框架—Struts2 在Stru ts2出現(xiàn)
23、之前,Struts1就是一個(gè)非常有名的框架,它實(shí)現(xiàn)了MVC模式。之后出現(xiàn)的WebWork框架也是一個(gè)很優(yōu)秀的框架,隨著時(shí)間的發(fā)展,Struts1漸漸淘汰,有人用WebWork的核心并包裝上Struts1,由此產(chǎn)生了更先進(jìn)的技術(shù)—Struts2。Struts2是經(jīng)典的MVC結(jié)構(gòu)框架,將顯示,控制,邏輯很好的分離,可以使我們開(kāi)發(fā)起來(lái)更具延展性。 2.5 本章小結(jié) 這一小節(jié)主要是明確系統(tǒng)開(kāi)發(fā)的需求分析,明確系統(tǒng)要實(shí)現(xiàn)的功能,確立系統(tǒng)的功能模塊,按照系統(tǒng)開(kāi)發(fā)的流程,先申述系統(tǒng)的管理概述,繼而就確立系統(tǒng)要實(shí)現(xiàn)的功能模塊,最后確立系統(tǒng)的用戶(hù)角色需求的定位,本需求分析報(bào)告的目的是規(guī)范化本軟件的編寫(xiě),旨在
24、于提高軟件開(kāi)發(fā)過(guò)程中的能見(jiàn)度,便于對(duì)軟件開(kāi)發(fā)過(guò)程中的控制與管理,同時(shí)提出了網(wǎng)上超市系統(tǒng)的軟件開(kāi)發(fā)過(guò)程,便于程序員與客操作者之間的交流、協(xié)作,并作為工作成果的原始依據(jù),同時(shí)也表明了本軟件的共性,以期能夠獲得更大范圍的應(yīng)用。 3 系統(tǒng)設(shè)計(jì) 3.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)課分為前后臺(tái)兩個(gè)部分,共有用戶(hù)登錄注冊(cè)、商品展示、購(gòu)物車(chē)、結(jié)賬、后臺(tái)管理五大模塊 網(wǎng)上購(gòu)物系統(tǒng)前臺(tái)功能結(jié)構(gòu)如圖3-1所示 網(wǎng)上購(gòu)物系統(tǒng)前臺(tái) 會(huì)員管理 商品展示 購(gòu)物車(chē) 結(jié)賬 會(huì)員登陸注冊(cè) 會(huì)員資料管理 會(huì)員訂單查詢(xún) 分類(lèi)展示 銷(xiāo)售排行 掌柜推薦 新品上架 添加商品 移除商品 恢復(fù)移除的商
25、品 生成訂單 填寫(xiě)送貨信息 選擇之前填寫(xiě)過(guò)的地址 圖3-1 系統(tǒng)前臺(tái)功能結(jié)構(gòu)圖 網(wǎng)上購(gòu)物系統(tǒng)后臺(tái)功能結(jié)構(gòu)如圖3-2所示 網(wǎng)上購(gòu)物系統(tǒng)后臺(tái) 后臺(tái)登錄 商品維護(hù) 會(huì)員維護(hù) 訂單維護(hù) 退出后臺(tái) 圖3-2 系統(tǒng)后臺(tái)功能結(jié)構(gòu)圖 系統(tǒng)處理業(yè)務(wù)流程如圖3-3所示 圖3-3 業(yè)務(wù)流程圖 主要可將本購(gòu)物系統(tǒng)分為五個(gè)模塊 1. 登陸注冊(cè)模塊 登陸 驗(yàn)證 個(gè)人首頁(yè) 正確 不正確 首頁(yè) 注冊(cè) 填寫(xiě)信息 驗(yàn)證 注冊(cè)成功 圖3-4 登陸注冊(cè)流程圖 (1)首先進(jìn)入主頁(yè)面main.jsp時(shí),先載入一些靜態(tài)元素和左邊欄、右邊欄兩個(gè)只需顯示文字的動(dòng)態(tài)
26、數(shù)據(jù),而其他的幾個(gè)div版塊,如站長(zhǎng)推薦,熱銷(xiāo)版,新上架等模塊都是通過(guò)AJAX技術(shù)異步加載進(jìn)main.jsp頁(yè)面。 (2)登陸時(shí)加上了javascript驗(yàn)證表單。 (3)注冊(cè)時(shí)加上了javascript驗(yàn)證表單,在填寫(xiě)email即用戶(hù)名的時(shí)候,通過(guò)失去焦點(diǎn)事件和Ajax技術(shù)向服務(wù)器發(fā)送異步請(qǐng)求查詢(xún)用戶(hù)名是否存在,并在注冊(cè)頁(yè)面局部刷新提示用戶(hù),驗(yàn)證碼也是通過(guò)Ajax技術(shù)實(shí)現(xiàn)。 (4)注冊(cè)頁(yè)面提交后,會(huì)出現(xiàn)一個(gè)驗(yàn)證郵箱提示,服務(wù)器向用戶(hù)郵箱發(fā)送了一個(gè)驗(yàn)證碼,用戶(hù)需要填寫(xiě)驗(yàn)證碼才能完成注冊(cè),如果不進(jìn)行驗(yàn)證,下次登錄是還會(huì)提示驗(yàn)證,不能使用用戶(hù)功能。 (5)輸入郵箱驗(yàn)證碼后,完成注冊(cè)。
27、 2. 商品查看與展示 (1)在首頁(yè)主要構(gòu)成是左邊欄、右邊欄、站長(zhǎng)推薦、熱賣(mài)商品、新品上架等。左邊欄顯示的是商品分類(lèi)信息,一個(gè)大類(lèi),下面是小類(lèi),如:圖書(shū)(大類(lèi)), 世界名著、歷史軍事、小說(shuō)文學(xué)(小類(lèi));右邊欄是“新品熱銷(xiāo)版”,顯示的是最近一個(gè)月上架的商品的銷(xiāo)售排行NO.1~~NO.8;站長(zhǎng)推薦,顯示通過(guò)隨機(jī)查詢(xún)的商品,有商品圖片,商品名,商品介紹等信息;“熱賣(mài)版”是通過(guò)銷(xiāo)量查詢(xún)顯示的商品;“新品上架”是通過(guò)添加時(shí)間查詢(xún)最近添加的商品。 (2)從左邊欄點(diǎn)擊分類(lèi)進(jìn)去查看商品信息,會(huì)進(jìn)入商品列表頁(yè)面,左邊欄顯示當(dāng)前進(jìn)入的這個(gè)大類(lèi)別已經(jīng)它所有的子類(lèi)別,并顯示各分類(lèi)的商品數(shù)目及大分類(lèi)的商品
28、總數(shù)目,中間欄顯示的是當(dāng)前選中的類(lèi)別的所有商品列表,顯示了商品圖片,商品名,價(jià)格,介紹等,每個(gè)商品下有“購(gòu)買(mǎi)”選項(xiàng),可以添加到購(gòu)物車(chē),實(shí)現(xiàn)了翻頁(yè)功能,每頁(yè)顯示3件商品信息,可以選擇排序方式,如按上架時(shí)間排序,按銷(xiāo)量排序。 (3)通過(guò)主頁(yè)面其他地方或者商品列表點(diǎn)擊可以進(jìn)入單獨(dú)的商品信息頁(yè)面,有較為詳細(xì)的商品信息,同樣可以購(gòu)買(mǎi),實(shí)現(xiàn)了放大鏡功能,通過(guò)鼠標(biāo)放在圖片上會(huì)顯示大圖片。 (4)通過(guò)通過(guò)任意商品鏈接進(jìn)入商品的詳細(xì)信息信息頁(yè)面,有較為詳細(xì)的商品信息,顯示了商品的圖片、價(jià)格、庫(kù)存、廠商等詳細(xì)信息,在此頁(yè)面同樣也可以將商品加入購(gòu)物車(chē),還能選擇商品的個(gè)數(shù)。 (5)商品的所有顯示都是
29、從數(shù)據(jù)庫(kù)中讀取,其中圖片存放在固定文件夾中,數(shù)據(jù)庫(kù)中存放的是圖片地址。 3. 購(gòu)物車(chē)模塊 查看商品 添加到購(gòu)物車(chē) 登陸檢查 添加成功 查看購(gòu)物車(chē) 刪除商品 修改數(shù)量 結(jié)賬 恢復(fù)刪除商品 圖3-5 購(gòu)物車(chē)流程圖 (1)不管有無(wú)登錄,都可以使用購(gòu)物車(chē),首先查看商品,點(diǎn)擊購(gòu)買(mǎi),如果商品已經(jīng)購(gòu)買(mǎi),購(gòu)物車(chē)只會(huì)添加一次。 (2)添加完畢,點(diǎn)擊“購(gòu)物車(chē)”查看添加到購(gòu)物車(chē)的商品,在購(gòu)物車(chē)查看頁(yè)面,可以看到添加的商品名,原價(jià),本網(wǎng)站價(jià)格,以及數(shù)量,還有商品的總價(jià),節(jié)約價(jià)格。 (3)在購(gòu)物車(chē)頁(yè)面可以有一下操作:修改數(shù)量、刪除、恢復(fù)、結(jié)賬。 “修改數(shù)量”可以更新需要買(mǎi)的商品
30、數(shù)量,默認(rèn)為1,“刪除”將商品從要購(gòu)買(mǎi)的列表刪除,出現(xiàn)在下面以刪除的列表中,“恢復(fù)”即可以將刪除列表的商品恢復(fù)到要購(gòu)買(mǎi)的列表中,“結(jié)賬”即將要生成訂單,結(jié)賬功能需要登錄才能使用,未登錄的會(huì)自動(dòng)跳轉(zhuǎn)登陸頁(yè)面。 (4)本購(gòu)物車(chē)使用的是session+cookie技術(shù),即購(gòu)物車(chē)中得數(shù)據(jù)會(huì)在 瀏覽器端進(jìn)行備份,失效時(shí)間為1天,如果關(guān)閉瀏覽器,下次再登錄還可以從瀏覽器中取得數(shù)據(jù)。 4. 生成訂單 結(jié)賬 是否登陸 生成訂單 填寫(xiě)地址 登陸 否 是 選擇老地址 填寫(xiě)新地址 保存新地址 訂單提交 圖3-6 訂單流程圖 (1)首先根據(jù)購(gòu)物車(chē)?yán)锏臄?shù)據(jù)生成一個(gè)不能修改的表單,
31、供用戶(hù)確認(rèn),確認(rèn)后可點(diǎn)擊結(jié)賬。 (2)點(diǎn)擊結(jié)賬,系統(tǒng)會(huì)攔截沒(méi)有登陸的客戶(hù),跳轉(zhuǎn)到登陸界面,登陸后才能繼續(xù)操作。 (3)接著跳轉(zhuǎn)到地址填寫(xiě)界面,如果是老客戶(hù),并且以前有過(guò)送貨地址,可以通過(guò)下拉列表選擇地址,如果想填寫(xiě)新地址則選擇新地址,并且填寫(xiě),填寫(xiě)后提交會(huì)生成新地址,下次可以通過(guò)選擇地址,直接選擇。 (4)地址填寫(xiě)無(wú)誤,提交,向服務(wù)器發(fā)送請(qǐng)求,插入數(shù)據(jù)庫(kù),生成訂單成功。 5. 會(huì)員信息用戶(hù)登錄 查看個(gè)人信息 修改部分信息 查看訂單 查看收藏夾 圖3-7 會(huì)員功能流程圖 (1)用戶(hù)登錄后可以查看一些個(gè)人信息,如用戶(hù)名,性別,電話,最后登錄時(shí)間,最后登錄IP地址等信息。
32、 (2)用戶(hù)登陸后可以修改部分個(gè)人信息,如用戶(hù)名,電話。 (3)用戶(hù)可以查看所有的訂單信息,以及訂單當(dāng)前狀態(tài)。 (4)用戶(hù)可以查看之前添加的喜歡的商品。 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 本系統(tǒng)數(shù)據(jù)庫(kù)采用Mysql5數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)名稱(chēng)為d_shop,共包含8張表。 a. d_user表 用戶(hù)注冊(cè)信息表 用戶(hù)信息表主要用來(lái)保存用戶(hù)主要信息。表d_user的結(jié)構(gòu)如表3—1所示。 表3-1 d_user表 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 主鍵或外鍵 id int 12 pk email Varchar 50 nickname varcha
33、r 50 password varchar 50 user_integral int 12 is_email_verify char 3 email_verify_code varchar 50 last_login_time bigint last_login_ip varchar 15 id:d_user表的主鍵 Email:用戶(hù)注冊(cè)郵箱 Nickname:用戶(hù)昵稱(chēng) Password:用戶(hù)密碼 User_integral:用戶(hù)的積分 Is_email_verify:用戶(hù)是否驗(yàn)證郵箱 Email_verif
34、y_code:郵箱驗(yàn)證碼 Last_login_time:最后登錄時(shí)間 Last_login_ip:最后登錄IP地址 b. d_receive_address表 用戶(hù)收貨地址表 表3-2 d_receive_address表 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 主鍵或外鍵 Id Int 12 Pk User_id Int 12 Fk Receive_name Varchar 20 Full_address Varchar 200 Postal_code Varchar 8 Mobile Varchar 15 Phone Var
35、char 20 Id:address表的主鍵 User_id:對(duì)應(yīng)用戶(hù)的id號(hào),外鍵,用于連接兩表 Receive_name:收貨人姓名 Full_address:收貨地址 Postal_code:郵編 Mobile:移動(dòng)電話 Phone:固定電話 c. d_category表 產(chǎn)品類(lèi)別表 表3-3 d_category表 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 主鍵或外鍵 Id Int 12 Pk Turn Int 10 En_name Varchar 200 Name Varchar 200 Description V
36、archar 200 Parent_id Int 10 Id:d_category表主鍵 Turn:產(chǎn)品順序 En_name:產(chǎn)品英語(yǔ)名 Name:產(chǎn)品中文名 Description:產(chǎn)品類(lèi)別描述 Parent_id:產(chǎn)品父類(lèi)的類(lèi)別Id d. d_product表 各種類(lèi)型產(chǎn)品的共有信息表 表3-4 d_product表 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 主鍵或外鍵 Id Int 12 Pk Product_name Varchar 100 Description Varchar 100 Add_time
37、 Bigint 20 Fixed_price Double Here_price Double Keywords Varchar 200 Has_deleted Int 1 Product_pic Varchar 200 Total_num Int 11 Sell_num Int 11 Id:d_product表的主鍵 Product_name:產(chǎn)品名 Description:產(chǎn)品描述 Add_time:產(chǎn)品添加時(shí)間 Fixed_price:產(chǎn)品原價(jià) Here_price:本站價(jià)格 Ke
38、ywords:關(guān)鍵字 Has_deleted:是否被刪除 Product_pic:產(chǎn)品圖片 Total_num:產(chǎn)品進(jìn)購(gòu)總數(shù)量 Sell_num:銷(xiāo)售數(shù)量 e. d_goods表 產(chǎn)品的特有信息表 表3-5 d_goods表 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 主鍵或外鍵 Id Int 12 Pk、fk Brand Varchar 50 Author Varchar 200 Publishing Varchar 200 Publish_time Bigint 20 Guarantee_period Int 2
39、 standard int 4 Word_number Varchar 15 Which_edition Varchar 15 Total_page Varchar 15 barcode Varchar 25 Author_summary Text Print_time Int 20 Id:主鍵 Brand:品牌 Author :作者 Publishing:廠商或出版社 Publish_time :生產(chǎn)日期或出版時(shí)間 guarantee_period:保質(zhì)期 standard :規(guī)格 Word_numb
40、er:字?jǐn)?shù) Which_edition :幾次修訂 Total_page :總頁(yè)數(shù) Barcode :條形碼 Author_summary:作者介紹 Print_time:出版次數(shù) f. d_category_product表 類(lèi)別和產(chǎn)品關(guān)系表(用于連接category表和product表) 表3-6 d_category_product表 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 主鍵或外鍵 Id Int 12 Pk Product_id Int 10 Fk Cat_id Int 10 Fk Id:主鍵 Product_id:產(chǎn)品id Cat
41、_id:類(lèi)別id g. d_order表 訂單信息表 表3-7 d_order表 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 主鍵或外鍵 Id Int 10 Pk User_id Int 10 Status Int 10 Order_time Bigint 20 Order_desc Varchar 100 Total_price Double Receive_name Varchar 100 Full_address Varchar 200 Postal_code Varchar 8 Mobile
42、Varchar 20 Phone Varchar20 Id:d_order表主鍵 User_id:訂單所對(duì)應(yīng)的用戶(hù) IdStatus:訂單狀態(tài) Order_time:訂單提交時(shí)間 Order_desc:訂單描述 Receive_name:收貨人姓名 Full_address:收貨地址 Postal_code:郵編 Mobile:移動(dòng)電話 Phone:固定電話 h. d_item表 訂單明細(xì)表 表3-8 d_item表 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 主鍵或外鍵 Id Int 12 Order_id Int
43、10 Product_id Int 10 Product_name Varchar 100 Here_price Double Product_num Int 10 Amount Double Id:d_item表主鍵 Order_id:對(duì)應(yīng)的訂單id Product_id:訂單中產(chǎn)品的id號(hào) Product_name:訂單中產(chǎn)品名 Here_price:產(chǎn)品單價(jià) Product_num:購(gòu)買(mǎi)的數(shù)量 Amount:此條產(chǎn)品的價(jià)格小計(jì) 3.3 本章小結(jié) 此章節(jié)介紹的是數(shù)據(jù)庫(kù)的一些詳細(xì)信息,數(shù)據(jù)庫(kù)是一個(gè)項(xiàng)目的心臟,所有的數(shù)
44、據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,如何將各種不同數(shù)據(jù)之間的關(guān)系設(shè)計(jì)好是最重要的,哪些字段設(shè)置為主鍵,哪些字段設(shè)置為外鍵,以及不同數(shù)據(jù)表之間的關(guān)系,是一對(duì)一、一對(duì)多還是多對(duì)多的關(guān)系,都需要根據(jù)具體的系統(tǒng)業(yè)務(wù)來(lái)設(shè)計(jì),經(jīng)過(guò)此系統(tǒng)較為復(fù)雜的數(shù)據(jù)庫(kù)的設(shè)計(jì),大大提高了我對(duì)數(shù)據(jù)的理解。 4 系統(tǒng)實(shí)現(xiàn) 系統(tǒng)實(shí)現(xiàn)是軟件項(xiàng)目開(kāi)發(fā)過(guò)程中的主要部分,在系統(tǒng)實(shí)現(xiàn)中要有簡(jiǎn)潔、美觀、可讀性好、整體統(tǒng)一等準(zhǔn)則。 4.1系統(tǒng)功能簡(jiǎn)介 本系統(tǒng)分為前后臺(tái)兩個(gè)部分,共有用戶(hù)登錄注冊(cè)、商品展示、購(gòu)物車(chē)、結(jié)賬四大模塊。 登錄注冊(cè)管理:注冊(cè)時(shí)能夠?qū)τ脩?hù)名,密碼的簡(jiǎn)單驗(yàn)證;能夠?qū)﹄娮余]箱,Email進(jìn)行有效性驗(yàn)證;能夠防止利用頁(yè)面刷新重復(fù)注冊(cè),以
45、及已經(jīng)注冊(cè)的用戶(hù)不能重復(fù)注冊(cè)。 商品瀏覽:分類(lèi)顯示商品;顯示商品詳情,提供購(gòu)買(mǎi)鏈接。 購(gòu)物車(chē)管理:欲購(gòu)買(mǎi)商品可以增添到購(gòu)物車(chē);也可以從購(gòu)物車(chē)退回商品,清空購(gòu)物車(chē);對(duì)于同一件商品的多次購(gòu)買(mǎi)只能在原來(lái)的商品上增添數(shù)量,還可以修改購(gòu)物車(chē)中某個(gè)商品的數(shù)量,統(tǒng)計(jì)商品總金額。 訂單管理:只有登錄的用戶(hù)可下訂單;用戶(hù)可以查看自己的訂單。管理員可以修改訂單的狀態(tài)。 商品管理:管理員可以增添商品分類(lèi);修改商品基本信息;增添商品時(shí)候可以上傳圖片。 4.2 功能模塊實(shí)現(xiàn) 4.21. 用戶(hù)登錄注冊(cè)實(shí)現(xiàn) 首先是會(huì)員登錄,登錄后能夠下訂單,本系統(tǒng)的登錄界面如下: 圖4-1 用戶(hù)登錄界面 首先是會(huì)
46、員登錄,登錄后能夠下訂單,本系統(tǒng)的注冊(cè)界面如下: 圖4-2 用戶(hù)注冊(cè)界面 本系統(tǒng)主要對(duì)實(shí)現(xiàn)網(wǎng)上超市出售商品以及管理員管理,下面是網(wǎng)上超市系統(tǒng)的注冊(cè)的核心代碼。 package com.dang.action.user; import java.text.DateFormat; import java.text.SimpleDateFor public class RegistAction { private User user; public User getUser() { return user; } public void setUse
47、r(User user) { this.user = user; } public String execute(){ UserDAO userDao = new UserDAOImpl();//調(diào)用持久層操作數(shù)據(jù)庫(kù) try { String phone = user.getPhone(); System.out.println(phone); String pwd1 = user.getPassword(); System.out.println(pwd1); String pwd = DegistUtil.produce
48、DegistCode(user.getPassword()); System.out.println(pwd); user.setPassword(pwd); user.setUserIntegral(0); /* * 獲取上次登錄時(shí)的時(shí)間和ip * 登錄時(shí)間是當(dāng)前系統(tǒng)時(shí)間 * ip通過(guò)request來(lái)取得 * */ long time = System.currentTimeMillis(); String str = "yyyy年MM月dd日 HH:mm "; DateFormat dd
49、= new SimpleDateFormat(str); Date d = new Date(time); String tt = dd.format(d);//將long型時(shí)間轉(zhuǎn)換成dateformat型 user.setLastLoginTime(tt); String ip = ServletActionContext.getRequest().getRemoteAddr(); user.setLastLoginIp(ip); user.setEmailVerify(false); String verifyCod
50、e = VerifyUtil.createVerifyCode();
user.setEmailVerifyCode(verifyCode);
userDao.save(user);
Map
51、 (Exception e) { // TODO: handle exception return "error"; } } } userDao中的關(guān)鍵代碼: public void save(User user) throws Exception{ Connection conn = DBUtil.getCOnnection();//創(chuàng)建連接 PreparedStatement stm = conn.prepareStatement(INSERT); stm.setString(1, user.getEmail()); stm.se
52、tString(2, user.getNickname()); stm.setString(3, user.getPassword()); stm.setInt(4, user.getUserIntegral());//給sql變量設(shè)置值 if(user.isEmailVerify()){ stm.setString(5, "T"); }else{ stm.setString(5, "F"); } String str = "yyyy年MM月dd日 HH:mm "; DateFormat dd = new SimpleDat
53、eFormat(str); String time = user.getLastLoginTime(); Date d = dd.parse(time); long tt = d.getTime(); stm.setString(6, user.getEmailVerifyCode()); stm.setLong(7, tt); stm.setString(8, user.getLastLoginIp()); stm.setString(9, user.getPhone()); stm.executeUpdate();//執(zhí)行sql語(yǔ)句 }
54、 4.22. 商品展示實(shí)現(xiàn) 其次是商品展示,展示商品的信息,本系統(tǒng)的登錄界面如下: 圖4-3 主界面商品展示 圖4-4商品詳細(xì)展示 本系統(tǒng)主要對(duì)實(shí)現(xiàn)網(wǎng)上超市出售商品以及管理員管理,下面是網(wǎng)上超市系統(tǒng)商品展示的核心代碼。 public Goods showOneGoods(int id) throws SQLException { // TODO Auto-generated method stub Connection conn = DBUtil.getCOnnection(); PreparedStatement stm = conn
55、.prepareStatement(FINDGOODS); stm.setInt(1, id); ResultSet rs = stm.executeQuery(); Goods goods = null; if(rs.next()){ /* * 循環(huán)查詢(xún)結(jié)果,給goods賦值 */ goods = new Goods(); goods.setId(rs.getInt("id")); goods.setProductName(rs.getString("product_name")); goods.setDescription(rs
56、.getString("description")); goods.setDangPrice(rs.getDouble("dang_price")); if(rs.getInt("has_deleted")==0){ goods.setHasDelete(false); }else{ goods.setHasDelete(true); } goods.setBrand(rs.getString("brand")); goods.setAuthor(rs.getString("author")); goods.setPu
57、blishing(rs.getString("publishing")); String str = "yyyy年MM月"; DateFormat dd = new SimpleDateFormat(str); long t = rs.getLong("publish_time"); Date d = new Date(t); String tt = dd.format(d); goods.setPublishTime(tt); goods.setGuaranteePeriod(rs.getInt("guarantee_
58、period")); goods.setAuthorSummary(rs.getString("author_summary")); goods.setTotalNum(rs.getInt("total_num")); goods.setSellNum(rs.getInt("sell_num")); } return goods; } 4.23. 購(gòu)物車(chē)實(shí)現(xiàn) 再是購(gòu)物車(chē)實(shí)現(xiàn),可以存入商品,本系統(tǒng)的購(gòu)物車(chē)界面如下: 圖4-5 系統(tǒng)購(gòu)物車(chē)界面 本系統(tǒng)主要對(duì)實(shí)現(xiàn)網(wǎng)上超市出售商品以及管理員管理,下面是網(wǎng)上超市系統(tǒng)購(gòu)物車(chē)的核心代碼。 public cl
59、ass OrderDAOImpl extends BaseDAO implements OrderDAO{ //先定義好所有的sql語(yǔ)句 private static final String INSERT_ITEM = "insert into d_item " + "(order_id,product_id,product_name,dang_price,product_num" + ",amount) values(?,?,?,?,?,?)"; private static final String INSERT_ORDER = "insert into
60、d_order" + "(user_id,status,order_time,order_desc,total_price,receive_name," + "full_address,postal_code,mobile,phone) values" + "(?,?,?,?,?,?,?,?,?,?)"; private static final String INSERT_ADDRESS = "insert into d_receive_address" + "(user_id,receive_name,full_address,postal_cod
61、e,mobile,phone) values" + "(?,?,?,?,?,?)"; private static final String FIND_BY_UID = "select * from d_order where user_id=? and order_time=?"; private static final String UPDATE_BY_PRICE = "update d_order set total_price =? where id=?"; public void addItem(int id,long time) throws S
62、QLException{
double totalPrice = 0;
PreparedStatement stm = getConnection().prepareStatement(INSERT_ITEM);
Map
63、 new Order(); order = findByUid(id,time); int orderId = order.getId(); for(CartItem c : list){ if(c.isBuy()==true){ totalPrice += c.getPro().getDangPrice()*c.getQty(); stm.setInt(1, orderId); stm.setInt(2, c.getPro().getId()); stm.setString(3, c.getPro().getProductNa
64、me()); stm.setDouble(4, c.getPro().getDangPrice()); stm.setInt(5, c.getQty()); stm.setDouble(6, c.getQty()*c.getPro().getDangPrice()); stm.executeUpdate(); } } update(totalPrice,orderId); } private Order findByUid(int userId,long time) throws SQLException{
65、PreparedStatement stm = getConnection().prepareStatement(FIND_BY_UID); stm.setInt(1, userId); stm.setLong(2,time); Order order = new Order(); String str = "yyyy年MM月dd日 HH:mm "; DateFormat dd = new SimpleDateFormat(str); ResultSet rs = stm.executeQuery(); if(rs.
66、next()){ order.setId(rs.getInt("id")); order.setUserId(userId); order.setStatus(rs.getInt("status")); long t = rs.getLong("order_time"); Date d = new Date(t); String tt = dd.format(d); order.setOrderTime(tt); order.setOrderDesc(rs.getString("order_desc")); order.setTotalPrice(rs.getDouble("total_price")); order.setReceName(rs.getString("receive_name")); order.setFullAddr(rs.getString("full_address")); order
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運(yùn)動(dòng)會(huì)安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個(gè)人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書(shū)
- 2024年憲法宣傳周活動(dòng)總結(jié)+在機(jī)關(guān)“弘揚(yáng)憲法精神推動(dòng)發(fā)改工作高質(zhì)量發(fā)展”專(zhuān)題宣講報(bào)告會(huì)上的講話
- 2024年XX村合作社年報(bào)總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊(cè)教研組工作總結(jié)
- 2024年小學(xué)高級(jí)教師年終工作總結(jié)匯報(bào)
- 2024-2025年秋季第一學(xué)期初中物理上冊(cè)教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語(yǔ)文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報(bào)告
- 2025年學(xué)校元旦迎新盛典活動(dòng)策劃方案
- 2024年學(xué)校周邊安全隱患自查報(bào)告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報(bào)告