網(wǎng)上購(gòu)物系統(tǒng)的研究與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
網(wǎng)上購(gòu)物系統(tǒng)的研究與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
網(wǎng)上購(gòu)物系統(tǒng)的研究與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
網(wǎng)上購(gòu)物系統(tǒng)的研究與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
網(wǎng)上購(gòu)物系統(tǒng)的研究與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩97頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)說明書(論文) 畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教均已在文中作了明確的說明并表示了謝意。使用授權(quán)說明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并手段保存論文;在不以贏利為目的前提下,學(xué)校可以公布論文的部分或全部?jī)?nèi)容。學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。指導(dǎo)教師評(píng)閱書1、學(xué)生在論文(設(shè)計(jì))過程中的治學(xué)態(tài)度、工作精神2、學(xué)生掌握專業(yè)知識(shí)、技能的扎實(shí)程度3、學(xué)生綜合運(yùn)用所學(xué)知識(shí)和專業(yè)技能分析和解決問題的能力4、研究方法的科學(xué)性;技術(shù)線路的可行性;設(shè)計(jì)方案的合理性5、完成畢業(yè)論文(設(shè)計(jì))期間的出勤情況二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范?2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)?三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義□優(yōu)□良□中□及格□不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意?3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平□優(yōu)□良□中□及格□不及格指導(dǎo)教師:(簽名)單位:(蓋章)評(píng)閱教師評(píng)閱書評(píng)閱教師評(píng)價(jià):1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范?□優(yōu)□良□中□及格□不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)?□優(yōu)□良口中□及格□不及格二、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意?3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平評(píng)閱教師:(簽名)單位:(蓋章)教研室(或答辯小組)及教學(xué)系意見一、答辯過程1、畢業(yè)論文(設(shè)計(jì))的基本要點(diǎn)和見解的敘述情況2、對(duì)答辯問題的反應(yīng)、理解、表達(dá)情況□優(yōu)□良□中□及格□不及格3、學(xué)生答辯過程中的精神狀態(tài)二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范?2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)?三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意?3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平教研室主任(或答辯小組組長(zhǎng)):(簽名)系主任:(簽名)伴隨著Internet的蓬勃發(fā)展,網(wǎng)絡(luò)購(gòu)物中心作為電子商務(wù)的一種形式正以其高效、低成本的優(yōu)勢(shì),逐步成為新興的經(jīng)營(yíng)模式和理念,人們已經(jīng)不再滿足用途信息的瀏覽和發(fā)布,而是渴望著能夠充分享受網(wǎng)絡(luò)所帶來的更加多的便利。網(wǎng)絡(luò)購(gòu)物正適應(yīng)了當(dāng)今社會(huì)快節(jié)奏地生活,使顧客足不出戶便可以方便快捷輕本系統(tǒng)便是嘗試用J2EE架構(gòu)在網(wǎng)絡(luò)上架構(gòu)一個(gè)動(dòng)態(tài)的電子商務(wù)網(wǎng)站,它是在WindowsXP下,以MYSQL為數(shù)據(jù)庫(kù)開發(fā)平臺(tái),Tomcat網(wǎng)絡(luò)信息服務(wù)作為應(yīng)用服務(wù)器,采用J2EE框架開發(fā)的網(wǎng)上購(gòu)物系統(tǒng)。他分前臺(tái)部分和后臺(tái)部分,前臺(tái)部分由用戶使用,主要包括用戶注冊(cè),購(gòu)物車管理等功能;后臺(tái)部分由管理員使用,主要包括商品管理,處理訂單,用戶信息管理等功能。建立后的網(wǎng)站系統(tǒng)是一個(gè)動(dòng)態(tài)、交互式、具有商品提供、系統(tǒng)管理等功能的電子商務(wù)網(wǎng)站。關(guān)鍵字:J2EE;MYSQL;Tomcat;網(wǎng)上購(gòu)物系統(tǒng)Alongwiththevigorousdeashoppingcenterisaformofitshighlyefficieemergingasabusinessmodelandphilosophynetworkmoreconvenient.Internetshoppingisbeingadaptedtothefastpaceoffdevelopmentinplatform,Tomcatapplicationservices,useJ2EEarchithebackgroundofsomeofhishours,theprospectsofusers,includingusersregistered,ashoppingcartmanagement,ordermanagemenmanagement;Backgroundinpartbymanagers,includingcommoditymanagement,Aftertheestablishmentofthewebsiteisadynamic,icommodities,systemsmanagement,voicemail,andotherfunctionsofthee-commercewebsiteusers. 2 2 1.3研究現(xiàn)狀 3 3 2.1J2EE基本概念 52.1.1J2EE概念 52.1.2J2EE的優(yōu)勢(shì) 62.2J2EE關(guān)鍵技術(shù) 2.2.2Struts框架 3.1需求分析 3.1.1系統(tǒng)用戶 3.1.2網(wǎng)站功能 3.2系統(tǒng)功能模塊設(shè)計(jì) 3.2.2用戶訪問系統(tǒng)的流程 4.2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) 4.3Hibernate訪問數(shù)據(jù)庫(kù) 4.3.3用Hibernate訪問數(shù)據(jù)庫(kù) 4.3.4用Hibernate訪問數(shù)據(jù)庫(kù) 5.1前臺(tái)部分 5.1.1前臺(tái)總體框架 5.1.2用戶管理模塊 275.1.3用戶登錄 5.1.4購(gòu)物車模塊 5.1.5修改用戶資料 5.1.6商品查詢 5.2后臺(tái)部分 5.2.1后臺(tái)總體框架 5.2.2管理員登錄 5.2.3商品管理 5.2.4訂單管理 5.2.5用戶管理 致謝 參考文獻(xiàn) 附錄A 附錄B 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第2頁(yè)第一章緒論21世紀(jì)是網(wǎng)絡(luò)飛速發(fā)展的時(shí)代,上網(wǎng)、創(chuàng)建網(wǎng)站已經(jīng)成為熱門話題。Internet技術(shù)得到持續(xù)、猛烈的發(fā)展,已經(jīng)成為計(jì)算機(jī)產(chǎn)業(yè)的一個(gè)技術(shù)熱點(diǎn),管理規(guī)范和公司制度等等;動(dòng)態(tài)信息是指隨時(shí)變化的信息,如商品報(bào)價(jià),會(huì)便的傳遞信息,完成電子貿(mào)易或EDI交易。這種全新的交易方式實(shí)現(xiàn)了公司1.2選題背景與意義構(gòu)來進(jìn)行設(shè)計(jì)和開發(fā)的。隨著Internet的飛速發(fā)展,傳統(tǒng)的兩層體系結(jié)構(gòu)面臨著嚴(yán)峻的挑戰(zhàn),其中最為突出的問題是開發(fā)負(fù)擔(dān)重、維護(hù)困難等。J2EE是構(gòu)建電子商務(wù)系統(tǒng)的新興技術(shù),采用J2EE技術(shù),可以方便地將于Web的顯示頁(yè)面;業(yè)務(wù)層處理客戶購(gòu)物過程;數(shù)據(jù)層則提供數(shù)據(jù)存儲(chǔ)。采用這種層次結(jié)構(gòu)可以提高系統(tǒng)的擴(kuò)展性和服務(wù)器的效率,方便開發(fā)。本文針對(duì)目前網(wǎng)上商店所面臨的問題,采用J2EE技術(shù),設(shè)計(jì)開發(fā)了一個(gè)網(wǎng)上商店系統(tǒng)。系統(tǒng)具有高可靠性、可擴(kuò)展性和可重用性的特點(diǎn)。導(dǎo)航;采用復(fù)合視圖來向用戶提供Web顯示,減少了視圖中代碼的重復(fù);采用DAO模式訪問數(shù)據(jù)庫(kù),從而實(shí)現(xiàn)了業(yè)務(wù)層和數(shù)據(jù)訪問層的分離,降低了層南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第3頁(yè)系統(tǒng)以MySql作為后臺(tái)數(shù)據(jù)庫(kù),在Tomcat5.0應(yīng)用服務(wù)器上部署成功。1.3研究現(xiàn)狀在美、日等信息化程度較高的國(guó)家和地區(qū),網(wǎng)絡(luò)商店發(fā)展速度迅猛,美國(guó)的世界級(jí)超一流的零售商,如沃爾瑪凱瑪特,家庭倉(cāng)儲(chǔ)、科羅格、J.C培尼等紛紛擠身于網(wǎng)絡(luò)經(jīng)商的行列。調(diào)查表明:美國(guó)的家庭已越來越習(xí)慣于在家中從在我國(guó),網(wǎng)上購(gòu)物從無到有也不過短短幾年時(shí)間。我國(guó)第一家網(wǎng)上購(gòu)物發(fā)生在1996年,燕莎友誼商場(chǎng)首次通過網(wǎng)上商城售出一個(gè)景泰藍(lán),雖然貨款的支付不是在網(wǎng)上進(jìn)行的,但這畢竟為我國(guó)零售業(yè)奏出了網(wǎng)上購(gòu)物的先聲。根據(jù)CNNIC的統(tǒng)計(jì)結(jié)果,截止2004年1月中國(guó)有互聯(lián)網(wǎng)用戶7950萬人,而又有1.4論文主要研究?jī)?nèi)容本論文涉及了軟件開發(fā)基礎(chǔ)知識(shí)、J2EE、MVC模式等方面的內(nèi)容,主要包括了以下幾個(gè)方面:軟件開發(fā)流程包括以下步驟,即業(yè)務(wù)需求分析,可行性研究,方案設(shè)計(jì),確定開發(fā)計(jì)劃,需求分析,建模,詳細(xì)設(shè)計(jì),編寫代碼,軟件測(cè)試,軟件維護(hù)。J2EE是一種利用Java2平臺(tái)來簡(jiǎn)化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java2平臺(tái)的標(biāo)性、方便存取數(shù)據(jù)庫(kù)的JDBCAPI、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì)EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。第4頁(yè)利用J2EE框架和MVC模式來開發(fā)一個(gè)web應(yīng)用項(xiàng)目。1.5主要章節(jié)安排首先就課題研究的背景和意義做出說明。第一章總體的介紹了下設(shè)計(jì)的內(nèi)容。第二章簡(jiǎn)要介紹了J2EE的基礎(chǔ)知識(shí)。第三章介紹了系統(tǒng)需求分析及總體設(shè)計(jì),包括需求分析,系統(tǒng)功能模塊設(shè)計(jì),對(duì)具體功能及用例說明。第四章是數(shù)據(jù)庫(kù)設(shè)計(jì),包括數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì),Hibernate訪問數(shù)據(jù)庫(kù)。第五章給出了系統(tǒng)戶注冊(cè),購(gòu)物車管理,訂單管理,個(gè)人資料管理等功能;后臺(tái)部分由管理員使用,主要包括會(huì)員信息管理,主要包括商品管理,用戶信息管理,處理訂單等功能。最后給出結(jié)論并對(duì)課題未來的發(fā)展做出了展望。南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第5頁(yè)第二章J2EE簡(jiǎn)介J2EE(Java2EnterpriseEdition)是建立在Java2平臺(tái)上的企業(yè)級(jí)應(yīng)用的解決方案。J2EE技術(shù)的基礎(chǔ)便是Java2平臺(tái),不但有J2SE平臺(tái)的所有功能,同時(shí)還提供了對(duì)EJB,Servlet,JSP,XML等技術(shù)的全面支持,其最終目標(biāo)是成為一個(gè)支持企業(yè)級(jí)應(yīng)用開發(fā)的體系結(jié)構(gòu),簡(jiǎn)化企業(yè)解決方案的開發(fā),部署和的產(chǎn)品,如BEAWebLogic,IBMWebSphere以及開源的JBoss等等。J2EE,是sun公司提出的一個(gè)標(biāo)準(zhǔn),符合這個(gè)標(biāo)準(zhǔn)的產(chǎn)品叫"實(shí)現(xiàn)";其中你下載的sun公司的j2ee開發(fā)包中就有一個(gè)這樣的"實(shí)現(xiàn)",而jboss,weblogic,websphere都是j2ee標(biāo)準(zhǔn)的一個(gè)"實(shí)現(xiàn)"。由于jboss,weblogic,websphere自身帶有j2ee的api,所以可以不使用sun的j2ee實(shí)現(xiàn)。平臺(tái)有3個(gè)版本,它們是適用于小型設(shè)備和智能卡的Java22平臺(tái)標(biāo)準(zhǔn)版(Java2PlatformStandardEdition,J2SE)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java2平臺(tái)企業(yè)版(Java2PlatformEnterpriseEdition,J2EE)。J2EE是一種利用Java2平臺(tái)來簡(jiǎn)化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫(kù)的JDBCAPI、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì)EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(J終目的就是成為一個(gè)能夠使企業(yè)開發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。J2EE體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費(fèi)用而又需要高可第6頁(yè)降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用持,完全支持EnterpriseJavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的件供應(yīng)商去完成。這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開發(fā)時(shí)間。高級(jí)中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù):穩(wěn)定的可用性:一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。因?yàn)镮NTERNET是全球化的、無處不在的,即使在夜間按計(jì)劃停機(jī)也可能造成嚴(yán)重?fù)p失。若是意外停機(jī),那會(huì)有災(zāi)難性后果。J2EE部署到可靠的操作環(huán)境中,他們支持長(zhǎng)期的可用性。一些J2EE部署在WINDOWS環(huán)境中,客戶也可選擇健壯性能更好的操作系統(tǒng)如SunSolaris、IBMOS/390。最健壯的操作系統(tǒng)可達(dá)到99.999%的可用性或每年只需5分鐘停機(jī)時(shí)間。這是MVC英文即Model-View-Controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三視圖(View)代表用戶交互界面,對(duì)于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個(gè)訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型。模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第7頁(yè)的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是MVC最主要的核心。目前流行的EJB模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困們,把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對(duì)象編程來做比喻,MVC定義了一個(gè)頂級(jí)類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點(diǎn)對(duì)編程的開象的數(shù)據(jù)保存(持續(xù)化)。比如將一張訂單保存到數(shù)據(jù)庫(kù),從數(shù)據(jù)庫(kù)獲取訂單。我們可以將這個(gè)模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫(kù)的操作只限制在該模型中??刂?Controller)可以理解為從用戶接收請(qǐng)求,將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請(qǐng)求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)連接,控制層接受請(qǐng)求后,并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖2-1所南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第8頁(yè)封裝應(yīng)用程序狀態(tài)響應(yīng)狀態(tài)查詢應(yīng)用程序功能通知視圖改變視圖選擇解釋模型用戶請(qǐng)求發(fā)送用戶輸入給控制器允許控制器選擇視圖控制器定義應(yīng)用程序行為用戶動(dòng)作映射成模型更新選擇響應(yīng)的視圖模型更新請(qǐng)求狀態(tài)查詢狀態(tài)改變下面我們通過假設(shè)一個(gè)企業(yè)應(yīng)用的J2EE實(shí)現(xiàn),來了解各種組件和服務(wù)的應(yīng)用。假設(shè)應(yīng)用對(duì)象是計(jì)算機(jī)產(chǎn)品的生產(chǎn)商/零售商的銷售系統(tǒng),這個(gè)銷售系統(tǒng)能夠通過自己的網(wǎng)站發(fā)布產(chǎn)品信息,同時(shí)也能將產(chǎn)品目錄傳送給計(jì)算機(jī)產(chǎn)品交易市場(chǎng)。銷售系統(tǒng)能夠在線接受訂單,并隨后轉(zhuǎn)入內(nèi)部企業(yè)管理系統(tǒng)進(jìn)行相關(guān)的后續(xù)處理。參見圖2-2,這個(gè)企業(yè)應(yīng)用可以這種方式架構(gòu)。該企業(yè)應(yīng)用的核心是產(chǎn)品目錄管理和產(chǎn)品定購(gòu)管理這兩個(gè)業(yè)務(wù)邏輯,使用EJB加以實(shí)現(xiàn),并部署在EJB產(chǎn)品日景警理商業(yè)邃解圖2-2J2EE應(yīng)用示例南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第9頁(yè)2.2.1JSP的技術(shù)原理在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(yè)(*.jsp)。JSP頁(yè)面看上去象標(biāo)準(zhǔn)的HTML和XML頁(yè)面,并附帶有JSP引擎能夠處理和抽取的額外元件。后將執(zhí)行結(jié)果以HTML格式返回給用戶。客戶瀏覽器的要求最低。它基于強(qiáng)大的Java語言,具有良好的伸縮性,在網(wǎng)JSP技術(shù)對(duì)動(dòng)態(tài)Web頁(yè)面的開發(fā)的影響(1)將內(nèi)容的生成和顯示進(jìn)行分離(內(nèi)容是根據(jù)請(qǐng)求來變化的,會(huì)根據(jù)不同的請(qǐng)求作相應(yīng)的處理得到不同的內(nèi)通過訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫(kù),或者包含文件),并(2)強(qiáng)調(diào)可重用的組件絕大多數(shù)JSP頁(yè)面依賴于可重用的,跨平臺(tái)的組件(JavaBeans)南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第10頁(yè)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)(3)采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開發(fā)Web頁(yè)面開發(fā)人員不會(huì)都是熟悉腳本語言的編程人員。JavaServerPage技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪問和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的通過開發(fā)定制化標(biāo)識(shí)庫(kù),JSP技術(shù)是可以擴(kuò)展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫(kù)。這使得Web頁(yè)面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來工作。(4)JSP能提供所有Servlets功能改HTML更方便。可以更明確地進(jìn)行分工,Web頁(yè)面設(shè)計(jì)人員編寫HTML,雜的基于Web的應(yīng)用。(5)健壯的存儲(chǔ)管理和安全性由于JSP頁(yè)面的內(nèi)置腳本語言是基于Java編程語言的,而且所有的JSP頁(yè)面都被編譯成為JavaServlet,JSP頁(yè)面就具有Java技術(shù)的所有好處,包括(6)一次編寫,各處運(yùn)行作為Java平臺(tái)的一部分,JSP擁有Java編程語言“一次編寫,各處運(yùn)行”的特點(diǎn)。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,更改工具或服務(wù)器并不影響當(dāng)前的應(yīng)用。Servlet在一個(gè)典型的Web應(yīng)用中擔(dān)任的重要角色就是Servlet非常適合做南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第11頁(yè)塊,它并不十分適合做用戶的界面表示,而當(dāng)Web用戶發(fā)出請(qǐng)求的時(shí)候Servlet組件可以通過Servlet容器來捕獲這個(gè)請(qǐng)求消息,這樣它可以調(diào)用模型組件來出來這個(gè)消息。當(dāng)客戶程序(如:瀏覽器)首先向Servlet容器發(fā)出Web請(qǐng)求,服務(wù)器接受到請(qǐng)求以后會(huì)調(diào)用相應(yīng)的Servlet組件來執(zhí)行相應(yīng)的程序來完成這個(gè)請(qǐng)求,然后Servlet組件吧處理結(jié)果交給Servlet容器,再由Servlet容器把請(qǐng)求回復(fù)給客戶程序.這也是一個(gè)典型的web應(yīng)用的執(zhí)行過程.Java的Servlet技術(shù)提供了一組用戶的編程接口為開發(fā)人員定義了相關(guān)的類。ServletAPI中以下幾個(gè)比較重點(diǎn)的類決定了Servlet的處理流程:HttpServlet:該類提供了用戶擴(kuò)展的能力,用戶通過繼承該類編寫Servlet組件.主要填寫Http方法(如:doPostdoGet)完成服務(wù)。HttpServletRequest:該類提供了接受用戶請(qǐng)求數(shù)據(jù)的能力,該類通常是由用戶的請(qǐng)求數(shù)據(jù)。容器在服務(wù)中創(chuàng)建的。HttpSession:該了同類處理客戶的會(huì)話跟蹤。持該應(yīng)用模塊的狀態(tài).這組狀態(tài)是該模塊中所有Web組件可以訪問到的共享信Struts框架結(jié)合MVC框架隨著軟件開發(fā)日漸成熟,軟件工程師們也變得逐漸成熟起來,我們開始首先設(shè)計(jì)軟件框架結(jié)構(gòu),這樣在開發(fā)階段我們才會(huì)井然有序的進(jìn)行.而對(duì)于現(xiàn)代軟件開發(fā)對(duì)軟件的開發(fā)周期要求越來越迅速,所以如果要自己開發(fā)一套框架已經(jīng)不太現(xiàn)實(shí)了.所以我們必須要選擇已經(jīng)成熟的軟件框架了.就是JSPModel2模型的實(shí)現(xiàn).南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第12頁(yè)視圖是通過一組JSP程序?qū)崿F(xiàn)的.這些JSP程序中不能包含業(yè)務(wù)邏輯,也不能包括模型的信息.模型的信息是通過控制器傳遞的.在Struts中ActionForm也被看成是視圖的一部分.它其他更新視圖,以及視圖查詢模型狀態(tài)的橋梁.一次回話中的狀態(tài),以及持久狀態(tài).而操作這些狀態(tài)的流程也同樣包括在模型中.這些模型也就是業(yè)務(wù)的總體運(yùn)作流程和數(shù)據(jù).控制器部分由ActionServlet和Action來實(shí)現(xiàn).ActionServlet也就是Struts框架用來和Web容器交互的接口.該類是Struts框架的核心組件.ActionServlet繼承了HttpServlet類.它在MVC模型中扮演中央控制器的角色.當(dāng)Web容器一接收到客戶請(qǐng)求就會(huì)交割A(yù)ctionServle信息選擇合適Action來處理請(qǐng)求.并傳遞請(qǐng)求過程中的數(shù)據(jù),這些數(shù)據(jù)是通過ActionForm傳遞的.Action本身也并不包含業(yè)務(wù)邏輯的處理代碼.它只是負(fù)責(zé)調(diào)用業(yè)務(wù)的處理代碼的.調(diào)用這些代碼的方法在execute()方法中.該方法在調(diào)用業(yè)務(wù)處理以后會(huì)放回一個(gè)ActionForward對(duì)象來選擇對(duì)應(yīng)的視圖.一般而言我們的Action必須直接或間接的繼承該類.然后重寫excecute()方法以完成我們自己的處理消息.4.Struts的配置文件struts-config.xml該文件實(shí)質(zhì)是一個(gè)控制器和視圖的黏合劑,控制器之所以能夠選擇對(duì)應(yīng)的視圖,以及視圖能夠通過對(duì)應(yīng)的控制器查詢到模型中的數(shù)據(jù)都是依賴該文件.該文件是一個(gè)XML文件.在該配置文件中每Action都對(duì)應(yīng)一個(gè)<Action>標(biāo)簽用來映射Action類的信息.1.web容器啟動(dòng),根據(jù)web.xml內(nèi)容中的標(biāo)簽<servlet></servlet>new一個(gè)器停止.action實(shí)例配置根據(jù)<servlet></servlet>南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第13頁(yè)的表單對(duì)象actionForm傳進(jìn)去4.action控制器類根據(jù)需要調(diào)用相應(yīng)的bo類來處理業(yè)務(wù)邏輯.5.bo類根據(jù)需要調(diào)用相應(yīng)的dao類來實(shí)現(xiàn)與底層數(shù)據(jù)庫(kù)連接6.dao返回結(jié)果給bo,bo返回給action調(diào)用ActionMapping對(duì)象轉(zhuǎn)到相應(yīng)的頁(yè)面.客戶請(qǐng)求過濾不屬于收請(qǐng)求異常處理對(duì)象控制器將請(qǐng)求(NoAttionFom)(執(zhí)行失敗)(執(zhí)行失敗)實(shí)例(驗(yàn)證成功)表單參數(shù)將以保存起來產(chǎn)生錯(cuò)誤信息(驗(yàn)證失敗)產(chǎn)生視圖ActionServlet是Struts的核心控制器,通過這個(gè)核心的控制器來調(diào)用其他用戶注冊(cè)了的自定義的控制器Action,自定義Action需要符合Struts的自定義Action規(guī)范,還需要在struts-config.xml的特定配置文件中進(jìn)行南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第14頁(yè)配置,接收J(rèn)SP輸入字段形成Actionform,然后調(diào)用一個(gè)Action控制器。ActionForm是可以自動(dòng)將表單中ActionForm也是要遵守Struts規(guī)范的,也就是要繼承于ActionForm,其中包含有validate方法,并對(duì)struts-config.xml配置文件進(jìn)行配置。根據(jù)提交然后將request的參數(shù)對(duì)應(yīng)到ActionForm中,進(jìn)行form驗(yàn)證。如果驗(yàn)證通過則調(diào)用Action的execute()方法來執(zhí)行Action,最終返回ActionFoward。ActionFoward是對(duì)mapping中一個(gè)foward的包裝,對(duì)應(yīng)于一個(gè)url。ActionErrors是對(duì)錯(cuò)誤信息的包裝,一旦在執(zhí)行action或者form.validate中出現(xiàn)異常,即可產(chǎn)生一個(gè)ActionError并最終加入到ActionErrors。在Form驗(yàn)證的過程中,如果有Error發(fā)生,則會(huì)將頁(yè)面重新ServletController(ActionServlet和自定義的Action),配置Ctrler需要配置struts-config.xm1,通過客戶端form的action來查找調(diào)用相應(yīng)的Struts提供了多種Action供選擇使用。普通的Action只能通過調(diào)用execute執(zhí)行一項(xiàng)任務(wù),而DispatchAction可以根據(jù)配置參數(shù)執(zhí)行,而不是僅進(jìn)入execute()函數(shù),這樣可以執(zhí)行多種任務(wù)。如insert,update等。第15頁(yè)第三章系統(tǒng)需求分析及總體設(shè)計(jì)3.1需求分析現(xiàn)在Internet上隨處可見網(wǎng)上商城、網(wǎng)上書店等電子商務(wù)網(wǎng)站,讓消費(fèi)者(在本章中有時(shí)也稱為客戶)足不出戶就可購(gòu)買到想到的商品,不僅方便了消費(fèi)者,也讓擁有電子商務(wù)網(wǎng)站的企業(yè)能及時(shí)向廣大客戶推銷產(chǎn)品、構(gòu)建企業(yè)形象、贏得利潤(rùn)。電子商務(wù)系統(tǒng)與傳統(tǒng)的面對(duì)面的營(yíng)銷方式相比,具有不可比擬的優(yōu)勢(shì),如銷售成本與物流大大降低、信息傳輸及時(shí)等。使用網(wǎng)上書店系統(tǒng)的用戶主要有兩種:一種是消費(fèi)者,可以瀏覽網(wǎng)上書店商品信息進(jìn)行管理、處理客戶的訂單。3.1.2網(wǎng)站功能此基于JSP的購(gòu)物網(wǎng)站分前臺(tái)功能和后臺(tái)功能:資料管理。用戶信息管理,連接信息管理。鑒于網(wǎng)上商店系統(tǒng)的兩種用戶角色的說明,可將系統(tǒng)分為前臺(tái)和后臺(tái),這成與客戶的交互性處理;后臺(tái)供給網(wǎng)站的管理者使用,用于管理網(wǎng)站的內(nèi)容。有的系統(tǒng)為保障安全,將后臺(tái)處理部分獨(dú)立出來,采用C/S方式,用專門的編南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第16頁(yè)程語言(如VisualBasic、VisualC++)來實(shí)現(xiàn),因?yàn)檫@種方式需要網(wǎng)站的管理者安裝客戶端程序;本章中實(shí)現(xiàn)的網(wǎng)上書店其后臺(tái)用B/S方式。網(wǎng)上書店前臺(tái)實(shí)現(xiàn)的功能有:(1)用戶管理。實(shí)現(xiàn)用戶資料的自助修改,維護(hù)個(gè)人信息。(2)購(gòu)物車管理。提供購(gòu)物車商品條目的數(shù)量修改,增加、刪除等操作。(3)用戶登錄。供已注冊(cè)的用戶登錄,登錄后才能在網(wǎng)上購(gòu)物。(4)網(wǎng)上購(gòu)物。已登錄的用戶可以將需要購(gòu)買的物品放入購(gòu)物車,可將網(wǎng)上書店后臺(tái)管理實(shí)現(xiàn)的功能有:(1)用戶信息管理。提供對(duì)用戶資料的查詢、刪除操作。(2)商品管理管理。供網(wǎng)站管理員增加、修改、刪除網(wǎng)上書店中書藉的基本資料信息,主要是文本信息。(3)訂單管理。供網(wǎng)站管理員管理客戶提交的訂單,客戶“已確認(rèn)”的訂單可修改狀態(tài)為“已發(fā)貨”。用用處商管個(gè)商購(gòu)用前臺(tái)功能后臺(tái)功能人資料管理網(wǎng)上購(gòu)物系統(tǒng)戶管理理訂單品管理品查詢圖3-1系統(tǒng)的功能結(jié)構(gòu)圖南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第17頁(yè)3.2.2用戶訪問系統(tǒng)的流程當(dāng)用戶在瀏覽器直接輸入相應(yīng)的工程名時(shí),通過解析web.xml配置文件(里面設(shè)置了初始的頁(yè)面),會(huì)跳傳到相應(yīng)的JSP頁(yè)面,根據(jù)JSP中的.do的定向,struts-config.xml配置文件,進(jìn)入相應(yīng)的自定義的Action類,調(diào)用相應(yīng)的JavaBean類的方法通過Hibernate實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的入庫(kù)和出庫(kù)操作.瀏覽器Web服務(wù)器控制器)JSP(視圖)(模型)問數(shù)據(jù)庫(kù)南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第18頁(yè)第四章數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)的設(shè)計(jì)通常是以一個(gè)已經(jīng)存在的數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ)的,常用的數(shù)據(jù)庫(kù)管理系統(tǒng)有MYSQL,SQLServer,Oracle等。我采用了MYSQL數(shù)據(jù)庫(kù)管理系統(tǒng),建立的數(shù)據(jù)庫(kù)名為njit。用戶:用戶id、用戶名稱、登錄密碼、聯(lián)系地址、郵編、郵箱地址、住宅電話、聯(lián)系電話、單位電話。商品:商品id、名稱、價(jià)格、商品描述。訂單:訂單id、訂單狀態(tài)、訂單用戶id。訂單條目:條目id、商品數(shù)量、條目?jī)r(jià)格、訂單id、商品id。4.2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)主要用于保存用戶(包括管理員)信息,該表的結(jié)構(gòu)如表4-1所示。表4-1用戶信息表(cart_user)列名類型第19頁(yè)4.2.2商品信息表(cart_product)主要用于保存商品信息,該表的結(jié)構(gòu)如表4-2所示。表4-2商品信息表(cart_product)列名類型4.2.3訂單表(cart_order)主要用于保存訂單信息,該表的結(jié)構(gòu)如表4-3所示。表4-3訂單表(cart_order)列名類型4.2.4訂單條目表(cart_order_item)主要用于保存訂單條目信息,該表的結(jié)構(gòu)如表4-4示。第20頁(yè)表4-4訂單條目表(cart_order_item)列名類型在今日的企業(yè)環(huán)境中,把面向?qū)ο蟮能浖完P(guān)系數(shù)據(jù)庫(kù)一起使用可能是相當(dāng)麻煩浪費(fèi)時(shí)間的。Hibernate是一個(gè)面向Java環(huán)境的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)映射工的對(duì)象映射到基于SQL的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中去。Hibernate不僅僅管理Java類到數(shù)據(jù)庫(kù)表的映射(包括Java數(shù)據(jù)類型到發(fā)時(shí)人工使用SQL和JDBC處理數(shù)據(jù)的時(shí)間。其中的95%。對(duì)于以數(shù)據(jù)為中心的程序來說,它們往往只在數(shù)據(jù)庫(kù)中使用存儲(chǔ)過程來實(shí)現(xiàn)商業(yè)邏輯,Hibernate可能不是最好的解決方案;對(duì)于那些在基于用,Hibernate是最有用的。不管怎樣,Hibernate一定可以幫助你消除或者包裝那系列的對(duì)象去。Hibernate是一個(gè)可以自動(dòng)的根據(jù)xml完成對(duì)象關(guān)系映射,并持久化到數(shù)據(jù)庫(kù)的開源組件。其底層也是由JDBC實(shí)現(xiàn)的。hibernate是通過xml文件的配置,對(duì)數(shù)據(jù)庫(kù)的底層的方言,以及數(shù)據(jù)庫(kù)連接所需的信息,以及連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng)。4.3.2Hibernate的工作方式南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第21頁(yè)Hibernate比傳統(tǒng)的數(shù)據(jù)庫(kù)訪問方式(最典型的JDBC)更能體現(xiàn)面向?qū)ο蟮某Kf的POJO類,它們就是普通的JavaBean,它們不需要實(shí)現(xiàn)任以對(duì)象的形式獲取數(shù)據(jù)、更改數(shù)據(jù),或者把對(duì)象保存為數(shù)據(jù)。運(yùn)行時(shí),Hibernate讀取映射文檔,然后動(dòng)態(tài)構(gòu)建Java類,以便管理數(shù)據(jù)庫(kù)與Java之間的轉(zhuǎn)換。在Hibernate中有一個(gè)簡(jiǎn)單而直觀的API,用于對(duì)數(shù)據(jù)庫(kù)所表示的對(duì)象執(zhí)行查詢。要修改這些對(duì)象,(一般情況下)只需在程序中與簡(jiǎn)單;只需以常規(guī)方式創(chuàng)建它們,然后告訴Hibernate有關(guān)它們的信息,這樣就能在數(shù)據(jù)庫(kù)中保存它們。4.3.3用Hibernate訪問數(shù)據(jù)庫(kù)使用Hibernate訪問數(shù)據(jù)庫(kù)首先要配置一個(gè)名為hibernate.cfg.xml的配置容如下:<!DOCTYPEhibernate-config"http://hibernate.sourceforge.<propertyname="show_sname="dialect">org.hibernate.dialect.MySQLD南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)name="connection.driver_class">com.mysql.jdbc.Dri<propertyname="connection.username">root</property><propertyname="connection.password">zj1523</property>name="connection.url">jdbc:mysql://localhost:3306<propertyname="hibernate.hbm2ddl.auto">none</property>name="file">mysq?_conne<mappingresource="com/tarena/shop/entity/Product.hbm.xml"/><mappingresource="com/tarena/shop/entity/Order.hbm.xml"/>然后是所對(duì)應(yīng)的實(shí)體的映射配置文件User.hbm.xml、Product.hbm.xml、Order.hbm.xml、Item.hbm.xml,并配置實(shí)體間的映射關(guān)系,實(shí)體的映射關(guān)系圖如圖4-1:SremoveitemByProductid(produ南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第23頁(yè)圖4-1實(shí)體間映射關(guān)系圖4.3.4用Hibernate訪問數(shù)據(jù)庫(kù)1.配置環(huán)境,加載hibernate的jar文件,以及連接數(shù)據(jù)庫(kù)連接使用的jar2.寫hibernate所需的配置文件,hibernate.cfg.xml,XXX.hbm.xml4.調(diào)用hibernateAPI。1)使用Configuration對(duì)象的buildSessionFactory()方法創(chuàng)建SessionFactory對(duì)象2)使用SessionFactory對(duì)象openSession()方法創(chuàng)建Session對(duì)象。3)使用Session的相應(yīng)方法來操作數(shù)據(jù)庫(kù),將對(duì)象信息持久化到數(shù)據(jù)庫(kù)。下面是調(diào)用hibernateAPI的基本步驟:1.創(chuàng)建Configuration對(duì)象。(解析配置文件)Configurationcon2.通過Configuration創(chuàng)建SessionFactory(線程安全的重量級(jí)組件)。方法會(huì)在CLASSPATH下尋找SessionFactorysessionFactory=config.buildSessionFactory();3.通過SessionFactory創(chuàng)建Session會(huì)話對(duì)象。Sessionsession=sessionFactory.openSession();//創(chuàng)建Session對(duì)象4.通過Session取得事務(wù)對(duì)象。Transactiontrans=session.beginTransaction();//開始事務(wù)5.通過session與數(shù)據(jù)庫(kù)進(jìn)行會(huì)話。session.get(Classclazz,Serializableid);//根據(jù)Id查找對(duì)象語言查找對(duì)象返回一個(gè)南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第24頁(yè)第25頁(yè)第五章系統(tǒng)詳細(xì)設(shè)計(jì)5.1前臺(tái)部分前臺(tái)部分由用戶使用,包括用戶注冊(cè),購(gòu)物車管理,個(gè)人資料管理、商品查詢等幾個(gè)部分。(1)模塊功能介紹用戶管理:為了便于網(wǎng)站的管理,必須有一套完整的用戶管理體系。該網(wǎng)站用戶管理模塊由用戶注冊(cè),用戶登陸2部分組成。購(gòu)物車:所選商品須通過購(gòu)物車進(jìn)行保存,然后生成訂單。修改個(gè)人資料:為了保護(hù)用戶信息不受非法侵害,用戶登陸后即可對(duì)個(gè)人的注冊(cè)信息進(jìn)行修改。商品查詢:通過輸入商品的完整名稱搜索網(wǎng)站內(nèi)所有匹配的商品。(2)前臺(tái)首頁(yè)流程1、商品列表流程:jsp:forward圖5-1商品列表流程2、添加商品條目到購(gòu)物車流程:圖5-2添加商品條目到購(gòu)物車流程南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第26頁(yè)3、轉(zhuǎn)到購(gòu)物車信息頁(yè)面流程:viewCart.do<forwviewCart.do<forw圖5-3轉(zhuǎn)到購(gòu)物車信息頁(yè)面流程4、轉(zhuǎn)到登錄頁(yè)面流程:loginjsp圖5-4轉(zhuǎn)到登錄頁(yè)面流程W我的購(gòu)物車商品列表產(chǎn)品名年通年西紅紅共分2頁(yè)圖5-5前臺(tái)首頁(yè)第27頁(yè)5.1.2用戶管理模塊用戶管理模塊主要包括用戶注冊(cè),登錄及找回密碼3個(gè)部分.(1)用戶注冊(cè)運(yùn)行結(jié)果如圖5-6所示.圖5-6用戶注冊(cè)頁(yè)面該注冊(cè)頁(yè)面使用了javascript在客戶端進(jìn)行驗(yàn)證關(guān)鍵代碼:alert("請(qǐng)輸入用戶名!");}if(form.firstpwd.value.length=alert("密碼不能為空!");if(form.firstpwd.value!=form.lastpwd.value){alert("密碼不一致!");南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第28頁(yè)}}5.1.3用戶登錄用戶登錄窗口設(shè)置在首頁(yè)上,主要用來接收用戶輸入的用戶名和密碼。用戶登錄流程如圖5-7所示cartjsp圖5-7用戶登錄流程用戶登錄窗口的運(yùn)行結(jié)果如圖5-8所示會(huì)員名:圖5-8用戶登錄窗口在用戶登錄窗口中單擊登錄按紐后,系統(tǒng)將對(duì)用戶名和密碼進(jìn)行驗(yàn)證,判斷用戶是否是已注冊(cè)用戶,如果已注冊(cè),則更新用戶在網(wǎng)站中的狀態(tài),如果沒有注5.1.4購(gòu)物車模塊在超市購(gòu)物,可以根據(jù)自己的需要將很多的物品挑選到購(gòu)物車(籃)中。而在網(wǎng)上虛擬的購(gòu)物商城中,通常都會(huì)采用一種被稱做“購(gòu)物車”的技術(shù)來模擬南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第29頁(yè)現(xiàn)實(shí)生活。這種技術(shù)用起來十分方便,不但可以隨時(shí)添加,查看,修改,清空購(gòu)物車中的內(nèi)容,還可以隨時(shí)去收銀臺(tái)結(jié)帳。(1)添加購(gòu)物車添加購(gòu)物車就是把用戶選中的商品放在購(gòu)物車中。當(dāng)用戶在前臺(tái)首頁(yè)中單擊商品展示區(qū)的“添加到購(gòu)物車”按鈕時(shí),系統(tǒng)會(huì)將該商品的添加到購(gòu)物車中,流程如圖5-9:圖5-9添加商品到購(gòu)物車流程如流程圖所示,用戶進(jìn)行添加商品到購(gòu)物車操作后,頁(yè)面還將回到主頁(yè)面,即商品列表頁(yè)面,用戶可以繼續(xù)購(gòu)物。為了方便用戶隨時(shí)查看購(gòu)物情況,在網(wǎng)站的首頁(yè)加入了查看購(gòu)物車鏈接,通過它可以將所選物品信息放入購(gòu)物車中顯示出來。查看購(gòu)物車頁(yè)面運(yùn)行結(jié)果如圖5-10:灑灑舉量課驗(yàn)甲ematt9還里咽利顧件網(wǎng)卡的四性-t00.江口口暗村裝特二震注石4珠業(yè)王志強(qiáng)州帶的和減書與空好口口哈和裝將與命簽翼-7衛(wèi)圖5-10購(gòu)物車頁(yè)面在購(gòu)物車頁(yè)面,用戶可對(duì)購(gòu)物車?yán)锷唐返男畔⑦M(jìn)行修改,如修改商品數(shù)量、南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第30頁(yè)刪除商品條目、清空購(gòu)物車、結(jié)帳,當(dāng)然,用戶也可以選擇繼續(xù)購(gòu)物。以上分支操作的流程圖如下:1、修改購(gòu)物車商品數(shù)量流程:圖5-11修改購(gòu)物車商品數(shù)量流程2、刪除選定定單條目流程:圖5-12刪除選定定單條目流程3、清空購(gòu)物車流程:cartjsp圖5-13清空購(gòu)物車流程(3)生成訂單商品價(jià)格信息,生成唯一的一個(gè)訂單號(hào),同時(shí)也把用戶注冊(cè)的基本信息讀取出南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第31頁(yè)來,形成一個(gè)完整的訂單寫入數(shù)據(jù)庫(kù)中。結(jié)帳填寫訂單的頁(yè)面如圖5-14。商品單你開起量元日1深a10四3哈利流特與何藍(lán)卡翅的四洗-12增利放片二法石-13口在誅仙洋6玉市堡外價(jià)日3口哈料拌用歐出圣笑可肥的購(gòu)物車中所有兩帛總童事元):ae姓名,地址,聯(lián)系地話,i生或單畫5.1.5修改用戶資料對(duì)于已經(jīng)注冊(cè),且已經(jīng)登錄的用戶,網(wǎng)站提供修改用戶資料的服務(wù),用戶通過修改該頁(yè)面上的表單條目,從而修改個(gè)人信息,從提交修改成功開始,后臺(tái)將把數(shù)據(jù)更新到數(shù)據(jù)庫(kù),所以用戶必須使用新的用戶名和密碼。修改個(gè)人信息的頁(yè)面運(yùn)行結(jié)果如圖5-15:第32頁(yè)用戶名用戶名密碼確認(rèn)密碼地址郵編郵箱家庭電話單位電話**圖5-15修改用戶信息頁(yè)面5.1.6商品查詢?yōu)榱朔矫嬗脩粼诙囗?yè)商品列表中快速找到自己想要的商品,本網(wǎng)站提供了精確查找商品的功能,用戶只需在主頁(yè)上的搜索文本框中鍵入自己想搜索的商品的完整名稱,就可以獲得與之匹配的商品條目,用戶就可以查看商品信息,也可以購(gòu)買該商品。搜索商品的操作如圖5-16所示:哈利波特與魔法石-1|搜索我的購(gòu)產(chǎn)品名稱產(chǎn)品價(jià)格簡(jiǎn)介添加到購(gòu)物車1誅仙簡(jiǎn)介2誅仙2簡(jiǎn)介3王志強(qiáng)外傳簡(jiǎn)介購(gòu)買4簡(jiǎn)介5哈利波特與致命圣靈-7簡(jiǎn)介6哈利波特與魔法石-1簡(jiǎn)介7哈利波特與密室-2簡(jiǎn)介8哈利波特與阿茲卡班的囚徒-3簡(jiǎn)介第33頁(yè)搜索商品的結(jié)果頁(yè)面如圖5-17所示:冒我的產(chǎn)品名稱產(chǎn)品價(jià)格簡(jiǎn)介添加到購(gòu)物車6哈利波特與魔法石-1簡(jiǎn)介簡(jiǎn)介5.2后臺(tái)部分5.2.1后臺(tái)總體框架后臺(tái)功能只允許具有管理員權(quán)限的用戶使用,它是實(shí)現(xiàn)前臺(tái)功能的基礎(chǔ)。主要包括管理員身份驗(yàn)證,訂單信息管理模塊,添加商品模塊,查詢用戶信息管理模塊組成。后臺(tái)功能介紹(1)功能模塊介紹管理員身份驗(yàn)證:為合法用戶提供一個(gè)后臺(tái)入口。訂單管理模塊:網(wǎng)站管理者對(duì)用戶訂單的已發(fā)貨狀態(tài)和未發(fā)貨狀態(tài)。商品管理模塊:向商品表插入、刪除、修改前臺(tái)首頁(yè)展示的商品信息。用戶管理模塊:查詢注冊(cè)所有用戶,對(duì)一些非法或失信用戶進(jìn)行刪除操作。網(wǎng)站后臺(tái)首頁(yè)運(yùn)行結(jié)果,如圖5-18所示。網(wǎng)上商城系統(tǒng)管理網(wǎng)上商城系統(tǒng)管理商品需理訂單露理圖5-18網(wǎng)站后臺(tái)首頁(yè)南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第34頁(yè)管理員身份驗(yàn)證,本系統(tǒng)要求管理員的用戶名必須為admin,用戶輸入用戶名則轉(zhuǎn)到后臺(tái)首頁(yè),反之則提示錯(cuò)誤。管理員登錄頁(yè)面的運(yùn)行結(jié)果如圖5-19所評(píng)也數(shù)據(jù)依據(jù)。目錄添加頁(yè)面的運(yùn)行結(jié)果如圖5-20所示。商品名稱:|Jmva面向?qū)υ淳幊躺唐泛?jiǎn)介:孫衛(wèi)琴編著圖5-20添加商品頁(yè)面第35頁(yè)同樣,管理員也可以對(duì)過期的商品進(jìn)行刪除操作,因?yàn)樵硪粯?,所以在此不再贅述?.2.4訂單管理用戶在前臺(tái)購(gòu)物所產(chǎn)生的訂單不能立即執(zhí)行需要系統(tǒng)管理員在后臺(tái)處理處理頁(yè)面,該頁(yè)面是會(huì)顯示近期所沒有被處理的訂單,其運(yùn)行結(jié)果如圖5-21天燕定舉起定單伏志定單商品輩吞藝裝1己處理發(fā)且2已處理發(fā)度未處理發(fā)貨管理員可以查看每條訂單中的所有商品信息,同時(shí)也可以處理每條訂單 (發(fā)貨),處理過的訂單的訂單狀態(tài)將改為已處理,同時(shí)在已處理訂單的頁(yè)面顯示,結(jié)果如圖5-22:本系統(tǒng)所有定單列表如下東定單總斯寬單優(yōu)五文員五成脈定單已處理否2己處理西已處理否5.2.5用戶管理很長(zhǎng)的時(shí)間內(nèi)沒有訂單生成,管理員就可以將該用戶刪除。同時(shí)該管理界面也戶信息頁(yè)面,選擇查看用戶,其運(yùn)行結(jié)果如圖5-23:第36頁(yè)本系統(tǒng)所有用戶列表如下四址高庭電話單位史話公空電這Tmm610.cm點(diǎn)擊刪除用戶的超鏈接,運(yùn)行結(jié)果如圖5-24:本系統(tǒng)所有用戶列表如下用戶備致演醛衣醫(yī)電話單位電活辦公室電話到到寶2意南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第37頁(yè)第六章總結(jié)與展望需要,優(yōu)化了系統(tǒng)的性能。目前基于該模型多問題與不足,如安全性能還不完善,JSP頁(yè)立完成一個(gè)相對(duì)較大的系統(tǒng),這個(gè)收獲無論是對(duì)我的理論知識(shí)還是對(duì)以后的工都需要進(jìn)行嚴(yán)格的檢測(cè),以保證購(gòu)物系統(tǒng)的服務(wù)質(zhì)量。隨著網(wǎng)上購(gòu)物系統(tǒng)技術(shù)的日趨成熟、網(wǎng)上購(gòu)物的的人參與到網(wǎng)上購(gòu)物的浪潮中來,人類最終將迎接電子商務(wù)時(shí)代的來臨。南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第38頁(yè)本論文的工作是在我的導(dǎo)師精心指導(dǎo)和悉心關(guān)懷下完成的,在我的學(xué)業(yè)和論文的工作中無不傾注著導(dǎo)師辛勤的汗水和心血。導(dǎo)師的嚴(yán)謹(jǐn)治學(xué)態(tài)度、淵博的知識(shí)、無私的奉獻(xiàn)精神使我深受的啟迪。從尊敬的導(dǎo)師身上,我不僅學(xué)到了扎實(shí)、寬廣的專業(yè)知識(shí),也學(xué)到了做人的道理。在此我要向我的導(dǎo)師致以最衷心的感謝和深深的敬意。在我的論文撰寫過程中,董亮、陸益等提出了寶貴意見和建議,在此向他們表示深深的感謝。在多年的學(xué)習(xí)生活中,還得到了許多學(xué)院領(lǐng)導(dǎo)、系領(lǐng)導(dǎo)和老師的熱情關(guān)心和幫助。在日常學(xué)習(xí)和生活中,室友等都給予了我很大幫助。我也要感謝我的父母和親人,他們?cè)谖业膶W(xué)業(yè)中給了我莫大的鼓勵(lì)、關(guān)愛和支持。最后,向所有關(guān)心和幫助過我的領(lǐng)導(dǎo)、老師、同學(xué)和朋友表示由衷的謝意!衷心地感謝在百忙之中評(píng)閱我的論文和參加答辯的各位老師!南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第39頁(yè)8、孫衛(wèi)琴.精通Struts:基于MVC的JavaWeb設(shè)計(jì)與開發(fā).北京:電子12、孫衛(wèi)琴.JAVA面向?qū)ο缶幊?北京:電子工業(yè)出版社,2南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第40頁(yè)附錄A服務(wù)器配置:第一步:從官方網(wǎng)站下載該軟件。第二步:雙擊.exe文件,安裝在C:\ProgramFilesVJava\jdk1.5.0_06。變量”,在系統(tǒng)變量中加入變量JAVA_HO生成所有調(diào)試信息不生成住何調(diào)試信息只生成某些調(diào)試信惠不生成任何警告覆蓋安裝的擴(kuò)展其錄萌位置覆蓋糞名的標(biāo)準(zhǔn)路徑的俠算指定源文件使用的字符編碼提供與指定版本的源兼客性置接將<標(biāo)志>傳遞給運(yùn)行時(shí)系統(tǒng)-nource<版本>徑><輸出標(biāo)準(zhǔn)選項(xiàng)的提要-d<目錄>J<標(biāo)志><路徑><目錄>直接運(yùn)行下載的apache-tomcat-5.5.17.exe文件,按照一般的Windows程序安裝步驟即可安裝好Tomcat,安裝時(shí)它會(huì)自動(dòng)尋找JDK的位置。安裝過程安裝完成以后,添加一個(gè)Tomcat的環(huán)境變量,添加方法和JDK的環(huán)境變中輸入http;//localhost:8080/,如果出現(xiàn)歡迎界面,則說明Tomcat安裝成功。第41頁(yè)歡迎界面如圖2所示。tt…南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第42頁(yè)附錄B功能:配置請(qǐng)求的映射關(guān)系,處理請(qǐng)求的跳轉(zhuǎn)<?xmlversion="1.0"encod<!DOCTYPEstruts-configPUBLICtype="com.tarena.shop.action.List<forwardname="listProduct"path="/jsp/list.jsp"<actionpath="/jsp/addItemToCart"<forwardname="listProduct"path="/jsp/list.jsp"type="com.tarena.shop.action.IntroductionAction<forwardname="introduction"path="/jsp/introdtype="com.tarena.shop.action.Pparameter="sosoProd<forwardname="ssProduct"ptype="org.apache.struts.actions.Fparameter="/jsp/login第43頁(yè)type="org.apache.struts.actions.Fparameter="/jsp/cartype="com.tarena.shop.action.LoginAction"<forwardname="order"path=<forwardname="success"path="/jsp/su<forwardname="fail"path="/jsp/login.jsp"></forward>type="com.tarena.shop.action.ad<forwardname="success"path="/jsp/adm<forwardname="fail"path="/jsp/adminLogin.jsp"></forward>type="com.tarena.shop.action.CartAction<forwardname="viewCart"path="/jsp/cart.jsp"<forwardname="fail"path="/jsp/cart.<actionpath="/jsp/dtype="com.tarena.shop.action.CartActionvalidate="false"parameter="de<forwardname="viewCart"path="/jsp/cart.jsp"type="com.tarena.shop.action.CartActionvalidate="false"paramete<forwardname="viewCart"path="/jsp/cart.jsptype="com.tarena.shop.action.CartActionvalidate="false"parameter="<forwardname="order"path=<forwardname="login"path="/jsp/log<forwardname="index"path="/jsp/cart.jsp"/>第44頁(yè)type="com.tarena.shop.action.Gener<forwardname="message"path="/jsp/message.jsp"<forwardname="login"path="/jsp/login.jsp"/><forwardname="servererror"path="/jsp/servererror.jsp"/>type="com.tarena.shop.action.LogoutAction"<forwardname="logout"path="/jsp/indextwo.jsp"/>type="com.tarena.shop.action.RegisterAction<forwardname="register"path="type="com.tarena.shop.action.Executpath="/jsp/registerSuccess<forwardname="register"path="/jsp/register.jsp"/>type="com.tarena.shop.action.ModifyAction"<forwardname="modify"path="/jsp/list.jsp"/><forwardname="index"pathtype="com.tarena.shop.action.ProductAction"validate="false"parameter=path="/jsp/addProductSuccess<forwardname="addfail"path="/jsp/addProduct.jsp"/>type="com.tarena.shop.action.ShowProductAction"<forwardname="showProduct"path="/jsp/adminProductList南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第45頁(yè)type="com.tarena.shop.action.ShowPr<forwardname="showProduct"path="/jsp/modifyProductList.jsp"redirectype="com.tarena.shop.action.ProductAction"validate="false"parameter="mo<forwardname="modifyProduct"path="/jsp/modifyProduct.jsp"redirect="false"/><actionpath="/jsp/moditype="com.tarena.shop.action.ProductAction"validate="false"par<forwardname="modifySuccess"path="/jsp/modifySuccetype="com.tarena.shop.action.ProductAction"<forwardname="showProduct"path="/jsp/shotype="com.tarena.shop.action.UserAction"validate="false"parameter<forwardname="showUserList"path="/jsp/userList.jsp"/>type="com.tarena.shop.action.UserAction"validate="false"parame<forwardname="showUserListplusDel"type="com.tarena.shop.action.UserAction"<forwardname="showUserListplusDel"path="/jsp/delete.do"/><actionpath="/jsptype="com.tarena.shop.action.UserAction"南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)第46頁(yè)path="/jsp/userListPlusDeltype="com.tarena.shop.action.OrderAction"validate="false"parameter<forwardname="showOrderList"path="/jsp/showOrderList.jsp"type="com.tarena.shop.action.OrderAction"<forwardname="showOrpath="/jsp/showOrderListplusDeltype="com.tarena.shop.action.OrderAction"validate="false"parameter=<forwardname="showOrderList"path="/jsp/showOrder.do"/><actionpath="/jsp/stype="com.tarena.shop.action.OrderAction"validate="false"parameterpath="/j

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論