基于Java Web的易賣購物網(wǎng)站── 瀏覽模塊 訂單管理模塊 會(huì)員管理模塊_第1頁
基于Java Web的易賣購物網(wǎng)站── 瀏覽模塊 訂單管理模塊 會(huì)員管理模塊_第2頁
基于Java Web的易賣購物網(wǎng)站── 瀏覽模塊 訂單管理模塊 會(huì)員管理模塊_第3頁
基于Java Web的易賣購物網(wǎng)站── 瀏覽模塊 訂單管理模塊 會(huì)員管理模塊_第4頁
基于Java Web的易賣購物網(wǎng)站── 瀏覽模塊 訂單管理模塊 會(huì)員管理模塊_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

┊┆┆┆題目基于JavaWeb的易賣購物網(wǎng)站——注冊(cè)登陸在線聊天功能商品管理模塊系別數(shù)學(xué)與信息工程系專業(yè)年級(jí)2012級(jí)計(jì)算機(jī)科學(xué)與技術(shù)(移動(dòng)互聯(lián)網(wǎng)方向)

基于JavaWeb的易賣購物網(wǎng)站──瀏覽模塊訂單管理模塊會(huì)員管理模塊摘要:在如今競(jìng)爭(zhēng)激烈的社會(huì),物質(zhì)生活水平提高不能完全滿足現(xiàn)代人的欲望,該網(wǎng)站的創(chuàng)立既能滿足網(wǎng)上沖浪的樂趣,更能為你省下出去逛街話費(fèi)的不必要時(shí)間,網(wǎng)上商城的開辟不僅節(jié)省店鋪的租賃費(fèi)用,而且也為交通緩解了不必要的壓力。完成此項(xiàng)目還能增強(qiáng)我們的創(chuàng)新意識(shí),端正我們的求實(shí)科學(xué)作風(fēng),更能培養(yǎng)我們刻苦專研的能力。關(guān)鍵詞:購物網(wǎng)站、Struts2+Hibernate+Spring、

