小型電子商務(wù)網(wǎng)站系統(tǒng)設(shè)計(jì)與規(guī)劃_第1頁(yè)
小型電子商務(wù)網(wǎng)站系統(tǒng)設(shè)計(jì)與規(guī)劃_第2頁(yè)
小型電子商務(wù)網(wǎng)站系統(tǒng)設(shè)計(jì)與規(guī)劃_第3頁(yè)
小型電子商務(wù)網(wǎng)站系統(tǒng)設(shè)計(jì)與規(guī)劃_第4頁(yè)
小型電子商務(wù)網(wǎng)站系統(tǒng)設(shè)計(jì)與規(guī)劃_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目錄一網(wǎng)上購(gòu)物系統(tǒng)概述41.1系統(tǒng)開(kāi)發(fā)的背景4網(wǎng)上購(gòu)物的開(kāi)展4網(wǎng)上購(gòu)物系統(tǒng)的現(xiàn)狀41.2系統(tǒng)實(shí)現(xiàn)的目標(biāo)41.3系統(tǒng)的開(kāi)發(fā)意義5二網(wǎng)上購(gòu)物系統(tǒng)分析52.1網(wǎng)站的設(shè)計(jì)目標(biāo)52.2網(wǎng)站的可行性分析52.3網(wǎng)站的深入調(diào)查52.4網(wǎng)站設(shè)計(jì)的特點(diǎn)62.5網(wǎng)站開(kāi)發(fā)的設(shè)計(jì)思想62.6系統(tǒng)設(shè)計(jì)的總體規(guī)那么6三系統(tǒng)的開(kāi)發(fā)技術(shù)及主要架構(gòu)63.1開(kāi)發(fā)技術(shù)的選擇63.2系統(tǒng)的主要架構(gòu)及開(kāi)發(fā)模式7基于B/S的體系結(jié)構(gòu)7基于MVC的應(yīng)用開(kāi)發(fā)模型8四系統(tǒng)的功能和流程分析94.1網(wǎng)站的功能分析94.2平臺(tái)功能模塊的設(shè)計(jì)分析94.3系統(tǒng)流程分析9前臺(tái)購(gòu)物流程9注冊(cè)功能流程10商品搜索流程10用戶(hù)登錄流程11商品管理流程11購(gòu)物車(chē)流程12五系統(tǒng)功能的具體實(shí)現(xiàn)125.1系統(tǒng)數(shù)據(jù)庫(kù)表的根本設(shè)計(jì)125.2功能總體說(shuō)明14目錄結(jié)構(gòu)說(shuō)明14功能頁(yè)面結(jié)構(gòu)14主要功能流程155.3各功能模塊的實(shí)現(xiàn)15數(shù)據(jù)庫(kù)的連接155.3.2用戶(hù)登錄模塊的實(shí)現(xiàn)16購(gòu)物車(chē)模塊的實(shí)現(xiàn)18后臺(tái)管理模塊的實(shí)現(xiàn)20商品搜索模塊的實(shí)現(xiàn)22六系統(tǒng)中所存在的問(wèn)題及解決方案226.1系統(tǒng)的整體設(shè)計(jì)的整體設(shè)計(jì)和規(guī)劃中的問(wèn)題226.2開(kāi)發(fā)功能模塊所遇到的難點(diǎn)226.3系統(tǒng)中存在的問(wèn)題及擬定的解決方法22網(wǎng)上購(gòu)物電子商務(wù)系統(tǒng)規(guī)劃與設(shè)計(jì)書(shū)一網(wǎng)上購(gòu)物系統(tǒng)概述1.1系統(tǒng)開(kāi)發(fā)的背景網(wǎng)上購(gòu)物的開(kāi)展幾年來(lái),跟隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最正確渠道并逐步進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開(kāi)始流行起來(lái),越來(lái)越多的商家在網(wǎng)上建起在線商店,向消費(fèi)者展示出一種新穎的購(gòu)物理念網(wǎng)上購(gòu)物系統(tǒng)作為B2B,B2C〔BusinesstoCustomer,即企業(yè)對(duì)消費(fèi)者〕,C2C〔CustomertoCustomer,即消費(fèi)者對(duì)消費(fèi)者〕電子商務(wù)的前端商務(wù)平臺(tái),在其商務(wù)活動(dòng)全程過(guò)程中起著舉足輕重的作用,本文主要考慮的是如何建設(shè)B2C的網(wǎng)上購(gòu)物系統(tǒng)。網(wǎng)上購(gòu)物是一種具有交互功能的商業(yè)信息系統(tǒng)。他向用戶(hù)提供靜態(tài)和動(dòng)態(tài)兩類(lèi)信息資源。所謂靜態(tài)信息是指那些比經(jīng)常變動(dòng)或更新的資源,如公司簡(jiǎn)介,會(huì)議安排和培訓(xùn)信息等。網(wǎng)上購(gòu)物系統(tǒng)具有強(qiáng)大的交互功能。可使商家和用戶(hù)方便的傳遞信息,完成電子貿(mào)易或EDT交易。這種全新的交易方式實(shí)現(xiàn)了公司間文檔與資金的無(wú)紙化交換。網(wǎng)上購(gòu)物系統(tǒng)的現(xiàn)狀目前在國(guó)內(nèi)PHP與ASP應(yīng)用最為廣泛。而JSP由于是一種較新的技術(shù),國(guó)內(nèi)采用的較少。但在國(guó)外,JSP已經(jīng)是比擬流行的一種技術(shù),尤其是電子商務(wù)類(lèi)的網(wǎng)站,多采用JSP。采用PHP的網(wǎng)站如新浪網(wǎng)〔sina〕、中國(guó)人〔chinaren〕等,但由于PHP本身存在的一些缺點(diǎn),使得它不是和應(yīng)用大型電子商務(wù)站點(diǎn),而更適合一些小型的商業(yè)站點(diǎn)。首先,PHP缺乏規(guī)模支持。其次,缺乏多層結(jié)構(gòu)支持。對(duì)于答復(fù)和站點(diǎn),解決方法只有一個(gè):分布計(jì)算。數(shù)據(jù)庫(kù)、應(yīng)用邏輯層、表示邏輯層彼此分開(kāi),而且同層也可以根據(jù)流量分開(kāi),組成二維陣列。而PHP那么缺乏這種支持。還有上面提到過(guò)的一點(diǎn),PHP提供的數(shù)據(jù)庫(kù)接口支持不容易,這就使得他不是和運(yùn)用在電子商務(wù)中。ASP和JSP那么沒(méi)有以上缺陷,ASP可以通過(guò)MicrosoftWindows的COM/DCOM獲得ActiveX規(guī)模支持,通過(guò)DCOM和TranscationServer獲得結(jié)構(gòu)支持:JSP可以通過(guò)SUNJava的JavaClass和EJB獲得規(guī)模支持,通過(guò)EJB/CORBA以及眾多廠商的ApplicationServer獲得結(jié)構(gòu)支持。三者中,JSP應(yīng)該是未來(lái)開(kāi)展的趨勢(shì)。世界上一些大的電子商務(wù)解決方案提供商都采用JSP/Server。比擬知名的如IBM的E—business,它的核心是采用JSP/Servlet的WebSphere;西方另外一個(gè)非常著名的電子商務(wù)軟件提供商,Intershop。他原來(lái)的產(chǎn)品Intershop1,2,3,4占據(jù)了主要的電子商務(wù)軟件份額。它們都是通過(guò)CGT來(lái)提供支持的。但去年10月后他推出了Enfinity,一個(gè)采用JSP/Servlet的電子商務(wù)ApplicationServer,而且聲言不再開(kāi)發(fā)傳統(tǒng)軟件。總的來(lái)說(shuō),ASP,PHP,JSP三者都有相當(dāng)數(shù)量的支持者,而這四者也各有所長(zhǎng),在開(kāi)發(fā)過(guò)程中,我們應(yīng)該根據(jù)實(shí)際的需要來(lái)使用最適合的技術(shù),本系統(tǒng)那么采用較新的jsp技術(shù),一方面jsp的平安性和跨平臺(tái)性比擬好,另一方面,我也希望能從開(kāi)發(fā)該系統(tǒng)的過(guò)程中,深入學(xué)習(xí)一下這門(mén)編程語(yǔ)言。1.2系統(tǒng)實(shí)現(xiàn)的目標(biāo)現(xiàn)在流行的網(wǎng)上購(gòu)物系統(tǒng)不僅要有漂亮的網(wǎng)頁(yè),更要有嚴(yán)謹(jǐn)?shù)囊?guī)劃,注重每一個(gè)細(xì)小的環(huán)節(jié)。這樣才能使得在電子交易時(shí)防止不必要錯(cuò)誤的發(fā)生。我們將使用HTML、JSP等技術(shù)來(lái)編輯網(wǎng)頁(yè),并運(yùn)用JDBC技術(shù)把數(shù)據(jù)庫(kù)和動(dòng)態(tài)網(wǎng)頁(yè)相關(guān)聯(lián)。傳統(tǒng)的管理信息系統(tǒng)信息獲取方法是由專(zhuān)業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的數(shù)據(jù)庫(kù)中,這種方法在數(shù)據(jù)量不大時(shí)有很多的應(yīng)用場(chǎng)合。當(dāng)數(shù)據(jù)量比擬大,并且較強(qiáng)的專(zhuān)業(yè)性時(shí),錄入的費(fèi)用和出錯(cuò)的可能性都相應(yīng)上升。本設(shè)計(jì)在實(shí)際應(yīng)用中的解決方案是建立網(wǎng)站,以及自己的數(shù)據(jù)庫(kù),似的所需商品信心可以及時(shí)的保存、更新,可以更好的及時(shí)了解商品買(mǎi)賣(mài)的情況。1.3系統(tǒng)的開(kāi)發(fā)意義Internet的開(kāi)展,為改變傳統(tǒng)的商業(yè)運(yùn)作模式提供了一種技術(shù)上的可行性的方案:利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng)Internet,企業(yè)外部網(wǎng)Extranet,通過(guò)廉價(jià)的通訊手段,將買(mǎi)家與賣(mài)家、商場(chǎng)和合作伙伴緊密結(jié)合在了一起,消除時(shí)間與空間帶來(lái)的長(zhǎng)安,從而大大的節(jié)約了交易本錢(qián),擴(kuò)大了交易范圍。而在世界的生活中,這種方案已經(jīng)被廣泛的運(yùn)用到了世紀(jì)的商業(yè)活動(dòng)中了,人們將這種交易模式成為:電子商務(wù)。當(dāng)今比擬流行的網(wǎng)上購(gòu)物系統(tǒng)國(guó)外有“淘寶〔〕〞,國(guó)內(nèi)游“當(dāng)當(dāng)〔〕〞。他們都是相當(dāng)優(yōu)秀的電子商務(wù)網(wǎng)站,對(duì)其他的網(wǎng)站提供了良好的典范。設(shè)計(jì)中可以學(xué)習(xí)參考他們的思想,了解和熟悉整個(gè)網(wǎng)站的開(kāi)發(fā)流程及完整的電子商務(wù)網(wǎng)站應(yīng)有的功能和考前須知。設(shè)計(jì)和完成一個(gè)電子商務(wù)網(wǎng)站的,將會(huì)牽涉到許多技術(shù)上的問(wèn)題,如:動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)的,后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)和管理,通過(guò)實(shí)際的只做個(gè)網(wǎng)站,可以防止紙上談兵,在實(shí)踐中掌握上述技術(shù)的使用。二網(wǎng)上購(gòu)物系統(tǒng)分析系統(tǒng)分析師平臺(tái)開(kāi)發(fā)的一個(gè)不可缺少的環(huán)節(jié),為了能夠使本系統(tǒng)更好、更完善地被設(shè)計(jì)出來(lái)嗎,就必須先進(jìn)行調(diào)查研究。在系統(tǒng)調(diào)查的根底上,對(duì)新系統(tǒng)的功能進(jìn)行細(xì)致的分析,從而才能夠開(kāi)發(fā)出完整的系統(tǒng)設(shè)計(jì)2.1網(wǎng)站的設(shè)計(jì)目標(biāo)本平臺(tái)利用現(xiàn)在比擬廣泛的JSP+Oracle數(shù)據(jù)庫(kù)的架構(gòu)實(shí)現(xiàn)的,此系統(tǒng)分為前臺(tái)管理和后臺(tái)管理。前臺(tái)管理是友好的操作界面,供用戶(hù)瀏覽、查詢(xún)是用。包括:瀏覽商品、查詢(xún)商品、訂購(gòu)商品、購(gòu)物車(chē)、用戶(hù)維護(hù)等功能:后臺(tái)管理是提供應(yīng)管理員的,其中包括:商品管理、用戶(hù)管理等。水管李元從繁瑣的手工操作中解脫出來(lái),并提高了辦公效率。2.2網(wǎng)站的可行性分析隨著計(jì)算機(jī)技術(shù)的開(kāi)展和網(wǎng)絡(luò)人口的增加,網(wǎng)絡(luò)世界也越來(lái)越播送,越來(lái)越豐富,電子商務(wù)已經(jīng)成為網(wǎng)上的一股潮流。我們相信咬不了太長(zhǎng)久的時(shí)間,顧客就可以在網(wǎng)絡(luò)世界上獲得他們?cè)诂F(xiàn)實(shí)世界上可以獲得的所有商品和效勞。可行性研究是為了弄清楚系統(tǒng)開(kāi)發(fā)的工程是是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的過(guò)程,世界上是一次大大簡(jiǎn)化系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的過(guò)程,所以,進(jìn)行可執(zhí)行性的分析是非常必要的,也很重要的,經(jīng)過(guò)最初的設(shè)計(jì)目標(biāo)和進(jìn)行的市場(chǎng)調(diào)查得出以下的四點(diǎn)的可行性分析:〔1〕經(jīng)濟(jì)可行性:該平臺(tái)設(shè)計(jì)知識(shí)作為本人的畢業(yè)設(shè)計(jì),又因?yàn)楸救说脑O(shè)計(jì)能力有限,其功能還不能完善,所以沒(méi)有什么經(jīng)濟(jì)效益可談。〔2〕技術(shù)可行性:JSP+Servlet的技術(shù)已經(jīng)較為成熟?!?〕運(yùn)行可行性:該系統(tǒng)需要搭建JVM即JAVA虛擬機(jī)和Tomcat環(huán)境,在此環(huán)境下系統(tǒng),并且在正確連接數(shù)據(jù)庫(kù)后可以正常運(yùn)行?!?〕法律可行性:該平臺(tái)是作為畢業(yè)設(shè)計(jì)與商業(yè)無(wú)關(guān),又因?yàn)槭亲灾鏖_(kāi)發(fā)設(shè)計(jì),因此不會(huì)構(gòu)成侵權(quán),在法律上是可行的。通過(guò)以上的可行性分析,我將采用JSP+Servlet相結(jié)合的技術(shù),運(yùn)用Access數(shù)據(jù)庫(kù)對(duì)網(wǎng)站進(jìn)行建設(shè)。2.3網(wǎng)站的深入調(diào)查經(jīng)過(guò)以上的初步調(diào)查和研究,并且確定了該平臺(tái)的可行性,并決定開(kāi)發(fā)本平臺(tái),為了能夠?qū)ΜF(xiàn)行的平臺(tái)內(nèi)容進(jìn)行充分了解,實(shí)用要開(kāi)發(fā)的平臺(tái)更具有實(shí)用性和適應(yīng)性,通過(guò)兩個(gè)月的實(shí)習(xí)調(diào)查和指導(dǎo)老師的耐心介紹,設(shè)計(jì)出該平臺(tái)功能如下:能夠完成用戶(hù)根本信息錄入的注冊(cè)和用戶(hù)根本信息的個(gè)人前臺(tái)與后臺(tái)管理。能夠完成管理員對(duì)網(wǎng)站的商品資料〔商品添加、商品審查〕會(huì)員管理〔會(huì)員審查〕、網(wǎng)站信息管理〔新聞添加、修改刪除、公告設(shè)置〕,以及常規(guī)設(shè)置〔廣告添加,友情鏈接〕的功能。能通過(guò)電子商品的名稱(chēng),電子商品的分類(lèi)進(jìn)行搜索。能夠通過(guò)查看購(gòu)物車(chē)對(duì)所選商品進(jìn)行確定、挑選,通過(guò)訂單查詢(xún)對(duì)支付費(fèi)用進(jìn)行確定。經(jīng)過(guò)前一階段的調(diào)查與研究分析,我已確定了該平臺(tái)設(shè)計(jì)的主要功能,對(duì)每個(gè)功能模塊也作了具體描述,下面就來(lái)具體分析該平臺(tái)的設(shè)計(jì)特點(diǎn)與具體思想。2.4網(wǎng)站設(shè)計(jì)的特點(diǎn)我所設(shè)計(jì)和開(kāi)發(fā)的網(wǎng)上購(gòu)物平臺(tái)是經(jīng)過(guò)很長(zhǎng)時(shí)間的調(diào)查和分析才開(kāi)始具體實(shí)施的,它的主要特點(diǎn)是改變了以往的購(gòu)物只能通過(guò)現(xiàn)實(shí)的上場(chǎng)才能到達(dá)的結(jié)果,采用Web技術(shù),借助于Internet互聯(lián)網(wǎng)廣泛應(yīng)用技術(shù),到達(dá)資源共享,提高以往購(gòu)物的局限性,縮短人們的時(shí)間和提高工作效率,具有較好的交互性,從而實(shí)現(xiàn)信息化,標(biāo)準(zhǔn)化,系統(tǒng)化,網(wǎng)絡(luò)化的平臺(tái),是整個(gè)購(gòu)物活動(dòng)過(guò)程簡(jiǎn)單、方便、易行。2.5網(wǎng)站開(kāi)發(fā)的設(shè)計(jì)思想網(wǎng)上購(gòu)物平臺(tái)主要是對(duì)后臺(tái)管理和前臺(tái)操作。后臺(tái)管理是管理員對(duì)本網(wǎng)站的維護(hù)通過(guò)商品資料〔商品添加、商品審查〕會(huì)員管理〔會(huì)員審查〕、網(wǎng)站信息管理〔新聞添加、修改刪除、公告設(shè)置〕,以及常規(guī)設(shè)置〔廣告添加,友情鏈接〕等功能到達(dá)對(duì)網(wǎng)站的管理。前臺(tái)操作時(shí)用戶(hù)登錄到本網(wǎng)站,可以進(jìn)行用戶(hù)注冊(cè),通過(guò)網(wǎng)站的精品推薦或商品搜索功能,找到自己想要買(mǎi)的商品,裝入購(gòu)物車(chē),提交訂單進(jìn)行購(gòu)置。網(wǎng)上購(gòu)物平臺(tái)的特點(diǎn)是客戶(hù)和電子商品信息量很大名管理員需要整理的信息很多,為讓管理員輕松、方便、快捷的管理,該平臺(tái)采用符合購(gòu)置電子商品的根本原那么,滿(mǎn)足廣闊客戶(hù)的日益增長(zhǎng)的數(shù)量,并到達(dá)操作過(guò)程中的直觀、方便、實(shí)用平安等要求。2.6系統(tǒng)設(shè)計(jì)的總體規(guī)那么無(wú)論哪個(gè)網(wǎng)站都要有他自己的設(shè)計(jì)規(guī)那么。該平臺(tái)也一樣,它的主要涉及規(guī)那么有:簡(jiǎn)單性:在實(shí)現(xiàn)平臺(tái)的功能的同時(shí),盡量讓平臺(tái)操作簡(jiǎn)單易懂,這對(duì)以一個(gè)網(wǎng)站來(lái)說(shuō)是非常重要的。針對(duì)性:該平臺(tái)設(shè)計(jì)是網(wǎng)上購(gòu)物系統(tǒng)及后臺(tái)管理的定向開(kāi)發(fā)設(shè)計(jì),所以具有專(zhuān)業(yè)突出和很強(qiáng)的針對(duì)性。實(shí)用性:該平臺(tái)能完成電子商品展示和管理員管理的根本信息,具有良好的實(shí)用性。三系統(tǒng)的開(kāi)發(fā)技術(shù)及主要架構(gòu)3.1開(kāi)發(fā)技術(shù)的選擇合理的選擇開(kāi)發(fā)技術(shù),對(duì)于網(wǎng)站開(kāi)發(fā)的完成情況有這非常重要的影響。要開(kāi)發(fā)一個(gè)網(wǎng)站。首先要選擇一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。當(dāng)前比擬流行的動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)有JSP、ASP、PHP。他們的特性比擬如下:這三中都是在傳統(tǒng)的HTML代碼中,利用HTML標(biāo)簽的擴(kuò)展,構(gòu)成頁(yè)面。不難看出,JSP的綜合實(shí)力是最強(qiáng)的,尤其是在平安性和化平臺(tái)性?xún)蓚€(gè)方面,比其他的兩種技術(shù)都要好,因此,最后我們選擇基于Java的JSP技術(shù)作為動(dòng)態(tài)網(wǎng)頁(yè)的開(kāi)發(fā)技術(shù)。3.2系統(tǒng)的主要架構(gòu)及開(kāi)發(fā)模式系統(tǒng)的建設(shè)關(guān)鍵在于其所使用的架構(gòu)嗎,而網(wǎng)上購(gòu)物這種機(jī)遇web的系統(tǒng),傳統(tǒng)的C/S架構(gòu)已經(jīng)不能滿(mǎn)足大量用戶(hù)的訪問(wèn)和操作,B/S基于瀏覽器的架構(gòu)那么是目前網(wǎng)絡(luò)系統(tǒng)應(yīng)用的主流,他將大量的數(shù)據(jù)處理工作交給效勞器端來(lái)處理,客戶(hù)端只用通過(guò)普通的IE瀏覽器即可訪問(wèn)系統(tǒng),方便快捷而且利于系統(tǒng)的更新和維護(hù),Java語(yǔ)言在該方面更是得天獨(dú)厚,j2ee標(biāo)準(zhǔn)的出現(xiàn)那么是系統(tǒng)的開(kāi)發(fā)更加標(biāo)準(zhǔn),層次更加清楚,更利于對(duì)復(fù)雜事物的處理,而且在平安性方面也做得更好。機(jī)遇mvc的開(kāi)發(fā)流程那么是開(kāi)發(fā)過(guò)程更加清晰明了,利于做一些復(fù)雜的邏輯實(shí)現(xiàn),從而節(jié)省了開(kāi)發(fā)周期和開(kāi)發(fā)本錢(qián)?;贐/S的體系結(jié)構(gòu)在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶(hù)通過(guò)瀏覽器向分布在網(wǎng)絡(luò)上的許多效勞器發(fā)出請(qǐng)求,效勞器隊(duì)瀏覽器的請(qǐng)求進(jìn)行處理,將用戶(hù)所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡(jiǎn)化了客戶(hù)機(jī)的工作??蛻?hù)機(jī)上只需配置少量的客戶(hù)端軟件。效勞器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和應(yīng)用程序的執(zhí)行將在效勞器上完成。瀏覽器發(fā)出請(qǐng)求,而其余如數(shù)據(jù)請(qǐng)求、加工。結(jié)果返回以及動(dòng)態(tài)網(wǎng)頁(yè)生成等工作全部由WebServer完成。實(shí)際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶(hù)機(jī)的任務(wù)中別離出來(lái),由Web效勞器單獨(dú)組成一層來(lái)負(fù)擔(dān)其任務(wù)這樣客戶(hù)機(jī)的眼里減輕了,把負(fù)荷分配給了Web效勞器。這種三層體系結(jié)構(gòu)如圖3.1所示。這種結(jié)構(gòu)不僅把客戶(hù)機(jī)從沉重的負(fù)擔(dān)和不斷對(duì)其提高的性能的要求中解放出來(lái),也把技術(shù)維護(hù)人員從繁重的維護(hù)升級(jí)工作中解脫出來(lái)。由于客戶(hù)機(jī)把事務(wù)處理邏輯局部分給了功能效勞器,是客戶(hù)機(jī)一下子“苗條〞了許多,不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問(wèn)等關(guān)鍵事務(wù),只負(fù)責(zé)顯示局部,所以維護(hù)人員不再為程序的維護(hù)工作奔波于每個(gè)客戶(hù)機(jī)之間,而把主要精力放在功能效勞器上程序的更新共組。這種三成結(jié)構(gòu)在成渝層之間相互獨(dú)立,任何一層的改變不會(huì)影響其它層的功能?;贛VC的應(yīng)用開(kāi)發(fā)模型在傳統(tǒng)的機(jī)遇web的應(yīng)用系統(tǒng)中,例如ASP,CGI等,通常開(kāi)發(fā)者將業(yè)務(wù)邏輯,數(shù)據(jù)邏輯、展示邏輯等混雜在一起,在同一個(gè)界面里既進(jìn)行后臺(tái)數(shù)據(jù)庫(kù)的訪問(wèn)和操作,同時(shí)還包含業(yè)務(wù)流程和頁(yè)面表示。這樣編寫(xiě)出來(lái)的程序,既不利于程序員對(duì)業(yè)務(wù)代碼的調(diào)試,同時(shí)也不利于編輯人員進(jìn)行交互頁(yè)面的設(shè)計(jì)。同時(shí)系統(tǒng)也不具備可擴(kuò)展性。當(dāng)我們要在現(xiàn)有業(yè)務(wù)上進(jìn)行擴(kuò)展的時(shí)候,通常無(wú)法借助于現(xiàn)有的資源和應(yīng)用,而只能夠重新編寫(xiě),大大增加了投資,延長(zhǎng)了系統(tǒng)上線的時(shí)間,失去了競(jìng)爭(zhēng)市場(chǎng)的優(yōu)勢(shì)。在本網(wǎng)上購(gòu)物系統(tǒng)中,將采用通行的MVC模式來(lái)構(gòu)建應(yīng)用。這種結(jié)構(gòu)解決了前面所述的所有問(wèn)題,在我們的應(yīng)用集成網(wǎng)絡(luò)中,通過(guò)企業(yè)高端J2EE應(yīng)用效勞器實(shí)現(xiàn)MVC開(kāi)發(fā)模型,MVC的邏輯圖如下:通過(guò)這種方案,我們可以迅速的實(shí)現(xiàn)整個(gè)業(yè)務(wù),其優(yōu)勢(shì)和特點(diǎn)如下:Model〔模型〕層:由EJB組件來(lái)實(shí)現(xiàn),EJB將具體的業(yè)務(wù)封裝在組建內(nèi)部,具備平安、高性能、可重用等優(yōu)秀的特征。Vlew〔視圖〕層:由JSP、HTML組成。這一層次的特點(diǎn)是能夠真實(shí)的展示和客戶(hù)交互的界面,具備可描繪的功能,同時(shí)能夠嵌套動(dòng)態(tài)數(shù)據(jù),可以進(jìn)行動(dòng)態(tài)頁(yè)面的展示。同時(shí)可以方便地進(jìn)行客戶(hù)端的個(gè)性化定制,根據(jù)每個(gè)客戶(hù)的需求來(lái)展示不同風(fēng)格的界面。Controller〔控制器〕層,是非常重要的一層,這一層是連接View和Model的紐帶,同時(shí)也是將這兩層進(jìn)行最大限度別離的工具。通常由Servlet來(lái)實(shí)現(xiàn),Servlet和JSP雖然同樣都屬于頁(yè)面展示工具,但分屬兩層。主要在于JSP以腳本語(yǔ)言的形式存在,它的主要優(yōu)勢(shì)是進(jìn)行動(dòng)態(tài)數(shù)據(jù)的Web展示,而Servlet是一個(gè)完整的Java程序,進(jìn)行業(yè)務(wù)的調(diào)用和流程的處理是他的長(zhǎng)處。通過(guò)這種母性的建立,我們的應(yīng)用系統(tǒng)具備了非常好的性能和可擴(kuò)展性。將業(yè)務(wù)組件和展示頁(yè)面進(jìn)行別離,并通過(guò)Controller來(lái)描述調(diào)用關(guān)系,一方面可以提高效率,另一方面也可以增加系統(tǒng)擴(kuò)充的能力,是我們的胸可以進(jìn)行最快速度的業(yè)務(wù)擴(kuò)展,以滿(mǎn)足不同用戶(hù)、不同階段、各種各樣的業(yè)務(wù)需求。四系統(tǒng)的功能和流程分析4.1網(wǎng)站的功能分析經(jīng)過(guò)前期的深入調(diào)查和研究,總結(jié)出該平臺(tái)需要完成的一些具體功能,分析如下:用戶(hù)管理:能夠完成用戶(hù)根本信息錄入的注冊(cè)和用戶(hù)根本信息的修改。管理員管理:能夠完成管理員對(duì)網(wǎng)站的商品信息管理〔商品添加、商品審查〕會(huì)員管理〔會(huì)員審查〕、網(wǎng)站信息管理〔新聞添加、修改刪除、公告設(shè)置〕,以及常規(guī)設(shè)置〔廣告添加,友情鏈接〕等功能。搜索功能:能過(guò)電子商品的名稱(chēng)進(jìn)行搜索。查詢(xún)功能:能夠通過(guò)查看購(gòu)物車(chē)對(duì)所選商品進(jìn)行確定、挑選。4.2平臺(tái)功能模塊的設(shè)計(jì)分析在平臺(tái)功能的分析根底上,得到本平臺(tái)的功能模塊圖如下:4.3系統(tǒng)流程分析前臺(tái)購(gòu)物流程注冊(cè)功能流程注冊(cè)的具體實(shí)現(xiàn)為:點(diǎn)擊主頁(yè)面的用戶(hù)注冊(cè)選項(xiàng)后,會(huì)彈出一個(gè)注冊(cè)信息頁(yè)面,用戶(hù)需要如實(shí)填寫(xiě)用戶(hù)名,密碼,Email,地址,,真實(shí)姓名等各項(xiàng)信息,提交后,系統(tǒng)進(jìn)行檢測(cè)判斷該用戶(hù)名是否已經(jīng)注冊(cè)過(guò),如果已經(jīng)存在那么彈出新頁(yè)面,提示用戶(hù)該用戶(hù)名已經(jīng)注冊(cè)過(guò),如果沒(méi)有那么進(jìn)行下一步判斷,用戶(hù)輸入的兩次密碼是否一致,然后依次往后判斷用戶(hù)所填寫(xiě)的各項(xiàng)信息是否符合要求,知道所有信息均正確無(wú)誤,系統(tǒng)將該用戶(hù)注冊(cè)信息寫(xiě)入會(huì)員表即member并提示用戶(hù)注冊(cè)成功,用戶(hù)登錄號(hào),就可以進(jìn)行有效的購(gòu)物了。商品搜索流程商品的搜索功能使用戶(hù)更加方便的進(jìn)行自己所需要的商品查詢(xún),節(jié)省時(shí)間,提高效率。用戶(hù)搜索時(shí)只要輸入商品的關(guān)鍵字就能搜索到所有相關(guān)商品。并且能列出通過(guò)搜索的到的商品的詳細(xì)信息。用戶(hù)登錄流程用戶(hù)登錄,首先要有一個(gè)提供用戶(hù)登錄的表單。用戶(hù)登錄的表單應(yīng)該嵌入整體的結(jié)構(gòu)當(dāng)中。在實(shí)際的應(yīng)用中,可以這樣設(shè)計(jì),如果用戶(hù)沒(méi)有登錄,那么在頁(yè)面中顯示用戶(hù)登錄的選項(xiàng),用戶(hù)登錄后,那么可隱藏用戶(hù)登錄的選項(xiàng)而代之以用戶(hù)的根本信息。首先,用戶(hù)要有一個(gè)用戶(hù)名和密碼。商務(wù)網(wǎng)站需要很高的穩(wěn)定性和平安性,因此對(duì)用戶(hù)名不允許使用惡意的代碼作為用戶(hù)名。同時(shí)對(duì)密碼也要求保密,將密碼加密后再存入數(shù)據(jù)庫(kù)。另外,一個(gè)電子商務(wù)網(wǎng)站。用戶(hù)的真實(shí)姓名是必不可少的。除此之外還需要用戶(hù)的性別、Email、號(hào)碼等。商品管理流程在該功能里管理員可以進(jìn)行不需要的商品的刪除,在這里管理員當(dāng)然也可以瀏覽到商品的詳細(xì)信息。并且比普通用戶(hù)在瀏覽商品界面里所看到的商品信息多一個(gè)該商品在數(shù)據(jù)庫(kù)中的ID。購(gòu)物車(chē)流程購(gòu)物車(chē)具體的實(shí)現(xiàn)可采用這種形式:定義一個(gè)購(gòu)物車(chē)的類(lèi)〔Class〕。列出商品的列表,使用戶(hù)能夠自由選擇所需要的商品。當(dāng)用戶(hù)在點(diǎn)擊“添加到購(gòu)物車(chē)〞的連接時(shí),執(zhí)行如下功能:檢查用戶(hù)購(gòu)物車(chē)類(lèi)是否存在。如不存在,那么建立,并注冊(cè)這Session變量:在由用戶(hù)購(gòu)物車(chē)類(lèi)存在的情況下,在檢查該類(lèi)中是否有該商品。如存在,那么商品數(shù)量相應(yīng)加1;如沒(méi)有該商品,那么該商品添加到該類(lèi)中。五系統(tǒng)功能的具體實(shí)現(xiàn)5.1系統(tǒng)數(shù)據(jù)庫(kù)表的根本設(shè)計(jì)在建設(shè)網(wǎng)站系統(tǒng)之前,我們必須對(duì)系統(tǒng)所用到的數(shù)據(jù)進(jìn)行大致的分類(lèi)和具體的結(jié)構(gòu)設(shè)計(jì),既要做到清晰明了,又要能適應(yīng)系統(tǒng)各項(xiàng)功能的調(diào)用,而不至于產(chǎn)生結(jié)構(gòu)上的邏輯混亂,保證關(guān)鍵數(shù)據(jù)在意外情況下不會(huì)被破壞,可以說(shuō)數(shù)據(jù)庫(kù)是系統(tǒng)的重中之重。數(shù)據(jù)庫(kù)設(shè)計(jì)要遵循一些規(guī)那么,一個(gè)好的數(shù)據(jù)庫(kù)滿(mǎn)足一些嚴(yán)格的約束和要求。進(jìn)兩別離歌試題對(duì)應(yīng)的表,一個(gè)實(shí)體對(duì)應(yīng)一個(gè)表,搞清楚該試題有哪些屬性,對(duì)應(yīng)有些什么字段,以及各實(shí)體之間有何種聯(lián)系。實(shí)體、屬性與聯(lián)系是進(jìn)行概念設(shè)計(jì)時(shí)要考慮的三個(gè)元素,也是一個(gè)好的數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。從實(shí)際出發(fā),經(jīng)過(guò)仔細(xì)地設(shè)計(jì),得到各表的設(shè)計(jì)如表5.1—5.9所示。[說(shuō)明]對(duì)于商品信息表,因?yàn)榻?jīng)驗(yàn)缺乏,我將其關(guān)鍵字段hw_id商品編號(hào)采用的是Access數(shù)據(jù)庫(kù)中的自動(dòng)編號(hào),雖然也確定了商品信息的唯一性,但不具備直觀的特點(diǎn),在實(shí)際應(yīng)用中最好是將其設(shè)置一個(gè)命名規(guī)那么,管理人員再添加商品的時(shí)候能夠自動(dòng)產(chǎn)生一個(gè)有一定規(guī)那么和一定意義的命名規(guī)那么,方便管理人員對(duì)其進(jìn)行管理和維護(hù),例如對(duì)于類(lèi)商品可將其編號(hào)設(shè)置為mobile+型號(hào)+添加日期,這樣更容易對(duì)商品進(jìn)行管理。Hw_pic字段代表圖片,但在這里存放的只是它的路徑所以應(yīng)該使用文本類(lèi)型。[說(shuō)明]對(duì)于會(huì)員信息表,會(huì)員編號(hào)也要有一定的命名規(guī)那么,另外會(huì)員賬號(hào)的命名規(guī)那么也有一定要求,如必須以字母開(kāi)頭,不能有特殊字符,長(zhǎng)度大于4個(gè)字符小于16個(gè)字符等等,還有一個(gè)需要注意的是用戶(hù)密碼,由于Acess數(shù)據(jù)庫(kù)本身不提供特殊字段的加密,用戶(hù)注冊(cè)以后注冊(cè)密碼是一明碼形式存放在數(shù)據(jù)庫(kù)中,這對(duì)系統(tǒng)來(lái)說(shuō)是極不平安的,因此需要我們用一些特殊工具來(lái)對(duì)其進(jìn)行加密。[說(shuō)明]購(gòu)物車(chē)表那么是系統(tǒng)中與其他幾個(gè)表關(guān)系最多的一個(gè)表,它包含了商品表,會(huì)員表中的幾個(gè)重要字段,是我們進(jìn)行最后購(gòu)物統(tǒng)計(jì)的主要依據(jù),我們?cè)诖_定購(gòu)置一樣商品的時(shí)候,系統(tǒng)將數(shù)據(jù)寫(xiě)入購(gòu)物車(chē)表,在用戶(hù)確定去結(jié)賬之前basket_check值為否,確定之后質(zhì)變衛(wèi)士,一個(gè)用戶(hù)可能對(duì)應(yīng)多個(gè)basket記錄,但在同級(jí)的時(shí)候,僅對(duì)basket_check為真的記錄進(jìn)行統(tǒng)計(jì),這樣就可以防止造成統(tǒng)計(jì)錯(cuò)誤。[說(shuō)明]該表和會(huì)員表一樣存在字段的命名規(guī)那么的要求,出于平安考慮對(duì)于管理員賬號(hào)發(fā)放應(yīng)該謹(jǐn)慎,管理人員數(shù)量一定要控制,越少越平安,在實(shí)際應(yīng)用中,我們還要對(duì)整個(gè)數(shù)據(jù)庫(kù)進(jìn)行加密,以防止系統(tǒng)重要數(shù)據(jù)泄漏。[說(shuō)明]存儲(chǔ)網(wǎng)站新聞信息,與其他表沒(méi)有關(guān)聯(lián)。[說(shuō)明]該表主要存儲(chǔ)一些網(wǎng)站信息,如系統(tǒng)管理員的聯(lián)系方式等,一頁(yè)面的形式提供應(yīng)用戶(hù),與其他表沒(méi)有關(guān)聯(lián)。[說(shuō)明]該表為單獨(dú)的表,與其他表沒(méi)有關(guān)聯(lián),主要存儲(chǔ)一些鏈接網(wǎng)站或廣告信息。5.2功能總體說(shuō)明目錄結(jié)構(gòu)說(shuō)明〔1〕admin用于存儲(chǔ)系統(tǒng)管理員的后臺(tái)操作腳本,包括商品類(lèi)別管理、商品信息管理、站內(nèi)公告管理、訂單管理、系統(tǒng)用戶(hù)管理等功能:〔2〕pic用來(lái)存儲(chǔ)商品的圖片資料,管理員上傳的商品圖片也存在這里?!?〕img用來(lái)存儲(chǔ)網(wǎng)頁(yè)上的圖片文件?!?〕database用來(lái)存儲(chǔ)系統(tǒng)的數(shù)據(jù)庫(kù),由于環(huán)境限制,本系統(tǒng)采用的是windows自帶的Acess數(shù)據(jù)庫(kù),所有的相關(guān)表也都放在這里?!?〕Class用來(lái)存儲(chǔ)封裝起來(lái)的一些servelet,也可稱(chēng)為JavaBeam文件。功能頁(yè)面結(jié)構(gòu)〔1〕前臺(tái)功能頁(yè)面主頁(yè)面框架:index.jsp,top.in-searchjsp,includenotice.jsp,paihang.jsp,middle.jsp商品展示:bought.jsp,cash.jsp,showing.jsp,views.jsp,inproduct.jsp登陸注冊(cè):dengluyufou.jsp,reg.jsp,regsave.jsp,quit.jsp〔2〕后臺(tái)管理頁(yè)面主頁(yè)面框架:index.jsp,manage.jsp,left.jsp,main.html,quit.jsp商品管理:addhw.jsp,changehw.jsp,changehw_ok.jsp,savehw.jsp,delhw.jsp用戶(hù)管理:viewuser.jsp新聞管理:addnews.jsp,editnews.jsp,delnews.jsp公告管理:gg.jsp,gg2.jsp,ggdel.jsp廣告鏈接:guanggao.jsp,links.jsp,savelinks.jsp主要功能流程5.3各功能模塊的實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接出于平安性的考慮,我們將于數(shù)據(jù)庫(kù)的連接,單獨(dú)寫(xiě)出來(lái)并進(jìn)行編譯,也就是數(shù)據(jù)庫(kù)連接的JavaBean文件,編譯出來(lái)的class文件是無(wú)法被修改的只能通過(guò)原文件進(jìn)行修改,我們?cè)贘SP頁(yè)面中只用直接調(diào)用改方法即可,在本系統(tǒng)中我們將其命名為faq存放在class/ckstudio/db下設(shè)其id為mab,我們?cè)谛枰獙?duì)數(shù)據(jù)庫(kù)進(jìn)行操作的時(shí)候只需在頁(yè)面上添加這樣一個(gè)標(biāo)簽<jsp:useBeanid=〞mab〞class=〞〞scope=〞page〞/>即可。連接管件代碼如下:用戶(hù)登錄模塊的實(shí)現(xiàn)用戶(hù)登錄模塊是防止非法用戶(hù)登錄的第一道防線,通過(guò)它可以保護(hù)后臺(tái)數(shù)據(jù)庫(kù)的平安性,當(dāng)用戶(hù)要進(jìn)行訂購(gòu)時(shí),首先要進(jìn)入的就是身份驗(yàn)證界面,只有在密碼正確的情況下才能進(jìn)行以后的購(gòu)物,如果輸入的密碼不正確,那么不能進(jìn)行訂購(gòu)。如果用戶(hù)已瀏覽者的身份進(jìn)入網(wǎng)站,那么只能進(jìn)行一般的商品瀏覽和搜索,而不能進(jìn)行選購(gòu),再點(diǎn)擊添加購(gòu)物車(chē)后,系統(tǒng)會(huì)判斷該用戶(hù)是否是登錄用戶(hù),如果不是那么彈出來(lái)提示頁(yè)面,提示用戶(hù)必須先登錄才能訂購(gòu)商品,如果是第一次登錄,請(qǐng)先注冊(cè)。主頁(yè)面的效果圖如下:登錄的具體實(shí)現(xiàn)要通過(guò)一個(gè)全程變量,即session變量來(lái)實(shí)現(xiàn),在系統(tǒng)中那么有一個(gè)單獨(dú)的session.jsp頁(yè)面來(lái)放置該session。用戶(hù)登錄的界面dengluyufou.jsp,從member表差的用戶(hù)提交的賬戶(hù)名和密碼正確后,用一個(gè)全局變量,即session變量保存這一消息〔該變量名稱(chēng)為session〔“user_name“〕〕。具體的判斷過(guò)程為:假設(shè)session中user為空即session.getAttrubute(“user_name〞)==null,說(shuō)明沒(méi)有經(jīng)過(guò)登錄與佛的驗(yàn)證,那么立即跳轉(zhuǎn)到dengluyufou.jsp,請(qǐng)用戶(hù)登錄:并將用戶(hù)登錄的賬號(hào)和密碼通過(guò)User_name=request.getParameter(“user_name〞):User_pass=request.getParameter(“user_pass〞):分別賦給變量user_name,和user_pase,然后將其與數(shù)據(jù)庫(kù)中的相應(yīng)信息進(jìn)行比擬Stringsql=〞select*frommemberwhereuser_name=’〞+user_name+〞’〞:如果user_game存在的話(huà)那么判斷奇密碼是否正確User_pass.equaks(rs.getString(“user_pass〞))如果為真那么將用戶(hù)信息賦給sessionSession.setAttribute(“user_name〞,〞〞+rs.getString(“user_name〞)+‘’):以方便系統(tǒng)對(duì)用戶(hù)在操作一些會(huì)員功能是進(jìn)行用戶(hù)身份驗(yàn)證。如果用戶(hù)還不是會(huì)員那么提示用戶(hù)進(jìn)行注冊(cè),用戶(hù)提交信息之后,系統(tǒng)開(kāi)始判斷用戶(hù)的注冊(cè)信息是否有效,首先是用戶(hù)名是否為空,〔該儲(chǔ)存在用戶(hù)命名規(guī)那么的問(wèn)題,后面問(wèn)題中會(huì)詳細(xì)解決〕用戶(hù)輸入的兩次密碼是否一致,然后依次往后判斷用戶(hù)所填寫(xiě)的各項(xiàng)信息是否符合要求,知道所有信息均正確無(wú)誤,系統(tǒng)將該用戶(hù)注冊(cè)寫(xiě)入會(huì)員表即member:并提示用戶(hù)注冊(cè)成功,用戶(hù)登錄后,就可以進(jìn)行有效的購(gòu)物了。注冊(cè)頁(yè)面效果圖如下:系統(tǒng)對(duì)用戶(hù)的注冊(cè)信息的驗(yàn)證實(shí)現(xiàn)如下:用戶(hù)輸入的各項(xiàng)信息分別對(duì)應(yīng)字段User_name,user_pass,user_pass2,user_adds,User_tel,user_mail,user_postcode:先判斷用戶(hù)名是否為空request.getParameter(“user_name〞)):如果不為空那么將改制傳給變量user_nameUser_name=getStr(request.getParameter(“user_name〞)):同樣道理對(duì)密碼進(jìn)行判斷Request.getParameter(“user_pass〞).equals(“〞))Request.getParameter(“user_pass2”).equals(“〞判斷兩次出入是否一致user_pass.equals(user_oass2)其它選項(xiàng)與上面類(lèi)似,如果條件符合那么將該支賦給各個(gè)字段用戶(hù)名重復(fù)的驗(yàn)證代碼為:Sql=〞sekect*frommemberwhereuser_name+’〞+user_name+’〞〞:Rs=mdb.esecuteQuery(sql):If(rs.next())[Errmsg=errmsg+〞用戶(hù)名已被別人注冊(cè)〞:Fkunderr=true:]當(dāng)所有條件都符合的時(shí)候,系統(tǒng)將數(shù)據(jù)寫(xiě)入數(shù)據(jù)表,并返回成功頁(yè)面,顯示用戶(hù)所填的注冊(cè)信息,寫(xiě)入關(guān)鍵語(yǔ)句為:Sql=〞InsertintoMember(user_ame,user_pass,user_adds,user_mail,user_tel,user_regip,user_namec)values(‘〞+user_name+〞’,’〞+user_pass+〞’,’’+user_adds+〞’,’’+user_mail+〞’,’〞+user_tel’’,’〞+request.getRemoteHost()+〞’,’’’+getStr(request.gerParameter(“user_namec’)))〞:用戶(hù)在注冊(cè)之后也可以對(duì)自己的資料進(jìn)行更改,再點(diǎn)擊主頁(yè)面的修改資料后,彈出這樣的一個(gè)頁(yè)面,用戶(hù)可以直接在文本框里修改,然后確認(rèn)?!ば薷倪@一過(guò)程具體實(shí)現(xiàn)過(guò)程為User_name=request.getParameter(“user_name〞):Sql=〞select*frommemberwhereuser_name=’〞+user_name+〞’〞:ResultSetrs;rs=mdb,esecuteQuery(sql);根據(jù)用戶(hù)名將該用戶(hù)的所有新系列出來(lái),以供用戶(hù)修改修改方法采用的是rs.updateString(“user_pass〞,user_pass);其他的類(lèi)似。購(gòu)物車(chē)模塊的實(shí)現(xiàn)當(dāng)用戶(hù)登錄成功以后,如果找到哦啊了希望訂購(gòu)的物品,再點(diǎn)擊物品下方的訂購(gòu)以后,系統(tǒng)會(huì)彈出一個(gè)新的頁(yè)面,顯示該物品已經(jīng)添加進(jìn)購(gòu)物車(chē),然后用戶(hù)需要選擇訂購(gòu)的數(shù)量。頁(yè)面效果如下:在點(diǎn)擊確認(rèn)以后,該物品信息被后臺(tái)添加到購(gòu)物車(chē)表即basket表中,如果用戶(hù)需要繼續(xù)購(gòu)物,可以繼續(xù)選擇,不斷添加,系統(tǒng)會(huì)自動(dòng)將所有信息寫(xiě)入basket表,同時(shí)顯示用戶(hù)所購(gòu)置的物品列表,及合計(jì)價(jià)格。其具體代碼實(shí)現(xiàn)過(guò)程為:從session中缺的該用戶(hù)的信息User_name=(String)session.getCalue(“user_name〞);User_trpe=(String)session.getValue(“user_type〞);對(duì)商品的信息進(jìn)行提取以寫(xiě)入購(gòu)物車(chē)表Stringhw_ids=resquest.getParameter(“hw_id〞);Stringcounts=getParameter(“count〞);Stringhw_cashs=request.getParameter(“hw_cash’);Hw_name+request.getParameter(“hw_name〞);具體寫(xiě)入語(yǔ)句為:Sql=〞insertintobasket(hw_id,user_name,basker_count,hw_name,hw_cash)〞;Sql=sql+〞values(‘〞+hw_ids+〞’,’〞+user_name〞’,’〞+counts+〞’,’〞+hw_name+〞’,’〞+hw_cashs+〞’)〞;Mdb.executeInsert(sql):如果用戶(hù)在去收銀臺(tái)結(jié)賬前對(duì)已經(jīng)選購(gòu)的物品不滿(mǎn)意時(shí),可選擇清空購(gòu)物車(chē),同時(shí)系統(tǒng)也將basket表中相關(guān)信息刪除。用戶(hù)完成選購(gòu)之后,可點(diǎn)擊收銀臺(tái)副快,系統(tǒng)返回最終選購(gòu)物品列表和合計(jì)價(jià)格,如下圖系統(tǒng)只統(tǒng)計(jì)basket——check為否的該用戶(hù)選購(gòu)的商品信息。用戶(hù)再一次確認(rèn)后,系統(tǒng)會(huì)顯示購(gòu)物成功并返回給用戶(hù)一個(gè)訂購(gòu)單號(hào),提示用戶(hù)填寫(xiě)收貨人詳細(xì)信息,包括姓名、地址、郵箱、、付款方式等,這些信息是系統(tǒng)自動(dòng)從用戶(hù)表中提取出來(lái)的,用戶(hù)可以修改后臺(tái)管理模塊的實(shí)現(xiàn)網(wǎng)上購(gòu)物系統(tǒng)除了能夠讓用戶(hù)實(shí)現(xiàn)前臺(tái)的瀏覽和購(gòu)物等操作之外,還必須能夠使管理人員能夠?qū)ο到y(tǒng)的各種信息進(jìn)行維護(hù),比方商品的增加、刪除、修改,會(huì)員的審查,網(wǎng)站新聞的更新等等。管理功能是網(wǎng)上購(gòu)物系統(tǒng)相當(dāng)重要的一局部功能。管理員可以通過(guò)主頁(yè)面的“管理進(jìn)入“進(jìn)行系統(tǒng)后臺(tái)進(jìn)行維護(hù),點(diǎn)擊之后,首要的就是進(jìn)行身份驗(yàn)證,輸入正確的賬號(hào),密碼之后,方能進(jìn)入。由于涉及到交易,出于平安性考慮,管理員賬號(hào)應(yīng)盡量少分配,密碼也要盡量復(fù)雜,經(jīng)常更換。進(jìn)入之后系統(tǒng)管理的主頁(yè)面采用了框架結(jié)構(gòu),左邊是一個(gè)樹(shù)形菜單,右邊顯示具體信息。管理的主要功能有商品信息的更新,會(huì)員信息維護(hù),網(wǎng)站信息維護(hù),廣告連接設(shè)置等四大塊,商品信息管理,主要就是添加新的商品,刪除和修改已經(jīng)添加的商品。如下列圖所示:會(huì)員信息管理,那么主要是對(duì)一些惡意注冊(cè)用戶(hù)進(jìn)行刪除,該功能設(shè)計(jì)存在一定問(wèn)題,具體在后面會(huì)有一定說(shuō)明。網(wǎng)站信息管理,進(jìn)行網(wǎng)上新聞的發(fā)布,修改刪除,以及系統(tǒng)公告等信息的設(shè)置,這些功能雖然無(wú)關(guān)緊要,但在實(shí)際中卻能方便用戶(hù),提高網(wǎng)站效益。廣告鏈接,可以進(jìn)行一些廣告信息的發(fā)布,及更新和修改,主要是鏈接一些合作單位的網(wǎng)頁(yè),能夠給自己帶來(lái)一些經(jīng)濟(jì)上的收益。在完成系統(tǒng)的更新之后,作為管理人員,應(yīng)該及時(shí)注銷(xiāo)自己的賬戶(hù),樹(shù)形菜單的上方提供了注銷(xiāo)登錄的選項(xiàng),點(diǎn)擊之后,注銷(xiāo)用戶(hù),并返回到前臺(tái)頁(yè)面,防止他人惡意修改網(wǎng)站信息,造成不必要的損失。以上兩個(gè)局部都是比擬簡(jiǎn)單的功能實(shí)現(xiàn),具體實(shí)現(xiàn)過(guò)程與前幾個(gè)類(lèi)似。商品搜索模塊的實(shí)現(xiàn)網(wǎng)上購(gòu)物作為一個(gè)在網(wǎng)上展示自己商品的銷(xiāo)售系統(tǒng),如何能讓用戶(hù)以最快的速度找到自己希望買(mǎi)到的物品,也是需要非常重視的一個(gè)問(wèn)題,此時(shí)搜索引擎也就必不可少了。本購(gòu)物系統(tǒng)也做了一個(gè)小模塊,以供用戶(hù)進(jìn)行一些模糊查找,用戶(hù)不必輸入全部名稱(chēng),只需輸入一些關(guān)鍵詞,系統(tǒng)就可以將符合該查詢(xún)條件的所有商品信息以網(wǎng)頁(yè)形式返回給用戶(hù)。六系統(tǒng)中所存在的問(wèn)題及解決方案6.1系統(tǒng)的整體設(shè)計(jì)的整體設(shè)計(jì)和規(guī)劃中的問(wèn)題由于是基于B/S的系統(tǒng),網(wǎng)頁(yè)在其中就承當(dāng)著非常大的工作嗎,包括向效勞端后臺(tái)寫(xiě)入和修改數(shù)據(jù),以及效勞端響應(yīng)客戶(hù)端的請(qǐng)求,向客戶(hù)端頁(yè)面返回?cái)?shù)據(jù),這些工作不可能只有幾個(gè)網(wǎng)頁(yè)來(lái)完成,但網(wǎng)頁(yè)數(shù)量一多又必然結(jié)構(gòu)混亂,造成開(kāi)發(fā)過(guò)程難以控制。為了解決這個(gè)問(wèn)題,我采用了現(xiàn)代軟件開(kāi)發(fā)過(guò)程的模塊化思想,現(xiàn)將系統(tǒng)功能進(jìn)行分解,大致可分為兩局部,級(jí)前臺(tái)和后臺(tái),前臺(tái)有包括主頁(yè)面及產(chǎn)品信息展示頁(yè)面、搜索功能頁(yè)面。、新聞信息管理等幾個(gè)局部,各個(gè)局部又由去多小的頁(yè)面組成,這樣一來(lái)雖然網(wǎng)頁(yè)數(shù)量沒(méi)有減少,但結(jié)構(gòu)清晰了很多名在開(kāi)發(fā)過(guò)程中可以逐步,逐個(gè)模塊的實(shí)現(xiàn),提高了開(kāi)發(fā)效率。6.2開(kāi)發(fā)功能模塊所遇到的難點(diǎn)因?yàn)槭堑谝淮巫鲞@么完整的系統(tǒng),所以碰到的問(wèn)題也很多,除了一些根本的語(yǔ)法之外,感覺(jué)還是以而寫(xiě)考慮問(wèn)題的思維方式不太得到,不如我的這個(gè)網(wǎng)上購(gòu)物系統(tǒng),我感覺(jué)難度比擬大的還是購(gòu)物車(chē)這個(gè)模塊比擬難設(shè)計(jì),因?yàn)檫^(guò)程比擬復(fù)雜,它的一些邏輯處理就比擬的難以用代碼實(shí)現(xiàn)。我參考了一些電子商務(wù)網(wǎng)站,研究了一下他們的購(gòu)物流程,大概有了一些處理的想法,用戶(hù)在點(diǎn)擊訂購(gòu)之后嗎,系統(tǒng)現(xiàn)將該商品信息寫(xiě)入購(gòu)物車(chē)頁(yè)面,只有當(dāng)用戶(hù)在選擇了商品數(shù)量,及確認(rèn)按鈕之后,系統(tǒng)才將該信息寫(xiě)入basket表,用戶(hù)不選擇商品水量活著不點(diǎn)擊確認(rèn)按鈕,系統(tǒng)就不把該商品信息寫(xiě)入basket表,這樣就不至于造成basket表數(shù)據(jù)混亂,用戶(hù)無(wú)法繼續(xù)購(gòu)物。當(dāng)用戶(hù)完成選購(gòu),點(diǎn)擊去收銀臺(tái)結(jié)算時(shí),系統(tǒng)開(kāi)始判斷商品庫(kù)中的這些商品數(shù)量是否大于用戶(hù)所選數(shù)量,如果沒(méi)有,那么提示用戶(hù)沒(méi)有該商品數(shù)量缺乏。如果有那么將所有baske

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論