版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE論文作者姓名:申請(qǐng)學(xué)位專業(yè):申請(qǐng)學(xué)位類別:論文提交日期:摘要近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,越來越多的商家在網(wǎng)上建起網(wǎng)上蛋糕店,向消費(fèi)者展示出一種新穎的購物理念,本設(shè)計(jì)基于B/S模式,實(shí)現(xiàn)了當(dāng)前網(wǎng)上蛋糕店的購物車功能。本設(shè)計(jì)的開發(fā)是基于B/S結(jié)構(gòu),采用JSP程序設(shè)計(jì)語言及SQL2005數(shù)據(jù)庫進(jìn)行開發(fā)網(wǎng)上蛋糕店的購物車模塊;論文首先闡述了網(wǎng)上蛋糕店的開發(fā),并對(duì)該系統(tǒng)購物車模塊進(jìn)行了較詳細(xì)的需求分析;然后探討了該系統(tǒng)需要實(shí)現(xiàn)的設(shè)計(jì)方案。關(guān)鍵詞:網(wǎng)上蛋糕店;購物車;JSP;數(shù)據(jù)庫AbstractInrecentyears,withtherapidriseoftheInternet,theInternethasincreasinglybecomethebestcollectiontoprovideinformationchannelsandgraduallyintothetraditionalcirculation.Sotheelectroniccommercehasstartedtopopupmoreandmorebusinessesarebuiltonlinebookstoreonline,demonstrateanovelconceptofshoppingtoconsumers,thedesignisbasedontheB/Smodetoachievetheonlinebookstoreshoppingcartfeature.ThedevelopmentofthisdesignisbasedonB/Sstructure,JSPprogramminglanguages??andSQL2005databasefordevelopingonlinebookstoreshoppingcartmodule;thesisdescribesthedevelopmentoftheonlinebookstoreandmoredetailedrequirementsofthesystemcartmoduleanalysis;thenexplorethedesignofthesystemneedtoachieve.Keywords:Onlinebookstore;cart;JSP;database目錄1引言 11.1課題背景 11.2本課題研究的意義 11.3主要研究?jī)?nèi)容 12開發(fā)環(huán)境與相關(guān)技術(shù) 32.1JSP技術(shù) 32.1.1JAVA簡(jiǎn)介 32.1.2JSP簡(jiǎn)介 32.1.3SSH2框架介紹 42.2Myeclipse介紹 52.3SQL2005數(shù)據(jù)庫 52.4Browser/Server(B/S)結(jié)構(gòu) 53系統(tǒng)需求分析及設(shè)計(jì) 73.1需求分析 73.2系統(tǒng)設(shè)計(jì) 73.2.1系統(tǒng)功能 73.2.2系統(tǒng)結(jié)構(gòu) 73.2.3系統(tǒng)流程圖 73.3數(shù)據(jù)庫設(shè)計(jì) 83.3.1數(shù)據(jù)庫需求分析 83.3.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)分析 83.3.3數(shù)據(jù)庫物理表結(jié)構(gòu)設(shè)計(jì) 94系統(tǒng)實(shí)現(xiàn) 124.1系統(tǒng)首頁 124.2具體模塊實(shí)現(xiàn) 124.2.1圖蛋糕瀏覽 124.2.2購物車 144.2.3查看訂單 164.2.4用戶注冊(cè) 174.2.5會(huì)員登錄 195系統(tǒng)測(cè)試 205.1前臺(tái)測(cè)試 205.2后臺(tái)測(cè)試 205.3測(cè)試分析 21結(jié)論 21參考文獻(xiàn) 22致謝 23第20頁共44頁1引言1.1課題背景逐漸的Internet成為全球化的國(guó)際網(wǎng)絡(luò)。隨著用戶的不斷增加,其規(guī)模迅速擴(kuò)大,它的領(lǐng)域也走向多元化。除了原先的科學(xué)技術(shù)和教育外,Internet已進(jìn)入了文化、經(jīng)濟(jì)、政治、新聞、體育、娛樂、商業(yè)和服務(wù)業(yè)。可以預(yù)見,Internet將成為我們構(gòu)筑未來嶄新的生活方式。另外雖然電子商務(wù)發(fā)展在世界范圍內(nèi)都是剛剛開始,但是其發(fā)展速遞極為迅速,傳統(tǒng)的商業(yè)模式正不斷地被新的商業(yè)模式所代替,無論什么模式都不具有固定性和成熟性。對(duì)于任何企業(yè)來說,都有一個(gè)探索與創(chuàng)新的問題,這也為我們加快和跨越發(fā)展提供了難得的機(jī)遇。我們要大膽進(jìn)行創(chuàng)新,積極探索符合實(shí)際的商業(yè)模式,壯大企業(yè)的市場(chǎng)競(jìng)爭(zhēng)能力,以適應(yīng)全球化的激烈競(jìng)爭(zhēng)。網(wǎng)上出售蛋糕是Internet和電子商務(wù)發(fā)展的產(chǎn)物,近幾年在我國(guó)發(fā)展迅猛。隨著科學(xué)技術(shù)迅速發(fā)展,Internet這個(gè)昔日只被少數(shù)科學(xué)家接觸和使用的科研工具已經(jīng)成為了普通百姓都可以觸及大中型媒體傳播手段。現(xiàn)在國(guó)民素質(zhì)素質(zhì)和科學(xué)技術(shù)水平的不斷提高,使知識(shí)更新的越來越快。人們隨時(shí)都會(huì)有被淘汰的危機(jī),為了不讓社會(huì)淘汰,做到與時(shí)俱進(jìn)就必須不斷的學(xué)習(xí),21世紀(jì)是網(wǎng)絡(luò)的時(shí)代、信息的時(shí)代,時(shí)間是非常寶貴的,人們由于種種原因沒有時(shí)間到蛋糕店去,也不知道哪家蛋糕店有自己需要的蛋糕籍,同時(shí)有些人因?yàn)榻?jīng)濟(jì)的原因承受不了新蛋糕的高昂的價(jià)格,綜合上面的原因促成了網(wǎng)上蛋糕店的發(fā)展。網(wǎng)上蛋糕店網(wǎng)站的建立可以比較好的解決這方面的問題,在蛋糕店與消費(fèi)者之間架起了一座高速、快捷的網(wǎng)上信息橋梁,而且目的是節(jié)約用戶的時(shí)間、降低用戶的購蛋糕成本,方便用戶購蛋糕。1.2本課題研究的意義做為一個(gè)虛擬的蛋糕店,網(wǎng)上蛋糕店具有很多新的特性,一下這些是它的優(yōu)勢(shì):其營(yíng)業(yè)成本完全有理由比傳統(tǒng)意義上的蛋糕店低得多;不需支付昂貴的店鋪?zhàn)饨?,花費(fèi)浩大的裝修;不需要將大筆的流動(dòng)資金作為貨物而沉泣在店里,可依靠“零庫存”管理,縮速資金周轉(zhuǎn)的周期,可以加速周轉(zhuǎn);同時(shí)網(wǎng)上蛋糕店更容易開拓全球市場(chǎng)。實(shí)現(xiàn)24小時(shí)營(yíng)業(yè),不需要營(yíng)業(yè)員,網(wǎng)上蛋糕店可以被設(shè)置成一個(gè)自動(dòng)售貨機(jī);可以利用多媒體促銷、各種文字、圖像和動(dòng)畫、聲音,讓受眾全方位感受廣告訴求;依靠客戶數(shù)據(jù)庫能夠提供全新的個(gè)人化服務(wù)等等。1.3主要研究?jī)?nèi)容本文主要是設(shè)計(jì)開發(fā)網(wǎng)上蛋糕店的購物車功能,首先系統(tǒng)基于B/S結(jié)構(gòu),采用JSP編程技術(shù)和SQL2005數(shù)據(jù)庫,運(yùn)用MyEclipse開發(fā)工具等進(jìn)行開發(fā);然后購物車模塊進(jìn)行需求分析,指出了需要解決的問題,需要實(shí)現(xiàn)的功能,如會(huì)員登陸及身份驗(yàn)證,包括用戶注冊(cè)、驗(yàn)證注冊(cè)信息、會(huì)員登陸時(shí)的身份驗(yàn)證等;在線選購商品,包括瀏覽、查找、購買、購物車的管理、查看已經(jīng)提交的訂單信息等;,詳細(xì)介紹了數(shù)據(jù)庫的設(shè)計(jì),編碼的實(shí)施;接著是系統(tǒng)測(cè)試,通過測(cè)試發(fā)現(xiàn)了系統(tǒng)的一些問題,排除了的錯(cuò)誤,發(fā)現(xiàn)了一些不足等;最后是對(duì)本次設(shè)計(jì)制作的小結(jié),總結(jié)了設(shè)計(jì)過程中遇到的問題和收獲。2開發(fā)環(huán)境與相關(guān)技術(shù)本系統(tǒng)是采用JSP編程技術(shù)和SQL2005數(shù)據(jù)庫,在WindowsXP操作系統(tǒng)環(huán)境下,采用Myeclipse開發(fā)工具以及SSH2框架進(jìn)行設(shè)計(jì)與開發(fā)完成的基于B/S結(jié)構(gòu)的學(xué)生意見管理系統(tǒng)。2.1JSP技術(shù)2.1.1JAVA簡(jiǎn)介.Java語言誕生于20世紀(jì)90年代的初期,最初是以智能家電的芯片語言出現(xiàn)的。但是很快,人們發(fā)現(xiàn)了它有更廣闊的用武之地,由于它適用于Internet環(huán)境,引起計(jì)算機(jī)界的廣泛關(guān)注,迅速發(fā)展成計(jì)算機(jī)網(wǎng)絡(luò)編程語言。Java語言備受推崇,因其確實(shí)可稱得上是新一代編程語言,具有眾多優(yōu)點(diǎn),它簡(jiǎn)單、面向?qū)ο?、可移植、與硬件無關(guān)、系統(tǒng)強(qiáng)健安全、具有很高的性能,并提供了分布性、多線程、動(dòng)態(tài)性的支持。2.1.2JSP簡(jiǎn)介JSP(JavaServerPages)是由Sun公司在java語言上開發(fā)出來的一種動(dòng)態(tài)網(wǎng)頁制作技術(shù),JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商間廣泛合作的結(jié)果,使您可以將網(wǎng)頁中的動(dòng)態(tài)部分和靜態(tài)的HTML相分離。⑴將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁面。使用JSP標(biāo)識(shí)或者小腳本來生成頁面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。⑵強(qiáng)調(diào)可重用的組件絕大多數(shù)JSP頁面信賴于可重用的、跨平臺(tái)的組件(JavaBeans或者EnterpriseJavaBeansTM組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,井使得這些組件為更多的使用者或者客戶團(tuán)體所使用[6]。⑶采用標(biāo)識(shí)簡(jiǎn)化頁面開發(fā)Web頁面開發(fā)人員不會(huì)都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在生成與JSP相關(guān)的XML標(biāo)識(shí)的動(dòng)態(tài)內(nèi)容時(shí)所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪問和實(shí)例化JavaBeans組件、設(shè)置或者檢索組件屬性、下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。⑷健壯性與安全性由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,且都被編譯為JavaServlet,它就具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性[7]。⑸良好的移植性作為Java平臺(tái)的一部分,JSP擁有Java編程語言“一次編寫,各處運(yùn)行”的特點(diǎn)。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,可以使用自己所選擇的服務(wù)器和工具,而且更改工具或服務(wù)器并不影響當(dāng)前的使用。⑹企業(yè)級(jí)的擴(kuò)展性和性能當(dāng)與Java2平臺(tái),企業(yè)版(J2EE)和EnterpriseJavaBeans技術(shù)整合時(shí),JSP頁面將提供企業(yè)級(jí)的擴(kuò)展性和性能,這對(duì)于虛擬企業(yè)中部署基于Web的應(yīng)用是必需的。2.1.3SSH2框架介紹SSH2=Struts2+Spring+Hibernate是J2EE的最新流行框架。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中受益。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ù)持久化的重任。Struts2框架是以WebWork基礎(chǔ)上發(fā)展起來的。從某種程度上來講,Struts2沒有繼承Struts1的血統(tǒng),而是繼承WebWork的血統(tǒng)?;蛘哒f,WebWork衍生出了Struts2,因?yàn)镾truts2是WebWork的升級(jí),而不是一個(gè)全新的框架,因此穩(wěn)定性、性能等各方面都有很好的保證:而且吸收了Struts1和WebWork兩者的優(yōu)勢(shì),因此,是一個(gè)非常值得期待的框架。Spting表示層Spting表示層Struts2業(yè)務(wù)層Struts2業(yè)務(wù)層HHibernate數(shù)據(jù)層數(shù)據(jù)層2.2Myeclipse介紹MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一個(gè)十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項(xiàng)功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。2.3SQL2005數(shù)據(jù)庫利用JSP結(jié)合數(shù)據(jù)庫來開發(fā)網(wǎng)站使得網(wǎng)站更具有交互性,因?yàn)闆]有數(shù)據(jù)庫支持的靜態(tài)網(wǎng)頁已經(jīng)無法滿足人們對(duì)于網(wǎng)絡(luò)的需求了。數(shù)據(jù)庫在各行各業(yè)中是必不可少的,下面就來介紹數(shù)據(jù)庫方面的相關(guān)知識(shí)。SQL是英文StructuredQueryLanguage的縮寫,意思為結(jié)構(gòu)化查詢語言。它的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通。按照ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))的規(guī)定,SQL被作為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句可以用來各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。MicrosoftSQLServer(基于結(jié)構(gòu)化查詢語言的數(shù)據(jù)庫服務(wù)器)是基于客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)。用戶通過使用客戶系統(tǒng)從服務(wù)器檢索信息并進(jìn)行本地操作,服務(wù)器關(guān)注數(shù)據(jù)庫進(jìn)程,而客戶則關(guān)注信息的表示。此數(shù)據(jù)庫管理系統(tǒng)能夠存儲(chǔ)大容量的數(shù)據(jù),能夠保證數(shù)據(jù)的安全性、維護(hù)數(shù)據(jù)的完整性,還具有自動(dòng)高效的機(jī)制以及運(yùn)行分布式處理等。2.4Browser/Server(B/S)結(jié)構(gòu)B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。特別是在JAVA這樣的跨平臺(tái)語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。3系統(tǒng)需求分析及設(shè)計(jì)3.1需求分析一個(gè)典型的網(wǎng)上蛋糕店的購物車模塊主要功能有:會(huì)員登陸及身份驗(yàn)證,包括用戶注冊(cè)、驗(yàn)證注冊(cè)信息、會(huì)員登陸時(shí)的身份驗(yàn)證等;在線選購商品,包括瀏覽、查找、購買、購物車的管理、查看已經(jīng)提交的訂單信息等3.2系統(tǒng)設(shè)計(jì)根據(jù)前面章節(jié)需求分析的情況,結(jié)合本系統(tǒng)所要實(shí)現(xiàn)的功能,具體設(shè)計(jì)方案如下。3.2.1系統(tǒng)功能通過對(duì)需求的分析,一個(gè)網(wǎng)上蛋糕店的購物車應(yīng)包括以下的主要功能:1)會(huì)員登陸及身份驗(yàn)證,包括用戶注冊(cè)、驗(yàn)證注冊(cè)信息、會(huì)員登陸時(shí)的身份驗(yàn)證等;2)在線選購,包括瀏覽、查找、購買、購物車的管理、查看已經(jīng)提交的訂單信息等;3.2.2系統(tǒng)結(jié)構(gòu)網(wǎng)網(wǎng)上蛋糕店用戶注冊(cè)會(huì)員登錄在線瀏覽商品查找查看訂單商品購買圖3-1系統(tǒng)功能模塊圖用戶通過注冊(cè)以后成為合法登錄用戶。登錄以后可以查看修改個(gè)人信息在線購買商品查看定單狀態(tài)。3.2.3系統(tǒng)流程圖圖3-2系統(tǒng)流程圖3.3數(shù)據(jù)庫設(shè)計(jì)3.3.1數(shù)據(jù)庫需求分析(1)商品數(shù)據(jù)的準(zhǔn)備。首先要搜集分銷商的所有商品數(shù)據(jù)。這些商品數(shù)據(jù)可以分為三類:紙面記錄、電子數(shù)據(jù)(XML、Access、Excel等文件)、網(wǎng)上數(shù)據(jù)。無論對(duì)于哪一種數(shù)據(jù),都要對(duì)其進(jìn)行檢查,修正有問題的數(shù)據(jù),刪除重復(fù)和過期的記錄。在檢查的同時(shí),還要對(duì)這些數(shù)據(jù)進(jìn)行分析,為制定商品目錄方案做準(zhǔn)備。(2)商品數(shù)據(jù)方案的制定。商品數(shù)據(jù)方案制定的目的在于:①對(duì)商品進(jìn)行科學(xué)、靈活地分類,方便客戶迅速從少則幾萬,多則幾十萬甚至上百萬種商品中找出所需商品。②使系統(tǒng)支持強(qiáng)大、方便、快捷的查詢功能,實(shí)現(xiàn)模糊查詢和智能查詢。③高效的商品數(shù)據(jù)方案能提高數(shù)據(jù)庫性能,提高網(wǎng)頁瀏覽速度。(3)客戶信息表的制定??蛻粜畔⒈韮?nèi)保存著在線商店中所有客戶個(gè)人所擁有的個(gè)人信息和資料,是在線商店的后臺(tái)管理人員進(jìn)行商品銷售的設(shè)計(jì)規(guī)劃和進(jìn)行決策的依據(jù)和參考??蛻鬒D則是客戶個(gè)人身份證明的依據(jù)。3.3.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)分析對(duì)于系統(tǒng)用戶信息數(shù)據(jù)庫,有以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):用戶信息:用戶ID(自動(dòng)編號(hào))、用戶姓名、電話號(hào)碼、Email、地址、郵編。對(duì)于系統(tǒng)的商品信息系統(tǒng),有以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):商品記錄信息:商品的ID(自動(dòng)編號(hào))、商品名稱、商品單價(jià)、商品數(shù)量、商品所屬類別。而網(wǎng)上蛋糕店就是基于以上各個(gè)數(shù)據(jù)庫的連接和綜合,把各個(gè)獨(dú)立的數(shù)據(jù)庫通過內(nèi)在的關(guān)聯(lián)性統(tǒng)一到一個(gè)主頁面里,從而方便客戶的訪問和購買,實(shí)現(xiàn)了一對(duì)一的交互。3.3.3數(shù)據(jù)庫物理表結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)需要建立8個(gè)數(shù)據(jù)表(1)t_admin表:記錄管理員基本信息,如表1所示。表1管理員表(t_admin)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1userIdIntNotnull2userNamevarchar50Null3userPwvarchar50Null(2)t_catelog表:記錄購物車信息,如表2所示。表2購物車表(t_catelog)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1catelog_idIntNotnull2catelog_namevarcharNull3catelog_miaoshuvarcharNull4catelog_delvarcharNull(3)t_gonggao表:記錄圖蛋糕信息,如表3所示。表3圖蛋糕表(t_gonggao)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1gonggao_idIntNotnull2gonggao_titlevarchar50Null3gonggao_contentvarchar50Null4gonggao_datavarchar500Null5gonggao_fabuzhevarchar500Null6gonggao_delintNull(4)t_goods表:記錄評(píng)論信息,如表4所示。表4評(píng)論表(t_goods)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1goods_idInt11Notnull2goods_namevarchar50Null3goods_miaoshudoubleNull4goods_picdoubleNotnull5goods_yansevarchar40Null6goods_shichangjiavarchar100Nullgoods_tejiavarchar50Nullgoods_isnottejiavarchar50Nullgoods_isnottuijianvarchar50Nullgoods_catelog_idvarchar50Nullgoods_kucunvarchar50Nullgoods_delvarchar50Null(5)t_liuyan表:記錄公告信息,如表5所示。表5公告表(t_liuyan)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1liuyan_idIntNotnull2liuyan_titlevarchar50Null3liuyan_contentvarchar50Null4tliuyan_datedatetime50Nullliuyan_uservarchar50Nullhfvarchar50Null(6)t_orderItem表:記錄訂單詳細(xì)信息,如表6所示。表6訂單詳細(xì)表(t_orderItem)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1orderItem_idIntNotnull2order_idIntNull3goods_idIntNull4goods_quantityIntNull5pjnvarchar50Null(7)t_order表:記錄訂單信息,如表7所示。表7訂單表(t_order)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1order_idIntNotnull2order_bianhaoIntNull3order_datenvarchar50Null4order_zhuangtainvarchar50Null5order_jinenvarchar50Null6order_songhuodizhidatetime50Null7order_fukuangfangshinvarchar50Null8order_user_idnvarchar50Null(8)t_user表:記錄用戶信息,如表8所示。表8用戶表(t_user)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度是否必填1user_idIntNotnull2user_namevarchar50Null3user_pwvarchar50Null4user_typevarchar50Null5user_realnamevarchar50Null6user_addressvarchar50Null6user_sexvarchar50Null6user_telvarchar50Null6user_emailvarchar50Null6user_qqvarchar50Null6user_manvarchar50Null6user_agevarchar50Null6user_birthdayvarchar50Null6user_xuelivarchar50Null6user_delvarchar50Null6zyvarchar50Null4系統(tǒng)實(shí)現(xiàn)4.1系統(tǒng)首頁圖4-1網(wǎng)上蛋糕店首頁此功能模塊由index1.jsp來實(shí)現(xiàn),并提供了本系統(tǒng)絕大多數(shù)功能的入口,例如:會(huì)員注冊(cè)、登錄,管理員登錄,查詢等。會(huì)員登錄主要是將用戶輸入的用戶名和密碼與數(shù)據(jù)庫中my_users表中的已有的信息進(jìn)行比對(duì),如果完全一樣,則是合法用戶,可以成功登錄,如果不一樣,則登錄失敗。查詢功能是通過輸入商品名稱關(guān)鍵字和下拉菜單中商品類別進(jìn)行查詢提交查詢信息以后由find.Jsp顯示查詢結(jié)果。此功能未注冊(cè)用戶也可用,但是所查詢商品不提供購買功能。4.2具體模塊實(shí)現(xiàn)4.2.1圖蛋糕瀏覽此功能模塊由buy.jsp來實(shí)現(xiàn)。當(dāng)用戶進(jìn)入購物中心以后,系統(tǒng)會(huì)顯示所有的商品基本信息。但在商品數(shù)量過于龐大以后則不容易查看所需商品,所以系統(tǒng)提供了按類別查詢的功能。下拉菜單中有商品的所有類別,用戶根據(jù)類別以post方法傳遞表單。再在該頁設(shè)置接收字段:Stringbookclass=codeToString(request.getParameter("bookclass"));通過關(guān)鍵字bookclass對(duì)數(shù)據(jù)庫商品表my_goods進(jìn)行查詢:SELECT*FROMmy_goodswheregoodsclass='"+bookclass.trim()+"'這樣就比較清楚的可以獲得各類別的商品的信息。有了自己需要購物的商品,則可以通過點(diǎn)擊購買將商品添加到購物車,詳細(xì)信息可以查看商品的詳細(xì)信息。詳細(xì)信息頁面xiangxi.jsp通過商品ID查詢數(shù)據(jù)庫,除了顯示以上信息以外,還顯示商品數(shù)量,備注等信息。界面如下圖:圖4-2商品信息為了不讓龐大的數(shù)據(jù)讓人看得眼花繚亂,在商品的實(shí)現(xiàn)時(shí)是分頁顯示,每頁顯示5項(xiàng)記錄。分頁代碼如下:intdipage=1;//當(dāng)前頁碼數(shù)默認(rèn)為1Stringpages=request.getParameter("dipage");if(pages==null){pages="1";…………intcountRecord=0;//記錄條數(shù)intcountPageRecord=0;//每頁記錄條數(shù)intcountPage=0;//總頁數(shù)countPageRecord=5;//每頁5條記錄,要設(shè)置每頁記錄條數(shù)就更改這個(gè)變量的值…………countRecord=rs.getRow();//得到總頁數(shù)if(countRecord/countPageRecord==0)countPage=countRecord/countPageRecord;elsecountPage=countRecord/countPageRecord+1;//把記錄指針移至當(dāng)前頁第一條記錄之前if((di1)*countPageRecord==0)rs.beforeFirst();…………4.2.2購物車此功能模塊由:buybook2.Jsp,addgoods.Jsp,minusGoods.Jsp,deleteGoods,buy.java來實(shí)現(xiàn)。當(dāng)用戶選定某樣商品并在登錄后的情況下,可以點(diǎn)擊購買將商品添加到購物車。在購物車中可以設(shè)置購買商品的數(shù)量。設(shè)置好數(shù)量以后按提交按鈕根據(jù)商品唯一ID將商品添加到購物車。在addgoods.jsp中通過獲取商品ID:Stringid=request.getParameter("id");IntGoods_Count=Integer.parseInt(request.getParameter("book_count"))以及buycar.Java中的函數(shù)publicvoidaddGoods(StringGoods_id,intGoods_Count)來實(shí)現(xiàn)。提交購物以后,可以選擇查看購物車,也可以無限制的選擇繼續(xù)購買。選擇繼續(xù)購買以后跳轉(zhuǎn)到商品購買頁面buy.Jsp選擇查看購物車則跳轉(zhuǎn)到buybook2.Jsp。在跳轉(zhuǎn)到buybook2.Jsp頁面以后,如果用戶不滿意該選擇可以刪除或者更改所選商品數(shù)量,更改商品數(shù)量是通過buycar.Java和minusGoods.Jsp一起來實(shí)現(xiàn)。關(guān)鍵代碼:buycar.Java:publicbooleanminusGoods(StringGoods_id,intGoods_Count){……deleteGoods(Goods_id);……}minusgoods.Jsp:intGoods_Count=Integer.parseInt(request.getParameter("book_count"))buycar.minusGoods(id,Goods_Count);用戶在確定需要購買以后,就可以提交購物車,完成購物功能。圖4-4購物車購物車中商品總價(jià)格totalprice是通過商品單價(jià)和數(shù)量進(jìn)行結(jié)算。代碼如下:doubletotalprice=0;totalprice=totalprice+rs.getFloat("price")*((Integer)list.get(goods)).intValue();4.2.3查看訂單本模塊劃分為2個(gè)部分,一是用戶對(duì)定單的管理,二是管理員對(duì)定單的管理。用戶對(duì)定單的管理通過userjiemian.Jsp實(shí)現(xiàn)查看自己的定單狀態(tài)是否付款以及刪除自己的定單。查看自己的定單是通過用戶名訪問定單表以獲取自身定單,刪除定單是通過定單ID刪除掉選定的定單:ahref='delcord.jsp?id="+rs.getString("indentno")+"'用戶也可以通過查詢指定的定單ID來查詢想要知道的定單的信息。通過sqlString="deletefrommy_indentlistwhereid="+ID;語句刪除以前的定單。管理員管理定單除了擁有用戶管理定單的功能以外,還可以通過定單ID更新定單的狀態(tài),修改定單的付款狀態(tài)以及發(fā)貨狀態(tài)。修改定單頁面change.jsp.通過獲取定單ID,用update語句更新定單信息。定單管理界面如下圖:圖4-5查看當(dāng)前訂單定單查詢代碼如下:SELECT*FROMmy_indentlistwhereusername='"+username+"'4.2.4用戶注冊(cè)此功能模塊由reg.Jsp,log.Jsp,changemima.Jsp,psxinxi.jsp來實(shí)現(xiàn)。分別別實(shí)現(xiàn)用戶的注冊(cè)以及密碼的修改。Psxinxi查看自己的基本注冊(cè)情況。如下圖:圖4-6用戶注冊(cè)用戶點(diǎn)擊“個(gè)人信息”以后系統(tǒng)就會(huì)查詢數(shù)據(jù)庫my_users表顯示當(dāng)前用戶信息。由于整個(gè)用戶頁面都用session變量控制訪問權(quán)限,所以在進(jìn)行查詢的時(shí)候就根據(jù)seesion變量中的username對(duì)數(shù)據(jù)庫進(jìn)行查詢,查詢代碼如下:rs=sql.executeQuery("SELECT*FROMmy_userswhereusernamelike'%"+username.trim()+"%'");reg.Jsp用來注冊(cè)用戶的基本信息,包括用戶名,用戶密碼,性別,電話,地址,郵編,Email等基本信息。為了系統(tǒng)用戶名和密碼等的合法化,系統(tǒng)通過functionon_submit()函數(shù)來控制輸入,如果為空則提示用戶名為空返回重新輸入。示例代碼如下:if(form1.username.value==""){ alert("用戶名不能為空"); ……… }同時(shí)為了保證輸入合法化如Email這樣的信息,系統(tǒng)通過判斷語句來確定輸入是否合法,示例代碼:if(form1.email.value.length!=0) {for(i=0;i<form1.email.value.length;i++) if(form1.email.value.charAt(i)=="@") break; if(i==form1.email.value.length) {alert("非法EMAIL地址"); ……… } }在通過基本信息輸入以后,系統(tǒng)將信息傳遞給log.Jsp進(jìn)行處理,log.Jsp首先用字符串接收函數(shù):Stringusername=codeToString(request.getParameter("username"));來接收reg.Jsp提交的信息。然后通過數(shù)據(jù)庫執(zhí)行SQL語句insert將數(shù)據(jù)寫入數(shù)據(jù)庫中,如果注冊(cè)成功則跳轉(zhuǎn)到首頁,如果注冊(cè)不成功,則通過:out.print("注冊(cè)不成功,請(qǐng)檢查必添項(xiàng)目");提示輸入不成功。changemima.Jsp用來修改用戶的密碼信息,用戶在登錄以后點(diǎn)擊修改密碼的鏈接可以對(duì)密碼進(jìn)行修改。在輸入兩次密碼時(shí)需要用到兩次輸入密碼正確與否的判斷:if(form1.passwd.value!=form1.passconfirm.value){ alert("確認(rèn)密碼不相符!");判斷合法以后,就可以訪問數(shù)據(jù)庫通過update語句來更新用戶密碼信息。4.2.5會(huì)員登錄此功能通過<%@includefile="end.htm"%>來實(shí)現(xiàn),避免簡(jiǎn)單代碼的重復(fù)編寫,也達(dá)到美觀實(shí)用的效果。圖4-7會(huì)員登錄5系統(tǒng)測(cè)試5.1前臺(tái)測(cè)試完成了系統(tǒng)主要模塊的開發(fā)后,系統(tǒng)需要進(jìn)行必要的運(yùn)行測(cè)試,以檢驗(yàn)系統(tǒng)的正確性,以下將按照用戶購買商品的流程和管理員對(duì)主要信息的管理來測(cè)試系統(tǒng)。首先來到前臺(tái)用戶的登陸界面,先注冊(cè)一個(gè)用戶名為wang的新用戶,填寫相關(guān)資料后,點(diǎn)擊確定后,注冊(cè)成功跳轉(zhuǎn)到主頁面,在測(cè)試中發(fā)現(xiàn)不同用戶可以注冊(cè)相同的ID,顯然這在實(shí)際應(yīng)用中是不現(xiàn)實(shí)的,后來在代碼中添加查詢比較代碼,通過比較注冊(cè)用戶名和數(shù)據(jù)庫中的用戶名來判斷該用戶名是否有效來解決這個(gè)問題。注冊(cè)成功以后回到主頁登錄,進(jìn)入用戶界面。點(diǎn)擊商品查詢以及購物等頁面基本正常,但是在測(cè)試過程中發(fā)現(xiàn)了非常嚴(yán)重的問題,有的頁面本來應(yīng)該在登錄以后才能訪問,比如查看自己定單以及購買商品等注冊(cè)登錄用戶的頁面。而在不用登錄直接在IP地址欄輸入地址也可直接訪問。這顯然是不現(xiàn)實(shí)的。于是運(yùn)用控制變量session來解決了這個(gè)問題,添加如下代碼:登錄頁面添加的代碼:session.setAttribute("username",codeToString(username));訪問控制頁面添加的代碼:Stringusername=(String)session.getAttribute("username");if(username==null||username.equals("")){ response.sendRedirect("error.htm");以此來解決訪問控制的問題,添加代碼以后如果直接輸入地址則會(huì)跳轉(zhuǎn)到error.Htm頁面提示沒有登錄,要求返回登錄頁面登錄以后訪問。5.2后臺(tái)測(cè)試當(dāng)點(diǎn)擊管理員登錄按鈕時(shí),就來到管理員管理登陸頁面,當(dāng)我們不輸入用戶名而直接點(diǎn)擊提交時(shí),系統(tǒng)會(huì)提示請(qǐng)輸入用戶名錯(cuò)誤。這個(gè)在前臺(tái)用戶登陸中也同樣設(shè)置了相應(yīng)的驗(yàn)證。輸入正確的用戶名和密碼后,便可以進(jìn)入系統(tǒng)可以進(jìn)行管理了,首先我們測(cè)試添加新商品,正確填入商品信息并提交后,系統(tǒng)會(huì)提示添加成功,通過打商品查看的頁面可以查看到,因此證明添加成功。對(duì)商品的刪除更為簡(jiǎn)便,只要在選擇商品類別和商品型號(hào)后,只要點(diǎn)擊“刪除”就能夠成功實(shí)現(xiàn)操作。對(duì)于用戶管理,管理員查看當(dāng)前所有用戶的相關(guān)信息,并且能夠刪除帶有不良企圖的非法注冊(cè)用戶的ID,操作起來簡(jiǎn)便、快捷。在測(cè)試的過程中同樣發(fā)現(xiàn)和用戶模塊相同的致命性錯(cuò)誤,就是可以直接通過地址欄而不需要驗(yàn)證就可以具備管理員權(quán)限。這是一個(gè)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- PB-22-N-5-Hydroxypentyl-3-carboxyindole-metabolite-生命科學(xué)試劑-MCE-1773
- L-Glutamic-acid-ammonium-生命科學(xué)試劑-MCE-7975
- 1-Octadecyl-lysophosphatidic-acid-PA-O-18-0-0-0-生命科學(xué)試劑-MCE-8369
- 2025年度績(jī)效合同簽訂與履行指南
- 二零二五年度未簽合同員工勞動(dòng)仲裁應(yīng)對(duì)措施及賠償協(xié)議
- 二零二五年度物業(yè)與業(yè)主之間綠化賠償合作協(xié)議
- 2025年度煙酒店員工培訓(xùn)與職業(yè)發(fā)展合同
- 柴油發(fā)電機(jī)組技術(shù)協(xié)議
- 施工日志填寫樣本防雷工程施工
- 小學(xué)語文人教一年級(jí)上冊(cè)識(shí)字2《日月明》教學(xué)設(shè)計(jì)
- 充電樁知識(shí)培訓(xùn)課件
- 2025年七年級(jí)下冊(cè)道德與法治主要知識(shí)點(diǎn)
- 2025年交通運(yùn)輸部長(zhǎng)江口航道管理局招聘4人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(shí)(2024版)解讀
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測(cè)試(零模)英語 含解析
- 偏癱足內(nèi)翻的治療
- 藥企質(zhì)量主管競(jìng)聘
- 信息對(duì)抗與認(rèn)知戰(zhàn)研究-洞察分析
- 心腦血管疾病預(yù)防課件
- 手術(shù)室??谱o(hù)士工作總結(jié)匯報(bào)
- 2025屆高三聽力技巧指導(dǎo)-預(yù)讀、預(yù)測(cè)
評(píng)論
0/150
提交評(píng)論