JSPMySql、Tomcat、MyEclipsePickto:intoday'scompetitivesociety,materiallifelevelisnotfullysatisfythemodernpeople'sdesire,thesiteofbothcansatisfythefunofsurfingtheInternet,canhelpyousavetheunnecessarytimetogooutshoppingcallsonlinemallopeningupnotonlysavethestorerentalfee,butalsofortransportationalleviatesunnecessarystress.Completionoftheprojectalsocanenhanceourinnovationconsciousness,correctourrealisticscientificattitude,tocultivateourabilitytostudyhard.Keywords:shoppingwebsite,Struts2+Spring+Hibernate,JSP,MySql,Tomcat,MyEclipse目錄1緒論 11.1網(wǎng)站開發(fā)背景 11.2系統(tǒng)開發(fā)工具概述 11.2.1MyEclipse簡(jiǎn)介 21.2.2Tomcat簡(jiǎn)介 31.2.3JSP簡(jiǎn)介 31.2.4JSP的優(yōu)勢(shì) 31.2.5JSP的弱勢(shì) 31.2.6MySql簡(jiǎn)介 31.2.7Struts2+Hibernate+Spring簡(jiǎn)介 31.3B/S結(jié)構(gòu)概述 31.4Struts框架簡(jiǎn)介 31.4.1Struts簡(jiǎn)介 31.5Oracle簡(jiǎn)介 32需求分析 42.1電子商務(wù)的產(chǎn)生和發(fā)展情況 42.2電子產(chǎn)品在線銷售系統(tǒng)的需求分析 52.3數(shù)據(jù)流圖 63總體設(shè)計(jì)與實(shí)現(xiàn) 73.1會(huì)員注冊(cè)模塊 73.2會(huì)員模塊實(shí)現(xiàn) 83.2.1用戶登陸模塊 83.2.2購買商品模塊 83.2.3生成訂單模塊 83.3訂單信息管理模塊 83.3.1訂單的設(shè)計(jì)與實(shí)現(xiàn) 83.3.2查看訂單模塊的設(shè)計(jì)與實(shí)現(xiàn) 83.4 瀏覽模塊 164系統(tǒng)測(cè)試與性能分析 174.1 軟件測(cè)試 174.2 前臺(tái)首頁的測(cè)試 194.3購物車模塊的測(cè)試 194.4用戶注冊(cè)模塊的測(cè)試 204.5本章小結(jié) 245參考文獻(xiàn) 25結(jié)論 43致謝 441緒論1.1網(wǎng)站開發(fā)背景早在70年代,電子數(shù)據(jù)交換(EDI:ElectronicDataInterchange)和電子資金轉(zhuǎn)移(EFT:electronicfundtransfer)作為電子商務(wù)應(yīng)用的雛形就開始出現(xiàn)。90年代初,隨著Internet技術(shù)的發(fā)展,商業(yè)機(jī)構(gòu)開始介入Internet,發(fā)現(xiàn)它在通訊、客戶服務(wù)等方面的巨大潛力,便開始應(yīng)用Internet開展貿(mào)易活動(dòng),于是電子商務(wù)(ElectroricCommerce)率先在美國、加拿大等國家正式出現(xiàn)。電子商務(wù)的發(fā)展是伴隨著Internet用戶的急劇增加而呈幾何級(jí)數(shù)增長(zhǎng)的。至1998年底,Internet已與世界上180個(gè)國家和地區(qū)連通,用戶達(dá)到1.13億戶,電子商務(wù)交易值達(dá)到430億美元。從我國的情況看,Internet用戶發(fā)展速度也相當(dāng)快。到1999年6月底,我國上網(wǎng)人數(shù)達(dá)到400萬人。據(jù)預(yù)測(cè),到2005年,中國將擁有全球第二大Internet用戶群。電子商務(wù)活動(dòng)一般分為以下幾種:(1)通過Internet進(jìn)行的交易,如聯(lián)機(jī)商店(OnlineShop)和網(wǎng)上直銷(InternetDirectSale);(2)通過Internet進(jìn)行商務(wù)活動(dòng),如聯(lián)機(jī)服務(wù)(OnlineService)和網(wǎng)上廣告(InternetAdv.)等;(3)通過增值網(wǎng)絡(luò)(Value-addednetwork)進(jìn)行的電子交易和服務(wù),如通過EDI進(jìn)行采購和報(bào)關(guān)等;(4)通過連接企業(yè)或機(jī)構(gòu)的計(jì)算機(jī)網(wǎng)絡(luò)發(fā)生的交易和服務(wù)。1.2系統(tǒng)開發(fā)工具概述1.2.1MyEclipse簡(jiǎn)介MyEclipse,是基于Eclipse開發(fā)的功能強(qiáng)大的企業(yè)級(jí)集成開發(fā)環(huán)境,主要用于Java、JavaEE以及移動(dòng)應(yīng)用的開發(fā)。據(jù)官方介紹,諸如三星、IBM、戴爾、惠普、花旗集團(tuán)、西門子、斯坦福大學(xué)、波音公司等知名機(jī)構(gòu)均使用MyEclipse進(jìn)行Java、JavaEE開發(fā),80%以上的全球財(cái)富100強(qiáng)企業(yè)均是MyEclipse的用戶。MyEclipse提供了對(duì)UML、Ajax、Web、WebServices、J2EE、JSP、XML、Struts、JSF、JavaPersistence、EJB、擴(kuò)展數(shù)據(jù)庫以及各種應(yīng)用服務(wù)器的集成支持。MyEclipse也全面支持各種主流的第三方框架,讓你能夠快速高效地進(jìn)行開發(fā)工作。此外,MyEclipse還全面支持各種基于Eclipse平臺(tái)的插件,允許你自由定制或擴(kuò)展個(gè)性化功能。MyEclipse全面支持Eclipse開源平臺(tái)的所有功能特性,如果你熟悉Eclipse,那么你能夠輕松地上手MyEclipse,包括熟悉的Eclipse快捷鍵,而且使用MyEclipse完成某項(xiàng)任務(wù)往往要比使用Eclipse更加快速、簡(jiǎn)單。1.2.2Tomcat簡(jiǎn)介Tomcat很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對(duì)于一個(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)行的,所以當(dāng)你運(yùn)行tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。這里的訣竅是,當(dāng)配置正確時(shí),Apache為HTML頁面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。目前Tomcat最新版本為8.0.28。1.2.3JSP簡(jiǎn)介JSP全名為JavaServerPages,中文名叫java服務(wù)器頁面,其根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),它是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件,后綴名為(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。它實(shí)現(xiàn)了Html語法中的java擴(kuò)張(以<%,%>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。1.2.4JSP的優(yōu)勢(shì)(1)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/.net的局限性是顯而易見的。(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)可以順利的運(yùn)行于多種平臺(tái)之下。(5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVABEANS組件來實(shí)現(xiàn)復(fù)雜商務(wù)功能。1.2.5JSP的弱勢(shì)(1)與ASP一樣,Java的一些優(yōu)勢(shì)正是它致命的問題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。(2)Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來儲(chǔ)存一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。1.2.6MySql簡(jiǎn)介MySQL是一個(gè)開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。1.2.7Struts2+Hibernate+Spring簡(jiǎn)介Struts2:Struts2是Struts的下一代產(chǎn)品,是在struts1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts2框架。其全新的Struts2的體系結(jié)構(gòu)與Struts1的體系結(jié)構(gòu)差別巨大。Struts2以WebWork為核心,采用攔截器的機(jī)制來處理用戶的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開,所以Struts2可以理解為WebWork的更新產(chǎn)品。雖然從Struts1到Struts2有著太大的變化,但是相對(duì)于WebWork,Struts2的變化很小。Hibernate:Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Spring:Spring是一個(gè)開源框架,它由RodJohnson創(chuàng)建。這是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合性的角度而言,任何Java應(yīng)用都可以從Spring中受益。目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能范圍:任何Java應(yīng)用Spring是一個(gè)輕量級(jí)控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。1.3B/S結(jié)構(gòu)概述相對(duì)于C/S結(jié)構(gòu),盡管C/S結(jié)構(gòu)相對(duì)于更早的文件服務(wù)器來說,有了很大的進(jìn)步,但與B/S相比,缺點(diǎn)和不足是很明顯的。首先,B/S比C/S的維護(hù)工作量大大減少了。C/S結(jié)構(gòu)的每一個(gè)客戶端都必須安裝和配置軟件。假如一個(gè)企業(yè)共有50個(gè)客戶站點(diǎn)使用一套C/S結(jié)構(gòu)的軟件,則當(dāng)這套軟件進(jìn)行了哪怕很微小的改動(dòng)后(比如增加某個(gè)功能),系統(tǒng)維護(hù)員都必須進(jìn)行這樣的維護(hù);將服務(wù)器更新到最新版本;將客戶端原有的軟件卸載,再安裝新的版本,然后進(jìn)行設(shè)置,最為可怕的是客戶端的維護(hù)工作必須不折不扣的進(jìn)行50次。若其中有部分客戶端是在另外一個(gè)地方,則系統(tǒng)維護(hù)員還必須跑到該地方再進(jìn)行卸載、安裝、設(shè)置的工作。若某個(gè)客戶端,忘記進(jìn)行這樣的維護(hù),則該客戶端將會(huì)碰到版本不一致的問題而無法工作。而B/S結(jié)構(gòu),客戶端不必安裝及維護(hù)。其他客戶端,只要重新登錄系統(tǒng),使用的就已經(jīng)是最新版本的軟件了[8]。其次,B/S相對(duì)C/S能夠降低總體擁有成本,C/S軟件一般是采用兩層結(jié)構(gòu)的。而龍?zhí)罔慈A軟件采用的是三層結(jié)構(gòu)。1.4Struts框架簡(jiǎn)介Struts是一個(gè)基于SunJ2EE平臺(tái)的MVC框架,主要是采用Servlet和JSP技術(shù)來實(shí)現(xiàn)的。其最初萌芽于CraigMcClanahan的構(gòu)思,誕生至今也一年有余了。現(xiàn)在,Struts是Apache軟件基金會(huì)旗下Jakarta項(xiàng)目組的一部分,由于Struts能充分滿足應(yīng)用開發(fā)的需求,簡(jiǎn)單易用,敏捷迅速,在過去的一年中頗受關(guān)注。Struts把Servlet、JSP、自定義標(biāo)簽和信息資源(MessageResources)整合到一個(gè)統(tǒng)一的框架中,開發(fā)人員利用其進(jìn)行開發(fā)時(shí)不用再自己編碼實(shí)現(xiàn)全套MVC模式,極大的節(jié)省了時(shí)間[9]。首先事件是指從客戶端頁面(瀏覽器)由用戶操作觸發(fā)的事件,Struts使用Action來接受瀏覽器表單提交的事件,這里使用了Command模式,每個(gè)繼承Action的子類都必須實(shí)現(xiàn)一個(gè)方法Execute。在Struts中,實(shí)際是一個(gè)表單Form對(duì)應(yīng)一個(gè)Action類(或DispatchAction),換一句話說:在Struts中實(shí)際是一個(gè)表單只能對(duì)應(yīng)一個(gè)事件,Struts這種事件方式稱為ApplicationEvent,ApplicationEvent和ComponentEvent相比是一種粗粒度的事件。1.4.1Struts簡(jiǎn)介Struts是Apache軟件基金會(huì)(ASF)贊助的一個(gè)開源項(xiàng)目。它最初是Jakarta項(xiàng)目中的一個(gè)子項(xiàng)目,并在2004年3月成為ASF的頂級(jí)項(xiàng)目。它通過采用JavaServlet/JSP技術(shù),實(shí)現(xiàn)了基于JavaEEWeb應(yīng)用的Model-View-Controller(MVC)設(shè)計(jì)模式的應(yīng)用框架(WebFramework),是MVC經(jīng)典設(shè)計(jì)模式中的一個(gè)經(jīng)典產(chǎn)品。MVC結(jié)構(gòu)在Struts中,已經(jīng)由一個(gè)名為ActionServlet的Servlet充當(dāng)控制器(Controller)的角色,根據(jù)描述模型、視圖、控制器對(duì)應(yīng)關(guān)系的struts-config.xml的配置文件,轉(zhuǎn)發(fā)視圖(View)的請(qǐng)求,組裝響應(yīng)數(shù)據(jù)模型(Model)。在MVC的模型(Model)部分,經(jīng)常劃分為兩個(gè)主要子系統(tǒng)(系統(tǒng)的內(nèi)部數(shù)據(jù)狀態(tài)與改變數(shù)據(jù)狀態(tài)的邏輯動(dòng)作),這兩個(gè)概念子系統(tǒng)分別具體對(duì)應(yīng)Struts里的ActionForm與Action兩個(gè)需要繼承實(shí)現(xiàn)超類。在這里,Struts可以與各種標(biāo)準(zhǔn)的數(shù)據(jù)訪問技術(shù)結(jié)合在一起,包括EnterpriseJavaBeans(EJB),JDBC與JNDI。在Struts的視圖(View)端,除了使用標(biāo)準(zhǔn)的JavaServerPages(JSP)以外,還提供了大量的標(biāo)簽庫使用,同時(shí)也可以與其他表現(xiàn)層組件技術(shù)(產(chǎn)品)進(jìn)行整合,比如VelocityTemplates,XSLT等。通過應(yīng)用Struts的框架,最終用戶可以把大部分的關(guān)注點(diǎn)放在自己的業(yè)務(wù)邏輯(Action)與映射關(guān)系的配置文件(struts-config.xml)中。發(fā)展歷程在JavaEE的Web應(yīng)用發(fā)展的初期,除了使用Servlet技術(shù)以外,普遍是在JavaServerPages(JSP)的源代碼中,采用HTML與Java代碼混合的方式進(jìn)行開發(fā)。因?yàn)檫@兩種方式不可避免的要把表現(xiàn)與業(yè)務(wù)邏輯代碼混合在一起,都給前期開發(fā)與后期維護(hù)帶來巨大的復(fù)雜度。為了擺脫上述的約束與局限,把業(yè)務(wù)邏輯代碼從表現(xiàn)層中清晰的分離出來,2000年,CraigMcClanahan采用了MVC的設(shè)計(jì)模式開發(fā)Struts。后來該框架產(chǎn)品一度被認(rèn)為是最廣泛、最流行JAVA的WEB應(yīng)用框架。2006年,WebWork與Struts這兩個(gè)優(yōu)秀的JavaEEWeb框架(WebFramework)的團(tuán)體,決定合作共同開發(fā)一個(gè)新的,整合了WebWork與Struts優(yōu)點(diǎn),并且更加優(yōu)雅、擴(kuò)展性更強(qiáng)的框架,命名為“Struts2”,原Struts的1.x版本產(chǎn)品稱為”Struts1”。至此,Struts項(xiàng)目并行提供與維護(hù)兩個(gè)主要版本的框架產(chǎn)品——Struts1與Struts2。充滿競(jìng)爭(zhēng)的MVC框架雖然Struts的是成熟的和流行的框架,建設(shè)前端Java應(yīng)用,它正面臨新的挑戰(zhàn),從較新的”輕量”的MVC框架,如Spring的MVC,Stripes和Tapestry。新的XForms標(biāo)準(zhǔn)和框架,也可能是另一種選擇,以建立復(fù)雜的Web窗體驗(yàn)證與Struts的未來。在WebWork框架脫離Apache的Struts的幾年前,以提供改進(jìn)和完善,同時(shí)保持了相同的一般建筑的原始Struts框架。然而,它在2005年12月宣布,該框架將重新合并WebWork。WebWork2.2已獲得通過,成為Apache的Struts的2,達(dá)到了第一個(gè)完整的版本于2007年2月。Sun公司最近提出了一項(xiàng)新的除了Java平臺(tái),所謂的JavaServer界面(SF)。除了原有的框架下,Apache的Struts的項(xiàng)目還提供了一個(gè)JSF的為基礎(chǔ)的框架,所謂的頁巖。其他的MVC框架,并不是基于J2EE的包括RubyonRails的,WebObjects,Django,Catalyst,TurboGears,CakePHP,Symfony(對(duì)于PHP),Zend公司,大展ATK公司,并CodeIgnite(對(duì)于PHP)。Struts4php是一個(gè)Struts框架的PHP的web腳本語言版本。Girders是微軟.NET基于C#的Struts框架的一部分。1.5Oracle簡(jiǎn)介OracleDatabase,又名OracleRDBMS,或簡(jiǎn)稱Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。到目前仍在數(shù)據(jù)庫市場(chǎng)上占有主要份額。勞倫斯·埃里森和他的朋友,之前的同事BobMiner和EdOates在1977年建立了軟件開發(fā)實(shí)驗(yàn)室咨詢公司(SDL,SoftwareDevelopmentLaboratoriesORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。比如SilverStream就是基于數(shù)據(jù)庫的一種中間件。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng)。作為一個(gè)通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫,它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。但它的所有知識(shí),只要在一種機(jī)型上學(xué)習(xí)了ORACLE知識(shí),便能在各種類型的機(jī)器上使用它。2需求分析2.1電子商務(wù)的產(chǎn)生和發(fā)展情況中國電子商務(wù)始于1997年。中國商品訂貨系統(tǒng)(CGOS)、中國商品交易中心(CCEC)、虛擬“廣交會(huì)”等大型電子商務(wù)項(xiàng)目也在1997年相繼推出,拉開了中國電子商務(wù)的序幕。1998年“首都電子商務(wù)工程”的展開和1999年“8848網(wǎng)上超市”的出現(xiàn),標(biāo)志著中國電子商務(wù)開始進(jìn)入快速發(fā)展時(shí)期,中國電子商務(wù)由此正式啟動(dòng)。據(jù)統(tǒng)計(jì),目前全國已有4萬家商業(yè)網(wǎng)站,其中網(wǎng)上商店700余家。電子商務(wù)項(xiàng)目大量推出,幾乎每天都有各類電子商務(wù)咨詢網(wǎng)站、網(wǎng)上商店、網(wǎng)上商城、網(wǎng)上專賣店、網(wǎng)上拍賣等誕生。電子商務(wù)應(yīng)用與發(fā)展的地域也由北京、上海、深圳等極少數(shù)城市,開始向各大中城市發(fā)展。據(jù)IDC預(yù)測(cè),2000年中國大陸網(wǎng)上交易額將達(dá)4000萬美元,到2003年將達(dá)38億美元。可以說,中國電子商務(wù)已經(jīng)由表及里、從虛到實(shí),從宣傳、啟蒙和推廣階段進(jìn)入到了務(wù)實(shí)的發(fā)展實(shí)施階段。1.政府推進(jìn)環(huán)境改善我國政府正全面、積極、穩(wěn)妥地推進(jìn)中國電子商務(wù)的發(fā)展。1998年以來,政府對(duì)電子商務(wù)的支持與協(xié)調(diào)力度明顯增加。我國電子商務(wù)發(fā)展的總體框架(包括整體戰(zhàn)略、發(fā)展規(guī)劃、發(fā)展措施、技術(shù)體制標(biāo)準(zhǔn)以及相關(guān)法律法規(guī))的推出,將會(huì)使電子商務(wù)有一個(gè)更加規(guī)范有序的應(yīng)用與發(fā)展環(huán)境。不少地方政府也都對(duì)電子商務(wù)給予了前所未有的關(guān)注與支持,開始將電子商務(wù)作為重要的產(chǎn)業(yè)發(fā)展方向。2.制約瓶頸開始突破網(wǎng)上支付、實(shí)物配送和信用等作為電子商務(wù)系統(tǒng)工程中的重要環(huán)節(jié),被視為制約中國電子商務(wù)應(yīng)用與發(fā)展的瓶頸。1999年以來,網(wǎng)上支付的瓶頸正在迅速得到解決。在這方面較為成功的,有“8848”網(wǎng)上超市提供的包括網(wǎng)上支付在內(nèi)的多元化支付方式,有首都電子商城電子商務(wù)支付平臺(tái)等。3.應(yīng)用模式日趨多元在BtoC模式中,網(wǎng)上書店和網(wǎng)上商場(chǎng)在增加網(wǎng)上支付功能、完善各項(xiàng)服務(wù)后以更大的勢(shì)頭發(fā)展;網(wǎng)上拍賣、網(wǎng)上商城、網(wǎng)上郵購等面向消費(fèi)者的電子商務(wù)網(wǎng)站大量推出。不少電子商務(wù)企業(yè)和工商企業(yè)開始醞釀企業(yè)間電子商務(wù)。證券電子商務(wù)也有所發(fā)展,網(wǎng)上炒股對(duì)于有些股民已經(jīng)成為現(xiàn)實(shí)。網(wǎng)絡(luò)是一片獨(dú)特的天空,中國國情又有其特殊性。怎樣將結(jié)合Internet和中國國情,充分發(fā)揮電子商務(wù)的優(yōu)越性,實(shí)現(xiàn)極富意義的電子商務(wù)技術(shù)和商務(wù)模式的創(chuàng)新,是擺在中國電子商務(wù)業(yè)界人士面前的一大課題。4.內(nèi)外融合漸成大勢(shì)具有外資背景的電子商務(wù)企業(yè)和項(xiàng)目日益增加。其表現(xiàn)的形式是雙向的:既有海外風(fēng)險(xiǎn)投資直接進(jìn)入國內(nèi)的電子商務(wù)企業(yè),也有國內(nèi)企業(yè)通過海外上市吸收海外資金。在不少電子商務(wù)企業(yè)內(nèi),外籍或具有外資企業(yè)背景的高級(jí)管理人員顯著增加。與此同時(shí),海外電子商務(wù)企業(yè)開始直接進(jìn)入中國市場(chǎng)。隨著中國加入世界貿(mào)易組織的前景日趨明朗,基于超越國界的Internet的電子商務(wù)不可逆轉(zhuǎn)地走上了世界經(jīng)濟(jì)一體化的道路。2.2電子產(chǎn)品在線銷售系統(tǒng)的需求分析經(jīng)過對(duì)各大電子產(chǎn)品購物網(wǎng)站及實(shí)際數(shù)碼產(chǎn)品企業(yè)銷售過程的考察、分析,要求本系統(tǒng)具有以下功能(1)統(tǒng)一友好的操作界面,保證系統(tǒng)的易用性,方便用戶的操作;(2)具備電子產(chǎn)品信息的展示功能,方便瀏覽者對(duì)電子產(chǎn)品信息進(jìn)行瀏覽與比較;(3)規(guī)范的電子產(chǎn)品分類,方便瀏覽者分類查找電子產(chǎn)品;(4)完善的購物車功能與用戶結(jié)賬功能;(5)設(shè)置網(wǎng)站公告信息模塊,使瀏覽者能夠及時(shí)了解網(wǎng)站的各項(xiàng)動(dòng)態(tài)變化,及銷售的新品、特價(jià)活動(dòng)等信息;電子產(chǎn)品銷售排行功能;訂單信息查詢功能、數(shù)碼產(chǎn)品信息查詢功能;(8)全面的后臺(tái)管理功能,以方便管理員對(duì)網(wǎng)站信息進(jìn)行更新與管理。2.3數(shù)據(jù)流圖1.系統(tǒng)總數(shù)據(jù)流圖如圖2-1所示圖2-1系統(tǒng)總數(shù)據(jù)數(shù)據(jù)流圖訂單管理數(shù)據(jù)流圖如圖2-2所示。圖2-2訂單管理數(shù)據(jù)流圖基本信息維護(hù)數(shù)據(jù)流圖如圖2-3所示。圖2-3基本信息維護(hù)數(shù)據(jù)流圖數(shù)據(jù)流圖2.?dāng)?shù)據(jù)字典數(shù)據(jù)字典的作用是在軟件分析和設(shè)計(jì)的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。它主要是對(duì)數(shù)據(jù)流圖中的數(shù)據(jù)流、處理邏輯、外部實(shí)體、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)項(xiàng)等方面進(jìn)行具體的定義。數(shù)據(jù)流程圖配以數(shù)據(jù)字典,就可以從圖形和文字兩個(gè)方面對(duì)系統(tǒng)的邏輯模型進(jìn)行完整的描述。(1)數(shù)據(jù)項(xiàng)定義如表2-1所示。表2-1系統(tǒng)數(shù)據(jù)項(xiàng)定義序號(hào)名稱別名類型長(zhǎng)度(字符)I01-01goods_id商品號(hào)Int4I01-02goods_name商品名varchar50I01-03goods_miaoshu商品描述varchar5000續(xù)表3-1I01-04goods_pic存放商品圖片Varchar50I01-05goods_yanse商品顏色Varchar50I01-06goods_shichangjia商品市場(chǎng)價(jià)int4I01-07goods_tejia商品特價(jià)int4I01-08goods_isnottejia普通商品varchar50I01-09goods_catelog_id商品種類號(hào)int4I01-10catelog_id種類編號(hào)Int4I01-11catelog_name種類名稱Varchar50I01-12catelog_miaoshu種類描述Varchar5000I01-13order_id訂單IDInt4I01-14order_bianhao訂單編號(hào)Varchar50I01-15order_date訂單生成日期varchar50I01-16order_zhuangtai訂單狀態(tài)varchar50I01-17order_jine總的消費(fèi)金額Int4I01-18order_songhuodizhi送貨地址Varchar50I01-19order_fukuangfangshi付款方式Varchar50I01-20order_user_id用戶IDInt4I01-21orderItem_id訂單明細(xì)編號(hào)Int4I01-22order_id訂單編號(hào)Int4I01-23goods_id商品編號(hào)Int4I01-24goods_quantity購買數(shù)量Int4I01-25user_id用戶IDInt4I01-26user_name用戶名Varchar50I01-27user_pw用戶密碼Varchar50I01-28user_realname真實(shí)姓名Varchar50I01-29user_address住址Varchar50I01-30user_sex性別Varchar50I01-31user_tel聯(lián)系電話Varchar50I01-32user_email用戶郵箱Varchar50續(xù)表2-1I01-33user_qq用戶QQVarchar50I01-34userId管理員IDint4I01-35userName管理員名稱Varchar50I01-36userPw管理員密碼Varchar50I01-37gonggao_id公告編號(hào)Int4I01-38gonggao_title公告標(biāo)題Varchar50I01-39gonggao_content公告內(nèi)容Varchar5000I01-40gonggao_data公告創(chuàng)建時(shí)間Varchar50I01-41gonggao_fabuzhe發(fā)布人Varchar50I01-42liuyan_id留言idInt4I01-43liuyan_title留言標(biāo)題Varchar50I01-44liuyan_content留言內(nèi)容Varchar5000I01-45liuyan_date留言時(shí)間Varchar50I01-46liuyan_user留言客戶Varchar503總體設(shè)計(jì)與實(shí)現(xiàn)3.1會(huì)員注冊(cè)模塊此模塊完成用戶的注冊(cè)功能,點(diǎn)擊“注冊(cè)”按鈕調(diào)出用戶注冊(cè)頁面,在此頁面中,輸入相關(guān)信息,如用戶帳戶,用戶密碼,姓名等,點(diǎn)擊“注冊(cè)”完成注冊(cè)。用戶注冊(cè)頁面設(shè)計(jì)如圖3-1所示:圖3-1用戶注冊(cè)頁面設(shè)計(jì)核心代碼如下:publicActionForwarduserReg(ActionMappingam,ActionFormaf,HttpServletRequestreq,HttpServletResponseres) { Stringid=String.valueOf(newDate().getTime()); Stringloginname=req.getParameter("loginname"); Stringloginpw=req.getParameter("loginpw"); Stringname=req.getParameter("name"); Stringdel="no"; Strings=liuService.panduan_zhanghao(loginname); if(s.equals("yizhan")) { req.setAttribute("message","賬號(hào)已被占用,請(qǐng)輸入其他賬號(hào)"); req.setAttribute("path","site/userreg/userreg.jsp"); returnam.findForward("success"); } else { Stringsql="insertintot_uservalues(?,?,?,?,?)"; Object[]params={id,loginname,loginpw,name,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","注冊(cè)成功,請(qǐng)登錄"); req.setAttribute("path","site/default.jsp"); returnam.findForward("success");}3.2會(huì)員模塊實(shí)現(xiàn)3.2.1用戶登陸模塊用戶登陸模塊實(shí)現(xiàn)用戶登陸功能,它驗(yàn)證用戶提交的用戶名和密碼是否被授權(quán),并根據(jù)訪問權(quán)限為用戶提供相應(yīng)的業(yè)務(wù)功能。用戶登頁面設(shè)計(jì)如圖所示3-2所示。圖3-2用戶登陸界面3.2.2購買商品模塊用戶注冊(cè)賬號(hào)并成功登錄商城后,通過主頁的家具展示或按家具類別找到想要購買的家具,點(diǎn)擊家具圖片,打開家具詳細(xì)信息界面,瀏覽家具的具體信息,如果想要購買該家具,輸入購買數(shù)量,點(diǎn)擊購買按鈕,完成家具購買操作。“家具購買”設(shè)計(jì)頁面如圖3-3所示:圖3-3家具購買頁面3.2.3生成訂單模塊用戶選定好家具信息后,暫時(shí)存放到購物車?yán)铮绻幌朐儋徺I,可以進(jìn)行結(jié)賬操作,從而生成訂單。訂單模塊頁面設(shè)計(jì)如圖3-4所示:圖3-4訂單模塊頁面3.3訂單信息管理模塊3.3.1訂單的設(shè)計(jì)與實(shí)現(xiàn)1.點(diǎn)擊訂單信息管理后,右側(cè)顯示所有訂單信息。點(diǎn)擊“訂單明細(xì)”,系統(tǒng)彈出明細(xì)對(duì)話框,可以查看到訂單的詳細(xì)信息。訂單信息管理的窗口設(shè)計(jì)如圖3-5所示:圖3-5訂單管理窗口3.3.2查看訂單模塊的設(shè)計(jì)與實(shí)現(xiàn)1.實(shí)現(xiàn)目標(biāo)用戶填寫完訂單并提交成功后可以通過查看訂單按鈕看到自己的訂單及詳細(xì)信息。界面的設(shè)計(jì)如圖5-10所示。圖5-10查看訂單模塊2.實(shí)現(xiàn)過程所屬頁面名:myOrder.jsp具體代碼://根據(jù)用戶查詢訂單 { Mapsession=ServletActionContext.getContext().getSession(); TUseruser=(TUser)session.get("user"); //獲取用戶 Stringsql="fromTOrderwhereorderUserId="+user.getUserId(); ListorderList=orderDAO.getHibernateTemplate().find(sql); //調(diào)用orderDAO中的find方法,執(zhí)行sql語句 Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("orderList",orderList); returnActionSupport.SUCCESS; } publicStringorderMana() //訂單管理 { Stringsql="fromTOrderorderbyorderUserId"; ListorderList=orderDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("orderList",orderList); returnActionSupport.SUCCESS; } publicStringorderDel()//用戶自己刪除訂單 { TOrderorder=orderDAO.findById(orderId); orderDAO.delete(order); Mapsession=ServletActionContext.getContext().getSession(); TUseruser=(TUser)session.get("user"); this.setMessage("刪除成功"); this.setPath("myOrder.action?userId="+user.getUserId());//跳轉(zhuǎn)到myOrder.action return"succeed"; } publicStringorderDelByAd()//管理員刪除訂單 { TOrderorder=orderDAO.findById(orderId); orderDAO.delete(order); Stringsql="deletefromTOrderItemwhereorderId="+orderId; orderItemDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("刪除成功"); this.setPath("orderMana.action"); return"succeed"; } publicStringorderShouli() //對(duì)訂單進(jìn)行受理 { TOrderorder=orderDAO.findById(orderId); order.setOrderZhuangtai("yes");//已經(jīng)受理訂單 orderDAO.attachDirty(order); this.setMessage("受理訂單成功"); this.setPath("orderMana.action"); return"succeed"; } publicStringorderDetail()//訂單明細(xì) { Stringsql="fromTOrderItemwhereorderId="+orderId; ListorderItemList=orderItemDAO.getHibernateTemplate().find(sql); for(inti=0;i<orderItemList.size();i++) { TOrderItemorderItem=(TOrderItem)orderItemList.get(i); orderItem.setGoods(goodsDAO.findById(orderItem.getGoodsId())); }//取出訂單里的商品 Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("orderItemList",orderItemList); returnActionSupport.SUCCESS; } 在cart.java中packagecom.util;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importcom.model.TGoods;importcom.model.TOrderItem;publicclassCart//定義購物車類{ protectedMap<Integer,TOrderItem>items; publicCart()//定義構(gòu)造方法 { if(items==null) { items=newHashMap<Integer,TOrderItem>(); } } publicvoidaddGoods(IntegergoodsId,TOrderItemorderItem) //添加購物車 { if(items.containsKey(goodsId)) { TOrderItem_orderitem=items.get(goodsId); _orderitem.setGoodsQuantity(_orderitem.getGoodsQuantity()+orderItem.getGoodsQuantity());//如果購買商品重復(fù),則加上數(shù)量 items.put(goodsId,_orderitem); }else { items.put(goodsId,orderItem); } } publicvoiddelGoods(IntegergoodsId)//刪除購物車 { items.remove(goodsId); } publicvoidupdateCart(IntegergoodsId,intquantity) //更新購物車的數(shù)量 { TOrderItemorderItem=items.get(goodsId); orderItem.setGoodsQuantity(quantity); items.put(goodsId,orderItem); } publicintgetTotalPrice() //計(jì)算總的價(jià)格 { inttotalPrice=0; for(Iteratorit=items.values().iterator();it.hasNext();) { TOrderItemorderItem=(TOrderItem)it.next(); TGoodsgoods=orderItem.getGoods(); intquantity=orderItem.getGoodsQuantity(); totalPrice+=goods.getGoodsTejia()*quantity;//單價(jià)乘以數(shù)量 } returntotalPrice; } }。3.4瀏覽模塊1.實(shí)現(xiàn)目標(biāo)為了方便顧客選購電子產(chǎn)品,本系統(tǒng)采用了兩種展示產(chǎn)品的方式。一種是以類別查詢?yōu)榛A(chǔ)查看電子產(chǎn)品,另外一種是新品上架、特價(jià)產(chǎn)品和銷售排行的展臺(tái)。以銷售排行查看數(shù)碼產(chǎn)品為例,顧客在首頁的的銷售排行即可查看銷售排行,方便顧客查看暢銷的數(shù)碼產(chǎn)品相關(guān)信息及詳細(xì)信息。界面的設(shè)計(jì)如圖5-6所示。圖3-6銷售排行模塊2.實(shí)現(xiàn)過程所屬頁面名:index.jsp通過查詢t_orderItem表中按銷售額字段goods_quantity降序排列實(shí)現(xiàn)。系統(tǒng)測(cè)試與性能分析4.1軟件測(cè)試經(jīng)過需求分析、設(shè)計(jì)和編碼等階段的開發(fā)后,得到了源程序,開始進(jìn)入到軟件測(cè)試階段。然而,在測(cè)試之前的各階段中都可能在軟件產(chǎn)品中遺留下許多錯(cuò)誤和缺陷,如果不及時(shí)找出這些錯(cuò)誤和缺陷,并將其改正,這個(gè)軟件產(chǎn)品就不能正常使用,甚至?xí)?dǎo)致巨大的損失。目前,程序的正確性證明尚未得到根本的解決,因此軟件測(cè)試仍是發(fā)現(xiàn)軟件中錯(cuò)誤和缺陷的主要手段。系統(tǒng)整體測(cè)試步驟:1.單元測(cè)試單元測(cè)試是整體測(cè)試中的第一步,通常在編碼階段進(jìn)行。在源程序代碼經(jīng)過編譯、評(píng)審、確認(rèn)沒有語法錯(cuò)誤之后,便可開始進(jìn)行單元測(cè)試。2.集成測(cè)試集成測(cè)試在單元測(cè)試完成之后,將所有的模塊概要設(shè)計(jì)要求組裝成系統(tǒng)時(shí)進(jìn)行的測(cè)試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。3.確認(rèn)

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)論