版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
摘要本論文主要闡述了基于Web技術(shù)的嬰幼兒網(wǎng)上商城設(shè)計(jì)與實(shí)現(xiàn)。在介紹動態(tài)網(wǎng)頁程序開發(fā)和數(shù)據(jù)訪問技術(shù)基礎(chǔ)上,闡述了系統(tǒng)的設(shè)計(jì)方案、實(shí)現(xiàn)方法以及所采用的開發(fā)工具和相關(guān)技術(shù)。本論文論述的是一個簡化的Web應(yīng)用程序模型,完成一個系統(tǒng)提供給管理員和普通用戶使用。不同的用戶類型所能完成的功能不同。管理員含有的功能有公告管理,類別管理,商品管理,訂單管理,銷售統(tǒng)計(jì),留言管理,會員管理,密碼修改,安全退出,用戶含有的功能有首頁,新聞公告,特價促銷,幫助中心,搜索,信息欄,商品分類,購物車,我的訂單,收藏夾,個人信息。等功能,方便用戶進(jìn)行相應(yīng)的信息獲取和功能操作,管理員可以在后臺進(jìn)行系統(tǒng)的管理,維護(hù)系統(tǒng)的穩(wěn)定。java技術(shù)以其獨(dú)特的優(yōu)勢成為開發(fā)網(wǎng)站系統(tǒng)的首選工具,使用Eclipse開發(fā)工具,最終能夠?qū)崿F(xiàn)客戶端的所有操作。由于Java具有一次編寫,各處的運(yùn)行、豐富而且高質(zhì)量的工具支持、通過構(gòu)件和標(biāo)簽實(shí)現(xiàn)重用、通過指令和標(biāo)簽庫增強(qiáng)與面開發(fā)能力等優(yōu)點(diǎn),開發(fā)的系統(tǒng)可以在任何平臺上編寫、運(yùn)行在任意平臺上的JAVA服務(wù)器構(gòu)件。關(guān)鍵詞:嬰幼兒網(wǎng)上商城;商品管理;JavaAbstractThispapermainlyexpoundsthedesignandimplementationofinfantonlinemallbasedonWebtechnology.Inthedynamicwebapplicationdevelopmentanddataaccessbasedonthetechnology,describedthesystemdesignrealizationandtheuseofdevelopmenttoolsandrelatedtechnologies.ThispaperisasimplifiedmodeloftheWebapplication,acompletesystemforadministratorsandordinaryusers.Thedifferenttypesofuserscanperformdifferentfunctions.Containingadministratorfunctionnoticemanagement,categorymanagement,commoditymanagement,ordermanagement,salesstatistics,messagemanagement,membershipmanagement,passwordmodification,safetyexit,containingtheuserhome,newsbulletin,specialpromotionshelpcenter,search,informationbar,theclassificationofgoods,shoppingcart,myorders,favorites,andpersonalinformation.Otherfunctions,convenientforuserstocarryoutthecorrespondinginformationacquisitionandoperationmanagementsystem,theadministratorcanmaintainthestabilityofthesysteminthebackground.JavatechnologywithitsuniqueadvantagestobecomethepreferredtoolforthedevelopmentofWebsitesystem,theuseofEclipsedevelopmenttools,andultimatelytoachievealltheoperationsoftheclient.BecauseJavaisawriteonce,runeverywhere,richandhighqualitytoolsupport,throughreusecomponentsandlabel,instructionandtaglibrarythroughenhancinganddevelopingcapability,systemdevelopmentcanbewritteninanyplatformjavaservercomponenttorunonanyplatform.Keywords:Infantonlineshoppingmall;commoditymanagement;JavaPAGEI目錄摘要 IAbstract II目錄 I第1章緒論 11.1研究目標(biāo) 1第2章相關(guān)的理論和技術(shù) 22.1Java技術(shù)介紹 22.2Eclipse平臺 22.3Struts2+Spring+Hibernate框架 22.4B/S結(jié)構(gòu) 42.5tomcat數(shù)據(jù)庫連接池介紹與配置 5第3章系統(tǒng)需求分析 73.1可行性分析 73.2功能需求概述 83.3UML用例圖 8第4章系統(tǒng)設(shè)計(jì) 104.1功能模塊設(shè)計(jì) 104.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) 114.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 12第5章系統(tǒng)實(shí)現(xiàn) 225.1用戶注冊登錄 225.2后臺基本操作 245.3網(wǎng)站首頁展示 255.4后臺商品管理 265.5訂單信息管理 26第6章系統(tǒng)調(diào)試和測試 296.1測試的目標(biāo) 296.2測試的步驟 296.3測試的內(nèi)容 29結(jié)論 31致謝 32參考文獻(xiàn) 33PAGE1第1章緒論1.1研究目標(biāo)本論文主要闡述了基于Web技術(shù)的嬰幼兒網(wǎng)上商城設(shè)計(jì)與實(shí)現(xiàn)。在介紹動態(tài)網(wǎng)頁程序開發(fā)和數(shù)據(jù)訪問技術(shù)基礎(chǔ)上,闡述了系統(tǒng)的設(shè)計(jì)方案、實(shí)現(xiàn)方法以及所采用的開發(fā)工具和相關(guān)技術(shù)。本論文論述的是一個簡化的Web應(yīng)用程序模型,完成一個系統(tǒng)提供給管理員和普通用戶使用。不同的用戶類型所能完成的功能不同。管理員含有的功能有公告管理,類別管理,商品管理,訂單管理,銷售統(tǒng)計(jì),留言管理,會員管理,密碼修改,安全退出,用戶含有的功能有首頁,新聞公告,特價促銷,幫助中心,搜索,信息欄,商品分類,購物車,我的訂單,收藏夾,個人信息。等功能,方便用戶進(jìn)行相應(yīng)的信息獲取和功能操作,管理員可以在后臺進(jìn)行系統(tǒng)的管理,維護(hù)系統(tǒng)的穩(wěn)定。Java技術(shù)以其獨(dú)特的優(yōu)勢成為開發(fā)網(wǎng)站系統(tǒng)的首選工具,論文中以一種簡化的方式介紹了Java開發(fā)網(wǎng)站系統(tǒng)的方法和特點(diǎn),即使用Eclipse開發(fā)工具,使用本機(jī)做服務(wù)器模擬實(shí)現(xiàn)客戶端登錄,最終能夠?qū)崿F(xiàn)客戶端的所有操作。由于JSP具有一次編寫,各處的運(yùn)行、豐富而且高質(zhì)量的工具支持、通過構(gòu)件和標(biāo)簽實(shí)現(xiàn)重用、通過指令和標(biāo)簽庫增強(qiáng)與面開發(fā)能力等優(yōu)點(diǎn),開發(fā)的系統(tǒng)可以在任何平臺上編寫、運(yùn)行在任意平臺上的JAVA服務(wù)器構(gòu)件。PAGE10第2章相關(guān)的理論和技術(shù)2.1Java技術(shù)介紹java語言是一種計(jì)算機(jī)編程語言,擁有跨平臺、面向?qū)ο?、泛型編程的特性,廣泛應(yīng)用于企業(yè)級Web應(yīng)用開發(fā)和移動應(yīng)用開發(fā)。Java語言不同于一般的編譯語言和直譯語言。它首先將源代碼編譯成字節(jié)碼,然后依賴那些來自不同平臺的虛擬機(jī)進(jìn)行解釋執(zhí)行字節(jié)碼,實(shí)現(xiàn)“一次編寫,到處運(yùn)行”的跨平臺特性。2.2Eclipse平臺Eclipse是一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)。雖然大多數(shù)用戶很樂于將Eclipse當(dāng)作Java
集成開發(fā)環(huán)境(IDE)來使用,但Eclipse的目標(biāo)卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個組件主要針對希望擴(kuò)展Eclipse的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于
Java開發(fā)工具。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言。Eclipse提供了一個通用的開發(fā)平臺。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開發(fā)工具的基礎(chǔ)。EclipsePlatform允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一個工具功能在哪里結(jié)束,而另一個工具功能在哪里開始。2.3Struts2+Spring+Hibernate框架struts+spring+hibernate框架,簡稱SSH框架,這些框架在一起合作,我們使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),主要負(fù)責(zé)MVC的分離,在Struts框架的模型部分是負(fù)責(zé)控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為基本的Java對象,然后編寫基本的DAO(DataAccessObjects)接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類來實(shí)現(xiàn)Java類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由Spring做管理,管理Struts和Hibernate。系統(tǒng)的基本業(yè)務(wù)流程是:在表示層中,首先通過JSP頁面實(shí)現(xiàn)交互界面,負(fù)責(zé)接收請求(Request)和傳送響應(yīng)(Response),然后Struts根據(jù)配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應(yīng)的Action處理。在業(yè)務(wù)層中,管理服務(wù)組件的SpringIoC容器負(fù)責(zé)向Action提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對象數(shù)據(jù)處理(DAO)組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數(shù)據(jù)的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互,處理DAO組件請求的數(shù)據(jù),并返回處理結(jié)果。采用上述開發(fā)模型,不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會對前端有所影響。(1).Struts2 Struts2以webwork為核心,采用攔截器的機(jī)制來處理用戶的請求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開,所以Struts2可以理解為webwork的更新產(chǎn)品。Struts2請求流程:1.客戶端發(fā)送請求(客戶端初始化一個指向Servlet容器(如Tomcat)的請求);2.這個請求會經(jīng)過圖中的幾個過濾器,最后會到達(dá)FilterDispatcher過濾器;3.FilterDispatcher通過ActionMapper來決定這個Request需要調(diào)用哪個Action;4.如果ActionMapper決定調(diào)用某個Action,F(xiàn)ilterDispatcher把請求的處理交給ActionProxy;5.ActionProxy通過ConfigurationManager詢問Struts配置文件(Struts.xml),找到需要調(diào)用的Action類;6.ActionProxy創(chuàng)建一個ActionInvocation的實(shí)例;7.ActionInvocation調(diào)用真正的Action,當(dāng)然這涉及到相關(guān)攔截器的調(diào)用(interceptor);8.Action執(zhí)行完畢,ActionInvocation創(chuàng)建Result并返回,返回結(jié)果前要做些動作也是可以的。(2).SpringSpring是一個開源框架,它由RodJohnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。輕量從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。控制反轉(zhuǎn)Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。(3).Hibernate Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對這五個核心接口分別加以介紹。Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個術(shù)語時,其實(shí)指的是Hibernate中的session,而以后會將HttpSession對象稱為用戶session。SessionFactory接口:SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因?yàn)橐话闱闆r下,一個項(xiàng)目通常只需要一個SessionFactory就夠,當(dāng)需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory。2.4B/S結(jié)構(gòu)架構(gòu)特點(diǎn):(1)維護(hù)和升級方式簡單。當(dāng)前,軟件系統(tǒng)的改進(jìn)和升級越發(fā)頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對一個稍微大一點(diǎn)單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會增加任何維護(hù)升級的工作量,所有的操作只需要針對服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級和共享。所以客戶機(jī)越來越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護(hù)會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費(fèi)用的節(jié)省是顯而易見的,驚人的。因此,維護(hù)和升級革命的方式是“瘦”客戶機(jī),“胖”服務(wù)器。(2)成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對的統(tǒng)治地位。當(dāng)前的趨勢是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用哪種操作系統(tǒng)都可以讓大部分人使用windows作為桌面電腦操作系統(tǒng)不受影響,這就使得最流行免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫也是免費(fèi)的,這種選擇非常盛行。(3)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(Server)端完全通過WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。但是,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重,一旦發(fā)生服務(wù)器“崩潰”等問題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)庫存儲服務(wù)器,以防萬一。2.5tomcat數(shù)據(jù)庫連接池介紹與配置數(shù)據(jù)庫連接池概述:數(shù)據(jù)庫連接是一種關(guān)鍵的有限的昂貴的資源,這一點(diǎn)在多用戶的網(wǎng)頁應(yīng)用程序中體現(xiàn)得尤為突出。對數(shù)據(jù)庫連接的管理能顯著影響到整個應(yīng)用程序的伸縮性和健壯性,影響到程序的性能指標(biāo)。數(shù)據(jù)庫連接池正是針對這個問題提出來的。數(shù)據(jù)庫連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫連接,它允許應(yīng)用程序重復(fù)使用一個現(xiàn)有的數(shù)據(jù)庫連接,而再不是重新建立一個;釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來避免因?yàn)闆]有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏。這項(xiàng)技術(shù)能明顯提高對數(shù)據(jù)庫操作的性能。數(shù)據(jù)庫連接池在初始化時將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫連接放到連接池中,這些數(shù)據(jù)庫連接的數(shù)量是由最小數(shù)據(jù)庫連接數(shù)來設(shè)定的。無論這些數(shù)據(jù)庫連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù)量。連接池的最大數(shù)據(jù)庫連接數(shù)量限定了這個連接池能占有的最大連接數(shù),當(dāng)應(yīng)用程序向連接池請求的連接數(shù)超過最大連接數(shù)量時,這些請求將被加入到等待隊(duì)列中。數(shù)據(jù)庫連接池的最小連接數(shù)和最大連接數(shù)的設(shè)置要考慮到下列幾個因素:1)最小連接數(shù)是連接池一直保持的數(shù)據(jù)庫連接,所以如果應(yīng)用程序?qū)?shù)據(jù)庫連接的使用量不大,將會有大量的數(shù)據(jù)庫連接資源被浪費(fèi);2)最大連接數(shù)是連接池能申請的最大連接數(shù),如果當(dāng)前數(shù)據(jù)庫的連接請求超過最大連接數(shù)那么,這些超過的請求將會進(jìn)入等待池中進(jìn)行等待操作,這會影響之后的數(shù)據(jù)庫操作,進(jìn)而影響程序的相應(yīng)時間。3)如果最小連接數(shù)和最大連接數(shù)相差巨大,那么在等待池中的最先的請求將會獲利。以下介紹一下連接池配置關(guān)鍵幾個環(huán)節(jié):1)首先在$CATALINA_HOME/conf/server.xml中,配置應(yīng)用程序的路徑<Contextpath="/DBTest"docBase="DBTest"debug="5"reloadable="true"crossContext="true"> 2)然后配置資源名,用以在jndi中進(jìn)行查詢<Resourcename="jdbc/TestDB"auth="Container"type="javax.sql.DataSource"/> 3)定義各連接參數(shù),用戶名,密碼,數(shù)據(jù)庫驅(qū)動以及數(shù)據(jù)源的查找路徑<parameter><name>username</name><value>javauser</value></parameter><parameter><name>password</name><value>javadude</value></parameter><parameter><name>driverClassName</name><value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></parameter><parameter><name>url</name><value>jdbc:mysql://localhost:3306/javatest?autoReconnect=true</value></parameter></ResourceParams></Context> 4)由于系統(tǒng)是一個web應(yīng)用程序,被布署在tomcat容器中,所以需要在$CATALINA_HOME/webapps/quality/WEB-INF/web.xml里設(shè)置被引用的資源:下面是配置代碼,必須放在<web-app>和</web-app>里。<!--DatabaseConfigstart--><resource-ref><description>connectDBtest</description><res-ref-name>jdbc/connectDB</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref><!--DatabaseConfigend-->5)最后,將第3方的驅(qū)動都保存在$CATALINA_HOME/common/lib/*.jar中,如我們這里連接的是mssql,則將mssql的驅(qū)動程序msbase.jar,mssqlserver.jar,msutil.jar放入其中。第3章系統(tǒng)需求分析3.1可行性分析開發(fā)項(xiàng)目需要一臺計(jì)算機(jī),臺式計(jì)算機(jī)或者個人筆記本電腦均可。電腦應(yīng)該配置WindowsXP或者Windows7/8/10等操作系統(tǒng),操作系統(tǒng)應(yīng)該配置的軟件包括MySQL數(shù)據(jù)庫,javajdk7,和myeclipse8等工具。(1)經(jīng)濟(jì)上的可行性由于本系統(tǒng)是在學(xué)生電腦上服務(wù)器中發(fā)布,然后在瀏覽器中打開網(wǎng)址,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當(dāng)系統(tǒng)投入運(yùn)行后可以為學(xué)校節(jié)約大量的人力,物力。所帶來的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開發(fā)成本。在經(jīng)濟(jì)上完全可行。(2)技術(shù)上的可行性B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內(nèi)部的安全認(rèn)證后,不需要人的參與,系統(tǒng)可以自動分配給用戶一個賬號進(jìn)入系統(tǒng)。B/S與C/S處理模式相比,則大大簡化了客戶端,只要客戶端機(jī)器能上網(wǎng)就可以。對于B/S而言,開發(fā)、維護(hù)等幾乎所有工作也都集中在服務(wù)器端,當(dāng)購物公司對網(wǎng)絡(luò)應(yīng)用進(jìn)行升級時,只需更新服務(wù)器端的軟件就可以,這減輕了異地用戶系統(tǒng)維護(hù)與升級的成本。如果客戶端的軟件系統(tǒng)升級比較頻繁,那么B/S架構(gòu)的產(chǎn)品優(yōu)勢明顯——所有的升級操作只需要針對服務(wù)器進(jìn)行。(3)可靠性和安全性特點(diǎn)Java最初設(shè)計(jì)目的是應(yīng)用于電子類消費(fèi)產(chǎn)品因此要求較高的可靠性。Java雖然源于C++,但它消除了許多C++不可靠因素,可以防止許多編程錯誤。首先,Java是強(qiáng)類型的語言,要求顯式的方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯誤,保證程序更加可靠;其次,Java不支持指針,這杜絕了內(nèi)存的非法訪問;第三,Java的自動單元收集防止了內(nèi)存丟失動態(tài)內(nèi)存分配導(dǎo)致的問題;第四,Java解釋器運(yùn)行時實(shí)施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的越界,最后,Java提供了異常處理機(jī)制,程序員可以把一組錯誤代碼放在一個地方,這樣可以簡化錯誤處理任務(wù)便于恢復(fù)。由于Java主要用于網(wǎng)絡(luò)應(yīng)用程序開發(fā),因此對安全性有較高的要求。如果沒有安全保證,用戶從網(wǎng)絡(luò)下載程序執(zhí)行就非常危險。Java通過自己的安全機(jī)制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。當(dāng)Java字節(jié)碼進(jìn)入解釋器時,首先必須經(jīng)過字節(jié)碼校驗(yàn)器的檢查,然后,Java解釋器將決定程序中類的內(nèi)存布局,隨后,類裝載器負(fù)責(zé)把來自網(wǎng)絡(luò)的類裝載到單獨(dú)的內(nèi)存區(qū)域,避免應(yīng)用程序之間相互干擾破壞。最后,客戶端用戶還可以限制從網(wǎng)絡(luò)上裝載的類只能訪問某些文件系統(tǒng)。上述幾種機(jī)制結(jié)合起來,使得Java成為安全的編程語言。3.2功能需求概述實(shí)現(xiàn)一個系統(tǒng)提供給管理員和普通用戶使用。不同的用戶類型所能完成的功能不同。管理員含有的功能有公告管理,類別管理,商品管理,訂單管理,銷售統(tǒng)計(jì),留言管理,會員管理,密碼修改,安全退出,用戶含有的功能有首頁,新聞公告,特價促銷,幫助中心,搜索,信息欄,商品分類,購物車,我的訂單,收藏夾,個人信息。等功能,方便用戶進(jìn)行相應(yīng)的信息獲取和功能操作,管理員可以在后臺進(jìn)行系統(tǒng)的管理,維護(hù)系統(tǒng)的穩(wěn)定。3.3UML用例圖嬰幼兒網(wǎng)上商城可以滿足兩種用戶的需求,分別是用戶和管理員普通用戶的功能包括:首頁,新聞公告,特價促銷,幫助中心,搜索,信息欄,商品分類,購物車,我的訂單,收藏夾,個人信息。普通用戶的用例圖如圖3-1所示。圖3-8普通用戶用例圖管理員的功能包括:公告管理,類別管理,商品管理,訂單管理,銷售統(tǒng)計(jì),留言管理,會員管理,密碼修改,安全退出。管理員的用例圖如圖3-2所示。圖3-8管理員用例圖第4章系統(tǒng)設(shè)計(jì)4.1功能模塊設(shè)計(jì)根據(jù)對系統(tǒng)的功能進(jìn)行分析我們總結(jié)嬰幼兒網(wǎng)上商城的具體功能模塊包括下面的幾個主要的功能模塊:系統(tǒng)的功能模塊圖:如圖4-1所示:圖4-1系統(tǒng)功能模塊圖PAGE324.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)的基本步驟如下,共分為六個階段。1.需求分析階段,即準(zhǔn)確了解與分析用戶需求,包括數(shù)據(jù)與處理。是整個設(shè)計(jì)過程的基礎(chǔ),是最困難、最耗費(fèi)時間的一步。2.概念結(jié)構(gòu)設(shè)計(jì)階段,即整個數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵階段,通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨(dú)立于具體DBMS的概念模型。3.邏輯結(jié)構(gòu)設(shè)計(jì)階段,即將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型,對其進(jìn)行優(yōu)化。4.?dāng)?shù)據(jù)庫物理設(shè)計(jì)階段,即為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),包括存儲結(jié)構(gòu)和存取方法。5.?dāng)?shù)據(jù)庫實(shí)施階段,即運(yùn)用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果。建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。6.?dāng)?shù)據(jù)庫運(yùn)行和維護(hù)階段,即數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行,在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中必須不斷地對其進(jìn)行評價、調(diào)整與修改。E-R方法是“實(shí)體-聯(lián)系方法”(Entity-RelationshipApproach)的簡稱。它是描述現(xiàn)實(shí)世界概念結(jié)構(gòu)模型的有效方法。是表示概念模型的一種方式,用矩形表示實(shí)體型,矩形框內(nèi)寫明實(shí)體名;用橢圓表示實(shí)體的屬性,并用無向邊將其與相應(yīng)的實(shí)體型連接起來;用菱形表示實(shí)體型之間的聯(lián)系,在菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體型連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型。系統(tǒng)整體數(shù)據(jù)流程圖如圖4-2所示:圖4-2系統(tǒng)整體數(shù)據(jù)流程圖4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)我們知道,數(shù)據(jù)庫概念模型獨(dú)立于任何特定的數(shù)據(jù)庫管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫管理系統(tǒng)的特點(diǎn)進(jìn)行轉(zhuǎn)換。即轉(zhuǎn)化為按計(jì)算機(jī)觀點(diǎn)處理的邏輯關(guān)系模型,E-R模型向關(guān)系數(shù)據(jù)庫模型轉(zhuǎn)換應(yīng)遵循下列原則:*每一個實(shí)體要轉(zhuǎn)換成一個關(guān)系*所有的主鍵必須定義非空(NOTNULL)*對于二元聯(lián)系應(yīng)按照一對多、弱對實(shí)、一對一、多對多等聯(lián)系來定義外鍵。根據(jù)E-R模型,嬰幼兒網(wǎng)上商城建立了以下邏輯數(shù)據(jù)結(jié)構(gòu),下面是各數(shù)據(jù)表建表語句:/*MySQLDataTransferSourceHost:localhostSourceDatabase:b2csys_dbTargetHost:localhostTargetDatabase:b2csys_dbDate:2016/4/1223:18:40*/SETFOREIGN_KEY_CHECKS=0;--Tablestructureforcar--CREATETABLE`car`(`id`int(11)NOTNULLAUTO_INCREMENT,`productid`varchar(255)DEFAULTNULL,`num`varchar(255)DEFAULTNULL,`memberid`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructureforfav--CREATETABLE`fav`(`id`int(11)NOTNULLAUTO_INCREMENT,`productid`varchar(255)DEFAULTNULL,`memberid`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=17DEFAULTCHARSET=utf8;--Tablestructureforimgadv--CREATETABLE`imgadv`(`id`int(11)NOTNULLAUTO_INCREMENT,`imgurl`varchar(255)DEFAULTNULL,`type`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=7DEFAULTCHARSET=utf8;--Tablestructureforkcrecord--CREATETABLE`kcrecord`(`id`int(11)NOTNULLAUTO_INCREMENT,`productid`varchar(255)DEFAULTNULL,`num`varchar(255)DEFAULTNULL,`type`varchar(255)DEFAULTNULL,`savetime`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=63DEFAULTCHARSET=utf8;--Tablestructureformsg--CREATETABLE`msg`(`id`int(11)NOTNULLAUTO_INCREMENT,`content`varchar(255)DEFAULTNULL,`reply`varchar(255)DEFAULTNULL,`savetime`varchar(255)DEFAULTNULL,`memberid`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=3DEFAULTCHARSET=utf8;--Tablestructurefornotice--CREATETABLE`notice`(`id`int(11)NOTNULLAUTO_INCREMENT,`title`varchar(255)DEFAULTNULL,`content`text,`savetime`varchar(255)DEFAULTNULL,`type`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=4DEFAULTCHARSET=utf8;--Tablestructurefororder--CREATETABLE`order`(`id`int(11)NOTNULLAUTO_INCREMENT,`orderid`varchar(255)DEFAULTNULL,`proinfo`varchar(255)DEFAULTNULL,`memberid`varchar(255)DEFAULTNULL,`price`varchar(255)DEFAULTNULL,`savetime`varchar(255)DEFAULTNULL,`fkstatus`varchar(255)DEFAULTNULL,`fhstatus`varchar(255)DEFAULTNULL,`tel`varchar(255)DEFAULTNULL,`addr`varchar(255)DEFAULTNULL,`type`varchar(255)DEFAULTNULL,`vipno`varchar(255)DEFAULTNULL,`beizhu`varchar(255)DEFAULTNULL,`beizhu2`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=65DEFAULTCHARSET=utf8;--Tablestructurefororderjf--CREATETABLE`orderjf`(`id`int(11)NOTNULLAUTO_INCREMENT,`memberid`varchar(255)DEFAULTNULL,`productid`varchar(255)DEFAULTNULL,`num`varchar(255)DEFAULTNULL,`savetime`varchar(255)DEFAULTNULL,`status`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructureforproduct--CREATETABLE`product`(`id`int(11)NOTNULLAUTO_INCREMENT,`proname`varchar(255)DEFAULTNULL,`prono`varchar(255)DEFAULTNULL,`img`varchar(255)DEFAULTNULL,`price`varchar(255)DEFAULTNULL,`field1`varchar(255)DEFAULTNULL,`field2`varchar(255)DEFAULTNULL,`field3`varchar(255)DEFAULTNULL,`field4`varchar(255)DEFAULTNULL,`field5`varchar(255)DEFAULTNULL,`field6`varchar(255)DEFAULTNULL,`field7`varchar(255)DEFAULTNULL,`field8`varchar(255)DEFAULTNULL,`field9`varchar(255)DEFAULTNULL,`field10`varchar(255)DEFAULTNULL,`protype`varchar(255)DEFAULTNULL,`remark`text,`delstatus`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=10DEFAULTCHARSET=utf8;--Tablestructureforprotype--CREATETABLE`protype`(`id`int(11)NOTNULLAUTO_INCREMENT,`typename`varchar(255)DEFAULTNULL,`delstatus`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=10DEFAULTCHARSET=utf8;--Tablestructureforsales--CREATETABLE`sales`(`id`int(11)NOTNULLAUTO_INCREMENT,`productid`varchar(255)DEFAULTNULL,`num`varchar(255)DEFAULTNULL,`savetime`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=47DEFAULTCHARSET=utf8;--Tablestructureforsysuser--CREATETABLE`sysuser`(`id`int(11)NOTNULLAUTO_INCREMENT,`uname`varchar(255)DEFAULTNULL,`upass`varchar(255)DEFAULTNULL,`realname`varchar(255)DEFAULTNULL,`sex`varchar(255)DEFAULTNULL,`age`varchar(255)DEFAULTNULL,`tel`varchar(255)DEFAULTNULL,`addr`varchar(255)DEFAULTNULL,`delstatus`varchar(255)DEFAULTNULL,`type`varchar(255)DEFAULTNULL,`score`varchar(255)DEFAULTNULL,`vipno`varchar(255)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=9DEFAULTCHARSET=utf8;--Records--INSERTINTO`fav`VALUES('8','1','2');INSERTINTO`fav`VALUES('9','2','2');INSERTINTO`fav`VALUES('11','6','4');INSERTINTO`fav`VALUES('12','6','2');INSERTINTO`fav`VALUES('13','6','3');INSERTINTO`fav`VALUES('14','7','2');INSERTINTO`fav`VALUES('15','8','8');INSERTINTO`fav`VALUES('16','2','8');INSERTINTO`imgadv`VALUES('6','20160409084656.jpg','HEAD');INSERTINTO`kcrecord`VALUES('2','6','100','in','2016-03-1720:27:46');INSERTINTO`kcrecord`VALUES('3','5','100','in','2016-03-1720:55:25');INSERTINTO`kcrecord`VALUES('4','4','100','in','2016-03-1720:56:56');INSERTINTO`kcrecord`VALUES('5','2','100','in','2016-03-1720:57:00');INSERTINTO`kcrecord`VALUES('6','1','100','in','2016-03-1720:57:07');INSERTINTO`kcrecord`VALUES('13','4','1','out','2016-03-1722:31:36');INSERTINTO`kcrecord`VALUES('14','6','2','out','2016-03-1722:31:36');INSERTINTO`kcrecord`VALUES('15','4','1','out','2016-03-1722:35:19');INSERTINTO`kcrecord`VALUES('16','1','1','out','2016-03-1722:35:19');INSERTINTO`kcrecord`VALUES('17','7','100','in','2016-03-1816:17:59');INSERTINTO`kcrecord`VALUES('18','6','1','out','2016-03-1822:36:43');INSERTINTO`kcrecord`VALUES('19','6','1','out','2016-03-1900:07:01');INSERTINTO`kcrecord`VALUES('20','4','1','out','2016-03-1900:07:10');INSERTINTO`kcrecord`VALUES('21','2','1','out','2016-03-1900:07:10');INSERTINTO`kcrecord`VALUES('22','1','1','out','2016-03-1900:07:11');INSERTINTO`kcrecord`VALUES('23','8','100','in','2016-03-2312:07:01');INSERTINTO`kcrecord`VALUES('24','8','2','out','2016-03-2312:08:49');INSERTINTO`kcrecord`VALUES('25','8','2','in','2016-03-2312:10:27');INSERTINTO`kcrecord`VALUES('26','7','99','out','2016-03-2415:36:11');INSERTINTO`kcrecord`VALUES('27','8','95','out','2016-03-2415:38:04');INSERTINTO`kcrecord`VALUES('28','8','100','in','2016-03-2415:55:04');INSERTINTO`kcrecord`VALUES('29','8','19','out','2016-03-2415:55:19');INSERTINTO`kcrecord`VALUES('30','6','2','out','2016-03-2423:36:43');INSERTINTO`kcrecord`VALUES('31','1','1','out','2016-03-2521:57:37');INSERTINTO`kcrecord`VALUES('32','5','1','out','2016-04-0922:14:01');INSERTINTO`kcrecord`VALUES('33','7','100','in','2016-04-0922:15:04');INSERTINTO`kcrecord`VALUES('34','7','1','out','2016-04-0922:15:08');INSERTINTO`kcrecord`VALUES('35','5','1','in','2016-04-0922:19:57');INSERTINTO`kcrecord`VALUES('36','9','100','in','2016-04-0922:37:42');INSERTINTO`kcrecord`VALUES('37','9','6','out','2016-04-0923:48:59');INSERTINTO`kcrecord`VALUES('38','9','1','out','2016-04-1000:00:18');INSERTINTO`kcrecord`VALUES('39','8','1','out','2016-04-1000:05:05');INSERTINTO`kcrecord`VALUES('40','9','2','out','2016-04-1000:05:25');INSERTINTO`kcrecord`VALUES('41','9','1','out','2016-04-1000:05:34');INSERTINTO`kcrecord`VALUES('42','8','15','in','2016-04-1000:06:34');INSERTINTO`kcrecord`VALUES('43','2','1','out','2016-03-1818:26:19');INSERTINTO`kcrecord`VALUES('44','6','1','out','2016-03-1820:18:29');INSERTINTO`kcrecord`VALUES('45','10','11','in','2016-02-1320:56:19');INSERTINTO`kcrecord`VALUES('46','12','55','in','2016-02-1321:07:28');INSERTINTO`kcrecord`VALUES('47','11','55','in','2016-02-1321:07:31');INSERTINTO`kcrecord`VALUES('48','2','1','out','2016-02-1622:40:52');INSERTINTO`kcrecord`VALUES('49','6','1','out','2016-03-0515:35:57');INSERTINTO`kcrecord`VALUES('50','2','2','out','2016-03-1313:31:50');INSERTINTO`kcrecord`VALUES('51','8','1','out','2016-03-1313:31:54');INSERTINTO`kcrecord`VALUES('52','8','1','out','2016-03-1316:25:52');INSERTINTO`kcrecord`VALUES('53','9','1','out','2016-03-3111:08:47');INSERTINTO`kcrecord`VALUES('54','8','1','out','2016-04-0816:26:06');INSERTINTO`kcrecord`VALUES('55','8','1','out','2016-04-0816:26:06');INSERTINTO`kcrecord`VALUES('56','8','1','out','2016-04-0816:35:06');INSERTINTO`kcrecord`VALUES('57','7','1','out','2016-04-0816:38:45');INSERTINTO`kcrecord`VALUES('58','4','1','out','2016-04-0816:38:45');INSERTINTO`kcrecord`VALUES('59','8','1','out','2016-04-0816:38:45');INSERTINTO`kcrecord`VALUES('60','8','1','out','2016-04-0816:43:25');INSERTINTO`kcrecord`VALUES('61','1','1','out','2016-04-0820:03:07');INSERTINTO`kcrecord`VALUES('62','2','1','out','2016-04-1215:41:30');INSERTINTO`msg`VALUES('1','hao','','2016-04-0716:36:33','8');INSERTINTO`msg`VALUES('2','好評','','2016-04-0716:51:35','8');INSERTINTO`notice`VALUES('1','最新公告','<p>sdfs</p>','2016-03-1313:31:29','公告');INSERTINTO`notice`VALUES('3','最新公告','最新公告','2016-04-0318:09:11','公告');INSERTINTO`order`VALUES('50','20160305033508','6,1-','8','5499','2016-03-0515:35:08','已付款','退貨申請中','1223423423424','23','1','20160118062208','2323',null);INSERTINTO`order`VALUES('53','20160313042502','8,1-','8','4500','2016-03-1316:25:02','已付款','退貨申請中','1223423423424','','1','20160118062208','',null);INSERTINTO`order`VALUES('58','20160408043818','7,1-4,1-8,1-','8','17970000','2016-04-0816:38:18','貨到付款','已發(fā)貨','1223423423424','','0','20160118062208','順風(fēng)快遞,已發(fā)送,快遞員電話,null);INSERTINTO`order`VALUES('59','20160408044235','8,1-','8','5990000','2016-04-0816:42:35','已付款','已發(fā)貨','1223423423424','','0','20160118062208','順風(fēng)快遞,已發(fā)送,快遞員電話,null);INSERTINTO`order`VALUES('60','20160408080243','1,1-','8','5990000','2016-04-0820:02:43','已付款','已發(fā)貨','1223423423424','','0','20160118062208','',null);INSERTINTO`order`VALUES('61','20160410082346','4,1-8,1-','8','11980000','2016-04-1020:23:46','未付款','未發(fā)貨','1223423423424','','0','20160118062208','',null);INSERTINTO`order`VALUES('62','20160412033708','8,1-','8','5990000','2016-04-1215:37:08','已付款','未發(fā)貨','1223423423424','','0','20160118062208','',null);INSERTINTO`order`VALUES('63','20160412033909','7,1-','8','5990000','2016-04-1215:39:09','已付款','未發(fā)貨','1223423423424','','0','20160118062208','',null);INSERTINTO`order`VALUES('64','20160412034105','2,1-','8','5990000','2016-04-1215:41:05','已付款','已發(fā)貨','1223423423424','','0','20160118062208','順風(fēng)快遞,已發(fā)送,快遞員電話,null);INSERTINTO`product`VALUES('1','名稱','00001','1.jpg','5990000','商品',null,null,null,null,'34','no','',null,null,'6','.','0');INSERTINTO`product`VALUES('2','名稱','00002','2.jpg','5990000','商品',null,null,null,null,'90','no','',null,null,'7','.','0');INSERTINTO`product`VALUES('4','名稱','00003','3.jpg','5990000','商品','IOS','3','3',null,'34','no',null,null,null,'6','.','0');INSERTINTO`product`VALUES('5','名稱','00004','4.jpg','5990000','商品',null,null,null,null,'34','no','',null,null,'6','.','0');INSERTINTO`product`VALUES('6','名稱','00005','5.jpg','5990000','商品',null,null,null,null,'34','yes','5499',null,null,'6','.','0');INSERTINTO`product`VALUES('7','產(chǎn)品名稱','00006','1.jpg','5990000','商品',null,null,null,null,'34','no','',null,null,'6','.','0');INSERTINTO`product`VALUES('8','產(chǎn)品名稱','00007','6.jpg','5990000','商品','iOS','3','3',null,'34','no',null,null,null,'6','.','0');INSERTINTO`product`VALUES('9','產(chǎn)品名稱','00008','3.jpg','5990000','商品',null,null,null,null,'34','no',null,null,null,'6','.','0');INSERTINTO`protype`VALUES('5','奶粉','0');INSERTINTO`protype`VALUES('6','尿不濕','0');INSERTINTO`protype`VALUES('7','兒童玩具','0');INSERTINTO`protype`VALUES('8','兒童食品','0');INSERTINTO`protype`VALUES('9','其他','0');INSERTINTO`sales`VALUES('12','4','1','2016-03-1722:31:36');INSERTINTO`sales`VALUES('13','6','2','2016-03-1722:31:36');INSERTINTO`sales`VALUES('14','4','1','2016-03-1722:35:19');INSERTINTO`sales`VALUES('15','1','1','2016-03-1722:35:20');INSERTINTO`sales`VALUES('16','6','1','2016-03-1822:36:43');INSERTINTO`sales`VALUES('17','6','1','2016-03-1900:07:01');INSERTINTO`sales`VALUES('18','4','1','2016-03-1900:07:10');INSERTINTO`sales`VALUES('19','2','1','2016-03-1900:07:10');INSERTINTO`sales`VALUES('20','1','1','2016-03-1900:07:11');INSERTINTO`sales`VALUES('21','8','2','2016-03-2312:08:49');INSERTINTO`sales`VALUES('22','7','99','2016-03-2415:36:12');INSERTINTO`sales`VALUES('23','8','95','2016-03-2415:38:04');INSERTINTO`sales`VALUES('24','8','19','2016-03-2415:55:19');INSERTINTO`sales`VALUES('25','6','2','2016-03-2423:36:43');INSERTINTO`sales`VALUES('26','1','1','2016-03-2521:57:37');INSERTINTO`sales`VALUES('27','5','1','2016-04-0922:14:01');INSERTINTO`sales`VALUES('28','7','1','2016-04-0922:15:08');INSERTINTO`sales`VALUES('29','8','1','2016-04-1000:05:05');INSERTINTO`sales`VALUES('30','2','1','2016-03-1818:26:20');INSERTINTO`sales`VALUES('31','6','1','2016-03-1820:18:29');INSERTINTO`sales`VALUES('32','2','1','2016-02-1622:40:53');INSERTINTO`sales`VALUES('33','6','1','2016-03-0515:35:57');INSERTINTO`sales`VALUES('34','2','2','2016-03-1313:31:50');INSERTINTO`sales`VALUES('35','8','1','2016-03-1313:31:54');INSERTINTO`sales`VALUES('36','8','1','2016-03-1316:25:52');INSERTINTO`sales`VALUES('37','9','1','2016-03-3111:08:47');INSERTINTO`sales`VALUES('38','8','1','2016-04-0816:26:06');INSERTINTO`sales`VALUES('39','8','1','2016-04-0816:26:06');INSERTINTO`sales`VALUES('40','8','1','2016-04-0816:35:06');INSERTINTO`sales`VALUES('41','7','1','2016-04-0816:38:45');INSERTINTO`sales`VALUES('42','4','1','2016-04-0816:38:45');INSERTINTO`sales`VALUES('43','8','1','2016-04-0816:38:45');INSERTINTO`sales`VALUES('44','8','1','2016-04-0816:43:25');INSERTINTO`sales`VALUES('45','1','1','2016-04-0820:03:07');INSERTINTO`sales`VALUES('46','2','1','2016-04-1215:41:30');INSERTINTO`sysuser`VALUES('1','admin','202CB962AC59075B964B07152D234B70','小明','男','28',,'湖北武漢','0','管理員',null,null);INSERTINTO`sysuser`VALUES('8','aaaaaa','0B4E7A0E5FE84AD35FB5F95B9CEEAC79','士大夫123','男','美國','1223423423424','','0','會員','47944852','20160118062208');第5章系統(tǒng)實(shí)現(xiàn)本章主要對嬰幼兒網(wǎng)上商城的主要功能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 運(yùn)籌學(xué)課程設(shè)計(jì)結(jié)論
- 2024年幼兒語言區(qū)教案
- 除塵器安裝施工方案圖
- 二零二五版建筑勞務(wù)分包合同4篇
- 2025年食用油行業(yè)數(shù)據(jù)服務(wù)與市場分析合同3篇
- 年度空調(diào)濾清器競爭策略分析報告
- 2024年心理咨詢師題庫附參考答案ab卷 (一)
- 2024美容院美容產(chǎn)品網(wǎng)絡(luò)營銷合同范本2篇
- 治安監(jiān)控施工方案
- 環(huán)保設(shè)備與設(shè)計(jì)課程設(shè)計(jì)
- 2024年工程咨詢服務(wù)承諾書
- 青桔單車保險合同條例
- 車輛使用不過戶免責(zé)協(xié)議書范文范本
- 《獅子王》電影賞析
- 2023-2024學(xué)年天津市部分區(qū)九年級(上)期末物理試卷
- DB13-T 5673-2023 公路自愈合瀝青混合料薄層超薄層罩面施工技術(shù)規(guī)范
- 河北省保定市定州市2025屆高二數(shù)學(xué)第一學(xué)期期末監(jiān)測試題含解析
- 哈爾濱研學(xué)旅行課程設(shè)計(jì)
- 2024 smart汽車品牌用戶社區(qū)運(yùn)營全案
- 中醫(yī)護(hù)理人文
- 2024-2030年中國路亞用品市場銷售模式與競爭前景分析報告
評論
0/150
提交評論