基于按鍵觸發(fā)方式的PDA壽命檢測系統(tǒng)及基于web電子商務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于按鍵觸發(fā)方式的PDA壽命檢測系統(tǒng)及基于web電子商務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于按鍵觸發(fā)方式的PDA壽命檢測系統(tǒng)及基于web電子商務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于按鍵觸發(fā)方式的PDA壽命檢測系統(tǒng)及基于web電子商務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于按鍵觸發(fā)方式的PDA壽命檢測系統(tǒng)及基于web電子商務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于web電子商務(wù)管理系統(tǒng)PAGEPAGE8基于按鍵觸發(fā)方式的PDA壽命檢測系統(tǒng)摘要:開發(fā)了一種基于按觸發(fā)方式的PDA產(chǎn)品壽命檢測系統(tǒng)。詳細(xì)介紹了該系統(tǒng)的功能、工作原理、設(shè)計方案及硬件結(jié)構(gòu);并針對實時性較強的多任務(wù)程序設(shè)計,介紹了集中調(diào)用、參數(shù)返回的程序調(diào)用方法。實際應(yīng)用表明,該系統(tǒng)安全性高,穩(wěn)定可靠、操作簡單靈活。關(guān)鍵詞:按鍵觸發(fā)接觸力檢測界面轉(zhuǎn)換

由于PDA產(chǎn)品外觀小巧、操作方便、便于攜帶,使其深受消費者的青睞。有些袼順使用過程中經(jīng)常出現(xiàn)屏幕損壞、按鍵失效等現(xiàn)象,導(dǎo)致產(chǎn)品的壽命達不到規(guī)定要求。所以作為PDA產(chǎn)品關(guān)鍵部件的屏幕,其壽命往往決定PDA產(chǎn)品的使用壽命,而作為易損件的按鍵也是限制PDA產(chǎn)品壽命的一個瓶頸。本文研制的檢測系統(tǒng)可用來檢測PDA產(chǎn)品在規(guī)定的極限溫度和濕度環(huán)境中按鍵的疲勞壽命。1檢測原理通常,PDA產(chǎn)品都具有節(jié)能工作模式或者自動關(guān)功能,若長時間不對其進行操作,屏幕就處于非工作狀態(tài)。屏幕檢測就是不斷地觸發(fā)PDA產(chǎn)品的按鍵,保證屏幕在檢測過程中處于工作狀態(tài)。檢測時,PDA產(chǎn)品被放在一個溫度和濕度可調(diào)的密閉環(huán)境中。

按鍵壽命檢測是記錄按鍵在正常狀態(tài)下被按下的次數(shù)。方法是在按鍵間的接觸力,如果接鍵力在正常范圍內(nèi),則認(rèn)為按鍵處于正常工作狀態(tài),按鍵觸發(fā)次數(shù)加1;如果接觸力超出正常范圍,則認(rèn)為按鍵被卡死;如果接觸力低于正常范圍,則認(rèn)為按鍵沒有及時彈起。后兩種情況都認(rèn)為按鍵出現(xiàn)故障。2系統(tǒng)組成及功能介紹檢測控制系統(tǒng)由主控電路、觸發(fā)檢測裝置、人機交互裝置、電源自動關(guān)閉定時裝置和電壓變換及過流保護裝置組成,如圖1所示。

CPU為控制系統(tǒng)的核心,采用89C55WD單片機,該芯片自帶看門狗電路,片內(nèi)存儲器容量大,完全兼容其它51系列單片機的特點,使得外圍電路簡單。由于要同時檢測多個PDA產(chǎn)品,選用8255A對89C55WD的I/O口進行擴展。觸發(fā)記錄采用×25045完成,該芯片具有電壓保護功能并具有4K串行輸入的E2PROM,可用來記錄按鍵被按下的次數(shù)。當(dāng)檢測系統(tǒng)停止工作時,E2PROM記錄的數(shù)據(jù)不會丟失;當(dāng)系統(tǒng)再次工作時,可以在上次記錄的基礎(chǔ)上進行記錄。觸發(fā)檢測裝置包括按鍵觸發(fā)探頭(這里采用繼電器)、壓力傳感器、放置PDA產(chǎn)品的伸縮滑道及溫度濕度可調(diào)的密封容器。

檢測時,被測PDA產(chǎn)品按照一定順序放置在伸縮滑道的規(guī)定位置上,CPU通過調(diào)整繼電器的通電時間及通電頻率控制觸發(fā)探頭接觸PDA產(chǎn)品的按鍵的時間及觸頻率。

壓力傳感器檢測按鍵及觸發(fā)探頭接觸時的壓力,檢測結(jié)果經(jīng)過A/D轉(zhuǎn)換接口被送到CPU進行處理。繼電器和CPU之間設(shè)有光電隔離及功率放大電路,前者阻止繼電器電流的變化對主控制電路的干擾,后者用于放大繼電器的驅(qū)動電流。人機交互裝置包括鍵盤和LCD顯示兩部分。通過操作鍵盤,操作者可以選擇被測對象、輸入檢測時間和觸發(fā)頻率等檢測參數(shù),還可隨時停止對某個PDA的檢測。LCD為操作者提供了上述參數(shù)的設(shè)置界面,并實時地顯示設(shè)置的檢測參數(shù)、檢測的時間進程和按鍵的觸發(fā)次數(shù)。

利用電源自動關(guān)閉定時裝置可以設(shè)定檢測系統(tǒng)的工作時間,當(dāng)操作人員忘記關(guān)閉檢測系統(tǒng)的電源時,系統(tǒng)會自動繼電,防止事故發(fā)生。該定時裝置的定時時間可調(diào)。電壓變換及過流保護裝置將220V交流電轉(zhuǎn)換為穩(wěn)定的5V及12V直流電。由于有時需要同時對多個PDA產(chǎn)品檢測,系統(tǒng)的輸出電流較大,因此為保護直流電源,這里采取了過流保護措施。3系統(tǒng)的硬件設(shè)計硬件設(shè)計主要包括繼電器輸出控制設(shè)計、LCD顯示和鍵盤電路設(shè)計等部分。3.1繼電器輸出控制電路繼電器輸出控制電路如圖2所示。功放電路采用ULN2803。ULN2803是八組NPN型達林頓功放三極管集成芯片,典型的輸入電壓是5V,集電極輸出功率可達50V×600mA。續(xù)流二極管D用來保護ULN2803,L、RL分別為繼電器的電感和內(nèi)阻,Bi、Ci為八路輸入輸出中的一路。光電隔離電路采用TLR521??刂菩盘栍?9C55WD產(chǎn)生,通過8255A的輸出口加在TLP521的輸入端。3.2LCD顯示電路設(shè)計LCD采用內(nèi)藏T6963C控制器的圖形液晶模塊。點陣為160×128,工作頻率為5.5MHz,可滿足實時監(jiān)控的要求,并帶有背光。圖3為89C55WD與該液晶控制模塊的電路連接圖。3.3鍵盤電路設(shè)計這里采用4×4鍵盤,十個數(shù)字鍵、四個方向鍵、一個“確認(rèn)”鍵和一個“清除”鍵。鍵盤電路和A/D轉(zhuǎn)換電路都比較簡單,不再多述。4系統(tǒng)軟件設(shè)計4.1集中調(diào)用、參數(shù)返回的程序調(diào)用方法集中調(diào)用是指只有主程序具有調(diào)用某些子程序的權(quán)限,而子程序之間沒有相互調(diào)用的權(quán)力;參數(shù)返回就是指當(dāng)前從某個子程序轉(zhuǎn)換到另一個子程序時,程序并不直接進入后者的入口地址,而是將后者的入口地址作為參數(shù)返回,主程序根據(jù)該參數(shù)調(diào)用相應(yīng)的子程序。該方法有效地避開了多個子程序相互嵌套、遞歸調(diào)用的層次太深的缺陷,使程序運行可靠、可讀性強。本軟件系統(tǒng)包括定時中斷、時間處理、觸發(fā)控制、觸發(fā)壓力檢測、鍵盤處理及各界面顯示等子程序。這里通過介紹主程序及檢測狀態(tài)界面子程序來說明集中調(diào)用、參數(shù)返回的程序設(shè)計方法在子程序相互轉(zhuǎn)換中的實現(xiàn)。限于篇幅,其它子程序不作詳細(xì)介紹。4.2主程序設(shè)計根據(jù)液晶屏幕的大小,半顯示的內(nèi)容分為四類,分別用四種界面顯示,即開機界面、檢測狀態(tài)界面、參數(shù)設(shè)置界面和停止檢測選擇界面,每一界面對應(yīng)一個子程序。檢測狀態(tài)界面如圖4所示,它將操作者設(shè)置的每個PDA產(chǎn)品的檢測參數(shù)、監(jiān)控進程(已完成的檢測時間)和按鍵被按下的次數(shù)實時地顯示出來。由于要同時檢測多個PDA產(chǎn)品,該界面由若干幀組成,每一幀顯示四個PDA產(chǎn)品的檢測情況,具有設(shè)置、停止、繼續(xù)和返回四個命令按鈕。參數(shù)設(shè)置界面為操作者提供了對檢測參數(shù)進行設(shè)置的環(huán)境,包括選擇要測試的PDA產(chǎn)品以及設(shè)置檢測時間、繼電器觸發(fā)頻率等。停止檢測選擇界面可以讓操作者有選擇地終止某個正在檢測的PDA產(chǎn)品,而不影響其它產(chǎn)品的正常檢測。以上四類界面子程序間的相互轉(zhuǎn)換采用了集中調(diào)用、參數(shù)返回的程序調(diào)用方法,圖5為主程序流程圖。4.3檢測狀態(tài)界面子程序參見圖4,操作者可通過鍵盤上的方向鍵將屏幕光標(biāo)移動到屏幕上的四個命令按鈕處,按下鍵盤上的“確認(rèn)”鍵,表示該命令按鈕被選中。程序進入到該子程序時,首先判斷設(shè)置按鈕是否被選中,如果選中則將參數(shù)設(shè)置子程序的入口地址為返回值返回主程序,主程序根據(jù)該返回值調(diào)用參數(shù)設(shè)置子程序。若該按鈕沒有被選中,則繼續(xù)判斷其它按鈕是否被選中。如果所有按鈕都沒有被選中,則依次調(diào)用時間處理子程序、觸發(fā)控制子程序、觸發(fā)力檢測子程序,讀取壓力傳感器的輸入值并進行A/D轉(zhuǎn)換及其它處理。最后調(diào)用鍵盤處理子程序判斷是否有功能鍵被按下,進入到檢測狀態(tài)界面子程序入口處,完成一個循環(huán)。檢測狀態(tài)界面子程序框圖如圖6所示。其它界面子程序的設(shè)計方法與此類似,這里不再說明。經(jīng)用戶使用證明,本文介紹的PDA按鍵觸檢測控制系統(tǒng)可以在不同溫度、濕度下對PDA屏幕及按鍵進行壽命檢測,且安全可靠、操作簡單、使用靈活、具有很好的人機交互界面。畢業(yè)論文(設(shè)計)基于web電子商務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)學(xué)號:姓名:年級:學(xué)院:信息科學(xué)技術(shù)學(xué)院系別:計算機科學(xué)與技術(shù)專業(yè):計算機科學(xué)與技術(shù)指導(dǎo)教師:完成日期:基于web電子商務(wù)管理系統(tǒng)PAGE1摘要近年來,隨著Intemet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并進入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,一種全新的購物理念開始形成并逐步發(fā)展。電子商務(wù)系統(tǒng)是一種具有交互功能的商業(yè)信息系統(tǒng)。本文通過分析國內(nèi)外電子商務(wù)系統(tǒng)的發(fā)展和現(xiàn)狀,提出了一種利用JSP技術(shù)開發(fā)電子商務(wù)購物系統(tǒng)的方案。本文首先介紹了電子商務(wù)系統(tǒng)的現(xiàn)狀及開發(fā)背景,然后論述了系統(tǒng)的設(shè)計目標(biāo),系統(tǒng)需求和總體設(shè)計方案,較詳細(xì)的論述了系統(tǒng)的詳細(xì)設(shè)計和實現(xiàn)。本系統(tǒng)主要為用戶提供了會員注冊,購物車管理,商品搜索,用戶資料修改等功能,為管理員提供了商品管理,用戶信息管理等功能。在設(shè)計方面,使用JSP技術(shù)進行動態(tài)頁面的設(shè)計,從系統(tǒng)的安全性和代碼的可重用性方面考慮,運用JavaBean對程序的關(guān)鍵代碼進行封裝。后臺數(shù)據(jù)庫選用Mysql數(shù)據(jù)庫。最后本系統(tǒng)經(jīng)過軟件的測試,能夠安全穩(wěn)定地運行,滿足各功能的需求并且達到了預(yù)期的效果。關(guān)鍵字:電子商務(wù);網(wǎng)上商店;JSP;JavaBeanAbstractInrecentyears,withtherapidgrowingupofInternet,theIntemethasbecomingthebestwaytocollectandprovidetheinformation,whichhasenteredintothetraditionalfieldofcurrency.ThereforeE-businessisbecomingmoreandmorepopular.Soabrandnewshoppingprinciplehascomeintobeinganddevelopedgradually.E-businesssystemisakindofcommercialinformationsystemwiththemutualfunction.ThethesisanalyzedthedevolpmentstateofdomesticandoverseasE-businesssystemandprovidedaplantodeveloptheE-businesssystemwiththehelpofJSPtechnology.ThethesishasfirstlyintroducedthepracticalsituationandthedevelopingbackgroundofE-businesssystem.Andthenhasdescribedthedesigninggoal,systemneedandthewholedesigningplan,hasdescribedthedetaileddesignandrealityofthesystemindetail.Thesystemhasmainlyprovideduserswiththefollowingfunctions:membershipregistration,shoppingcarmanagement,goodssearch,informationmodifyetc.Ithasalsoprovidedmanagerswithgoodsmanagement,customerinformationmanagementandsoon.IthasbeendesignedwithJSPtechnologyindynamicpagedesign.Consideringfromthesecurityandreusingcodeofthesystem,keycodeshasbeensecuredbyJavaBeantechnology.Mysqldatabasehasbeenusedasthebackgrounddatabase.Intheend,thesystempassedthesoftwaretestanditcanworksafelyandstablely,whichsatisfiedallkindsoffunctionsandrequestsasweexpected.Keywords:E-business;Shoppingonline;JSP;JavaBean目錄1 電子商務(wù)管理系統(tǒng)概述 11.1 系統(tǒng)的開發(fā)背景 11.2 系統(tǒng)實現(xiàn)的目標(biāo)和開發(fā)意義 22 電子商務(wù)管理系統(tǒng)分析 42.1 系統(tǒng)的設(shè)計目標(biāo)和可行性分析 42.2 系統(tǒng)設(shè)計的特點及思路 53 電子商務(wù)管理系統(tǒng)開發(fā)技術(shù)及主要構(gòu)架 73.1 開發(fā)技術(shù)的選擇 73.2 系統(tǒng)的主要架構(gòu)及開發(fā)模式 83.2.1 基于B/S的體系結(jié)構(gòu) 83.2.2 基于JSP+JavaBean+Mysql的開發(fā)模型 94 系統(tǒng)的功能和流程分析 104.1 系統(tǒng)功能模塊分析 104.2 系統(tǒng)功能模塊的設(shè)計分析 104.3 系統(tǒng)流程分析 114.3.1 前臺購物流程 114.3.2 用戶注冊流程 114.3.3 商品搜索流程 124.3.4 用戶登錄流程 134.3.5 商品管理流程 134.3.6 購物車流程 145 系統(tǒng)功能的具體實現(xiàn) 155.1 系統(tǒng)數(shù)據(jù)庫表的設(shè)計 155.2 功能總體說明 175.2.1 目錄結(jié)構(gòu)說明 175.2.2 主要功能流程 185.2.3 數(shù)據(jù)庫連接交互 185.2.4 首頁最新商品展示模塊 195.2.5 商品搜索模塊 215.2.6 購物車模塊 235.2.7 后臺用戶管理模塊 245.2.8 后臺類別管理模塊 265.2.9 后臺商品管理模塊 275.2.10 后臺訂單管理模塊 305.2.11 后臺統(tǒng)計分析模塊 326 系統(tǒng)環(huán)境搭建及測試 35結(jié)束語 38致謝 39參考文獻 40電子商務(wù)管理系統(tǒng)概述系統(tǒng)的開發(fā)背景電子商務(wù)是指以Internet為主要信息傳輸手段而進行的商務(wù)活動。這里的商務(wù)活動包括以營利為目的而進行的產(chǎn)品買賣活動和服務(wù)提供活動,以及企業(yè)為了實現(xiàn)產(chǎn)品的買賣和服務(wù)的提供而進行的內(nèi)部管理和外部協(xié)調(diào)活動。完整的電子商務(wù)涉及到很多方面,除了買家、賣家外,還要有銀行或金融機構(gòu)、政府機構(gòu)、認(rèn)證機構(gòu)、配送中心等機構(gòu)的加入才行。電子商務(wù)是高科技發(fā)展的產(chǎn)物,所以電子商務(wù)還與技術(shù)有密切關(guān)聯(lián)。另外,法律保障也是電子商務(wù)得以發(fā)展的一個重要環(huán)節(jié)。計算機因特網(wǎng)上網(wǎng)用戶上升,信息產(chǎn)業(yè)迅速發(fā)展,電子技術(shù)發(fā)展,全球上網(wǎng)用戶購買水平提高,各國政府對電子商務(wù)的重視,電子支付手段的發(fā)展,法律體系的不斷完善,這些都將大力推進電子商務(wù)的發(fā)展。近年來,隨著Internet技術(shù)的迅速發(fā)展,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步擴張到傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費者展示出一種新穎的購物理念。電子商務(wù)購物系統(tǒng)作為B2B(BusinesstoBusiness,即企業(yè)對企業(yè)),B2C(BusinesstoCustomer,即企業(yè)對消費者),C2C(CustomertoCustomer,即消費者對消費者)這三種電子商務(wù)模式的前端商務(wù)平臺,在電子商務(wù)這種商務(wù)模式全過程中起著舉足輕重的作用。本文主要考慮的是如何建設(shè)B2C的電子商務(wù)購物系統(tǒng)。網(wǎng)上購物主要依賴于一種具有交互功能的商業(yè)信息系統(tǒng)。它向用戶提供商品動態(tài)信息資源。這些動態(tài)信息是指可能隨時變化的信息,如商品報價。網(wǎng)上購物系統(tǒng)具有強大的交互功能,可使商家和用戶方便的傳遞信息,方便顧客使其足不出戶就能購買到理想的商品。這種全新的交易方式正式電子商務(wù)技術(shù)發(fā)展的產(chǎn)物。在過去的數(shù)年間,阿里巴巴、淘寶、支付寶、百度、當(dāng)當(dāng)們作為時代的先行者為電子商務(wù)的發(fā)展奠定了基礎(chǔ),也培育了B2C市場。時代在發(fā)展,科技在進步,網(wǎng)絡(luò)信息化也更加在完善,電子商務(wù)的發(fā)展更可以說在中國正在萌芽茁壯成長,阿里巴巴的爆發(fā),淘寶的興起等一些電子商務(wù)優(yōu)秀網(wǎng)站,帶給這個時代的不僅是電子商務(wù)的催化作用,而且?guī)Ыo的是為更多的人創(chuàng)造那更多的價值,社會才會反饋給他最大的價值。推動那社會更進一步的發(fā)展。我國電子商務(wù)雖然取得的長足的發(fā)展,但總體水平還比較低,發(fā)展中還存在著諸多問題,其中又以安全和信用問題最為引人關(guān)注。電子商務(wù)的運作,涉及多方面的安全問題,資金安全、信息安全、貨物安全、商業(yè)秘密等等。安全問題如果不能妥善解決,電子商務(wù)的實現(xiàn)就是一句空話。許多用戶不愿進行網(wǎng)上交易,是因為對網(wǎng)上交易的安全性和可靠性持懷疑態(tài)度。信用問題是供需雙方網(wǎng)上交易的基礎(chǔ),相互信任是成交的根本保證。不能排除一些人看到網(wǎng)上廣告立即通過網(wǎng)上付款購買。但對大多數(shù)顧客來說,購買前的認(rèn)真判斷是必須進行的程序。面對信用程度較低,三角債情況嚴(yán)重,假冒偽劣商品泛濫的現(xiàn)實商業(yè)環(huán)境,對電子商務(wù)望而卻步是很自然的。系統(tǒng)實現(xiàn)的目標(biāo)和開發(fā)意義開發(fā)出來一個電子商務(wù)購物系統(tǒng)不僅要有漂亮的網(wǎng)頁,更需要有嚴(yán)謹(jǐn)?shù)囊?guī)劃,注重每一個細(xì)小的環(huán)節(jié)。因為這個系統(tǒng)的用途是顧客能夠在網(wǎng)絡(luò)上完成一個安全的正確的交易,系統(tǒng)開發(fā)過程中都要避免在電子交易時有不必要錯誤發(fā)生。我將使用html、jsp等技術(shù)來編輯網(wǎng)頁,使用javabean技術(shù)完成系統(tǒng)所有的邏輯運算,并運用JDBC技術(shù)把數(shù)據(jù)庫和javabean相關(guān)聯(lián)。電子商務(wù)購物系統(tǒng)的成果為具有前臺模塊和后臺管理模塊,基于web運行的小型電子商務(wù)購物平臺??梢詫崿F(xiàn)基本的網(wǎng)上購物,會員注冊,會員自服務(wù),管理員上傳商品、修改商品、訂單管理等功能。隨著國內(nèi)Internet使用人數(shù)的增加,利用Internet進行網(wǎng)上購物并以銀行卡付款的消費方式已漸流行,市場份額也在迅速增長,電子商務(wù)網(wǎng)站也層出不窮。網(wǎng)上購物給用戶提供方便的購買途徑,只要簡單的網(wǎng)絡(luò)操作,足不出戶,即可送貨上門,并具有完善的售后服務(wù)。同時,在向當(dāng)當(dāng)網(wǎng)這樣的地方購買商品,都能實現(xiàn)送貨上門,貨到付款,使網(wǎng)上購物的安全性得到了保障。這些都是顧客熱衷網(wǎng)上購物和網(wǎng)絡(luò)銷售快速增長的原因。這正是電子商務(wù)時代帶來的變化。電子商務(wù)是一項全新的、具有劃時代意義的重大技術(shù)進步,它的未來發(fā)展還難以預(yù)料。此次畢業(yè)設(shè)計過程中能夠了解和熟悉整個網(wǎng)站的開發(fā)流程及完整的電子商務(wù)網(wǎng)站應(yīng)有的功能和注意事項。設(shè)計和完成一個電子商務(wù)網(wǎng)站的過程中,將會牽涉到許多技術(shù)上的問題,如:動態(tài)網(wǎng)頁制作技術(shù),java面向?qū)ο缶幊碳夹g(shù),后臺數(shù)據(jù)庫的設(shè)計和管理,通過實際的制作個網(wǎng)站,可以避免紙上談兵,在實踐中掌握上述技術(shù)的使用。電子商務(wù)管理系統(tǒng)分析系統(tǒng)的設(shè)計目標(biāo)和可行性分析本系統(tǒng)的平臺利用jsp+javabean+mysql數(shù)據(jù)庫的架構(gòu)實現(xiàn)的,此系統(tǒng)分為前臺管理和后臺管理。前臺管理是友好的操作界面,供用戶瀏覽、查詢使用。包括:瀏覽商品、查詢商品、訂購商品、購物車、用戶自服務(wù)等功能;后臺管理是提供給管理員的,其中包括:商品類別管理、商品管理、用戶管理、訂單處理等。隨著計算機技術(shù)的發(fā)展和網(wǎng)絡(luò)人口的增加,網(wǎng)絡(luò)世界也越來越廣博,越來越豐富,電子商務(wù)已經(jīng)成為網(wǎng)上的一股潮流。我們相信要不了太長有時間,顧客就可以在網(wǎng)絡(luò)世界上獲得他們在現(xiàn)實世界上可以獲得的所有商品和服務(wù)??尚行匝芯渴菫榱伺宄到y(tǒng)開發(fā)的項目是不是可以實現(xiàn)和值得進行研究的過程,實際上是一次大大簡化系統(tǒng)分析和系統(tǒng)設(shè)計的過程,所以,進行可執(zhí)行性的分析是非常必要的,也是很重要的,根據(jù)最初的設(shè)計目標(biāo)和對系統(tǒng)的分析得出以下四點的可行性分析:(1)經(jīng)濟可行性:該系統(tǒng)是本人的畢業(yè)設(shè)計,本人的設(shè)計能力有限,其功能還不能完善,所以沒有任何經(jīng)濟效益。(2)技術(shù)可行性:jsp+javabean+mysql的技術(shù)已經(jīng)較為成熟。(3)運行可行性:該系統(tǒng)需要搭建JVM即JAVA虛擬機和Tomcat服務(wù)器的運行環(huán)境,在此環(huán)境下運行系統(tǒng),并且在正確連接數(shù)據(jù)庫后可以正常運行。(4)法律可行性:該系統(tǒng)是本事沒有經(jīng)濟效益,并且是自主開發(fā)設(shè)計,因此不會構(gòu)成侵權(quán),在法律上是可行的。通過以上的可行性分析,我將采用jsp+javabean+mysql相結(jié)合的技術(shù),對網(wǎng)站系統(tǒng)進行建設(shè)。經(jīng)過以上對此系統(tǒng)開發(fā)的初步分析,確定了該系統(tǒng)的可行性,并著手于開發(fā)本系統(tǒng),為了能夠?qū)ΜF(xiàn)分析設(shè)計的系統(tǒng)內(nèi)容進行充分了解,使所要開發(fā)的系統(tǒng)更具有實用性和適應(yīng)性,調(diào)查研究了淘寶、當(dāng)當(dāng)網(wǎng)等電子商務(wù)平臺。并設(shè)計出該系統(tǒng)功能如下:(1)能夠完成用戶注冊和用戶基本信息的個人修改。(2)能夠完成管理員對網(wǎng)站的商品資料(商品添加、商品修改)、類別管理(類別添加、類別修改)、會員管理(會員刪除)、訂單管理(訂單狀態(tài)更改)的功能。(3)能夠通過商品的名稱,商品的類別進行搜索。(4)用戶可以將搜索到的滿意商品假如購物車。(5)能夠在購物車中對所選商品進行確定、數(shù)量修改。經(jīng)過前一階段的調(diào)查與研究分析,我已確定了該平臺設(shè)計的主要功能,對每個功能模塊也作了具體描述,下面就來具體分析該平臺的設(shè)計特點與具體思想。系統(tǒng)設(shè)計的特點及思路本人設(shè)計的電子商務(wù)購物系統(tǒng)它的主要特點是利用web技術(shù)改變了以往的購物只能過現(xiàn)實的商場才能達到的結(jié)果,借助于計算機互聯(lián)網(wǎng)這一個大的平臺,充分?jǐn)U大信息的傳播空間,提高以往購物的局限性,縮短人們的時間和提高工作效率,具有較好的交互性,從而實現(xiàn)信息化網(wǎng)絡(luò)化的平臺,使整個購物活動過程簡單、方便。網(wǎng)上購物平臺主要是對后臺管理和前臺操作。后臺管理是管理員對本網(wǎng)站的維護,通過商品資料(商品添加、商品修改)、類別管理(類別添加、類別修改)、會員管理(會員刪除)、訂單管理(訂單狀態(tài)更改)等功能達到對網(wǎng)站的管理。前臺操作是用戶登錄到本網(wǎng)站,可以進行用戶注冊,通過網(wǎng)站的商品搜索功能,找到自己滿意的商品,裝入購物車,提交定單進行購買。無論哪個網(wǎng)站都要有它自己的設(shè)計規(guī)則。該系統(tǒng)也一樣,它的主要設(shè)計規(guī)則有:簡單性:在實現(xiàn)系統(tǒng)的功能的同時,盡量讓系統(tǒng)操作簡單易懂,這對于一個網(wǎng)站來說是非常重要的。針對性:該系統(tǒng)設(shè)計是網(wǎng)上購物系統(tǒng)及后臺管理的定向開發(fā)設(shè)計,所以具有專業(yè)突出和很強的針對性。實用性:該系統(tǒng)能完成電子商品展示選購和管理員操作等功能,具有良好的實用性。電子商務(wù)管理系統(tǒng)開發(fā)技術(shù)及主要構(gòu)架開發(fā)技術(shù)的選擇合理的選擇開發(fā)技術(shù),對于網(wǎng)站開發(fā)的完成情況有著非常重要的影響。要開發(fā)一個網(wǎng)站,首先要選擇一個動態(tài)網(wǎng)頁開發(fā)技術(shù)。當(dāng)前比較流行的動態(tài)網(wǎng)頁開發(fā)技術(shù)有JSP、ASP、PHP。它們的特性比較如下:ASP全名ActiveServerPages,,意為“活動服務(wù)器網(wǎng)頁”。ASP是微軟所開發(fā)的一種后臺腳本語言,它的語法和VisualBASIC類似,把后臺腳本代碼內(nèi)嵌到HTML頁面中。ASP是腳本解析語言,運行于IIS。優(yōu)點:無需編譯、易于生成、簡單易用缺點:速度慢、穩(wěn)定性差、無法實現(xiàn)跨操作系統(tǒng)的應(yīng)用PHP是英文超級文本預(yù)處理語言(PHP:HypertextPreprocessor)的縮寫。PHP是一種HTML內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言。PHP獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)新的語法。Php是一種開源的網(wǎng)站程序語言運行于Apache。優(yōu)點:速度快、跨平臺、開發(fā)成本低、良好的安全性缺點:開發(fā)環(huán)境復(fù)雜、不適合應(yīng)用于大型電子商務(wù)站點、開源性高JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它也是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段和JSP標(biāo)記,從而形成JSP文件(*.jsp)。JSP是采用JAVA為程序語言,運行于Tomcat等服務(wù)器。優(yōu)點:系統(tǒng)的多平臺支持、安全性高缺點:開發(fā)成本高、JAVA程序調(diào)試?yán)щy系統(tǒng)的主要架構(gòu)及開發(fā)模式基于B/S的體系結(jié)構(gòu)瀏覽器瀏覽器Web服務(wù)器數(shù)據(jù)庫圖3.1B/S三層架構(gòu)示意圖基于JSP+JavaBean+Mysql的開發(fā)模型JSP+JavaBean+Mysql模型工作原理是:當(dāng)瀏覽器發(fā)出請求時,JSP接收請求并訪問JavaBean。若需要訪問數(shù)據(jù)庫或后臺服務(wù)器,則通過JavaBean連接數(shù)據(jù)庫或后臺服務(wù)器,執(zhí)行相應(yīng)的處理。JavaBean將處理的結(jié)果數(shù)據(jù)交給JSP。JSP提取結(jié)果并重新組織后,動態(tài)生成HTML頁面,返回給瀏覽器。用戶從瀏覽器顯示的頁面中得到交互的結(jié)果。Web服務(wù)器Web服務(wù)器瀏覽器JSP瀏覽器JSP數(shù)據(jù)庫數(shù)據(jù)庫JavaBeanJavaBean圖3.2B/S開發(fā)模型示意圖JSP和JavaBean模型充分利用了JSP技術(shù)易于開發(fā)動態(tài)網(wǎng)頁的特點,頁面顯示層的任務(wù)由JSP(但它也含事物邏輯層的內(nèi)容)承擔(dān),JavaBean主要負(fù)責(zé)事務(wù)邏輯層和數(shù)據(jù)層的工作。JSP和JavaBean這一種模型依靠許多個JavaBean組件實現(xiàn)具體的應(yīng)用功能,生成動態(tài)內(nèi)容,其最大的特點就是簡單。本設(shè)計就是要采用這種模型開發(fā)。系統(tǒng)的功能和流程分析系統(tǒng)功能模塊分析經(jīng)過前期的深入調(diào)查和研究,總結(jié)出該平臺需要完成的一些具體功能,分析如下:用戶管理用戶基本信息錄入的注冊和用戶基本信息的修改。管理員管理管理員對網(wǎng)站的商品管理(商品添加、商品修改)、商品類別管理(類別添加、類別修改)、會員管理(會員刪除)、訂單管理(訂單狀態(tài)修改)的功能。搜索功能能過電子商品的名稱進行搜索。購買功能能夠通過查看購物車對所選商品進行確定、挑選。系統(tǒng)功能模塊的設(shè)計分析在系統(tǒng)功能的分析基礎(chǔ)上,得到本系統(tǒng)的功能模塊圖如下:電子商務(wù)管理系統(tǒng)電子商務(wù)管理系統(tǒng)index.jsp。商品修改用戶管理管理進入類別管理用戶注冊商品管理商品添加會員管理訂單管理類別修改類別添加訂單查看訂單處理商品名稱用戶修改會員刪除商品搜索訂購網(wǎng)站布局圖4.1平臺購物模塊圖系統(tǒng)流程分析前臺購物流程瀏覽商品選擇商品訂購商品去購物車提交訂單瀏覽商品選擇商品訂購商品去購物車提交訂單未注冊用戶已登錄注冊用戶未登錄注冊用戶注冊登錄用戶注冊流程注冊入口注冊入口用戶名有效?密碼有效?2次密碼一致?致?電話號碼?送貨地址?注冊成功圖4.3注冊功能流程圖注冊的具體實現(xiàn)為:點擊主頁面的用戶注冊選項后,會彈出一個注冊信息頁面,用戶填寫用戶名,密碼,電話,地址等各項信息,提交后,系統(tǒng)進行檢測判斷該用戶名是否符合要求,如果符合則進行下一步判斷,用戶輸入的密碼是否有效且兩次密碼是否一致,然后依次往后判斷用戶所填寫的各項信息是否符合要求,直到所有信息均正確無誤,系統(tǒng)將該用戶注冊信息填入數(shù)據(jù)庫表ruser并提示用戶注冊成功,用戶登陸后,就可以進行有效的購物了。商品搜索流程開始搜索開始搜索輸入條件搜索結(jié)果查看商品直接購買車下訂單繼續(xù)搜?是否圖4.4商品搜索流程圖商品的搜索功能使用戶更加方便的進行自己所需要的商品的查詢,節(jié)省時間,提高效率。用戶搜索時只要輸入商品的關(guān)鍵字就能搜索到所有相關(guān)的商品。并且能列出通過搜索得到的商品的詳細(xì)信息。用戶登錄流程登錄入口登錄入口取得user對象將User對象存入session中用戶是否存在密碼是否正確登錄成功是是否否圖4.5用戶登錄流程圖商品管理查詢商品滿意?否返回添加商品是商品管理查詢商品滿意?否返回添加商品是否修改刪除圖4.6商品管理流程圖在該功能里管理員可以進行不需要的商品的刪除,在這里管理員當(dāng)然也可以瀏覽到商品的詳細(xì)信息。購物車流程購物車具體的實現(xiàn)可采用這種形式:定義一個購物車Cart的bean文件。檢查用戶購物車類對象是否存在。如不存在,則創(chuàng)建Cart對象,并將Cart對象存入session中;Cart中有成員變量CartItem,為每一個購物項。購物時,在有Cart對象存在的情況下,檢查該對象中的CartItem對象。如所選商品ID與CartItem中的Productid一致,則只在CartItem中Count屬性加1;如沒有與Productid與所選商品ID一致CartItem,則將創(chuàng)建新的CartItem對象。購物車購物車查看商品滿意嗎下訂單調(diào)整商品是否圖4.7購物車流程圖系統(tǒng)功能的具體實現(xiàn)系統(tǒng)數(shù)據(jù)庫表的設(shè)計在建設(shè)網(wǎng)站系統(tǒng)之前,我們必須對系統(tǒng)所用到的數(shù)據(jù)進行大致的分類和具體的結(jié)構(gòu)設(shè)計,既要做到清晰明了,又要能適應(yīng)系統(tǒng)各項功能的調(diào)用,而不至于產(chǎn)生結(jié)構(gòu)上的邏輯混亂,保證關(guān)鍵數(shù)據(jù)在意外情況下不會被破壞,可以說數(shù)據(jù)庫是系統(tǒng)的重中之重。首先根據(jù)需求畫出了數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計階段E-R圖,概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。圖5.1E-R圖數(shù)據(jù)庫設(shè)計要遵循一些規(guī)則,一個好的數(shù)據(jù)庫滿足一些嚴(yán)格的約束和要求。盡量分離各實體對應(yīng)的表,一個實體對應(yīng)一個表,搞清楚該實體有哪些屬性,對應(yīng)有些什么字段,以及各實體之間有何種聯(lián)系。實體、屬性與聯(lián)系是進行概念設(shè)計時要考慮的三個元素,也是一個好的數(shù)據(jù)庫設(shè)計的核心。從實際出發(fā),經(jīng)過仔細(xì)地設(shè)計,得到各表的設(shè)計如表5.1——5.5所示。表5.1商品信息表product字段名字段類型字段長度說明idint主鍵/自動遞增namevarchar255商品名descrvarchar255描述normalpricedouble市場價memberpricedouble會員價pdatedatetime上柜時間categoryidint類別ID/引用Category表的ID[說明]商品信息表存儲的是每一個商品的信息。其中每個商品必須屬于某一個類別。只能在類別下面添加商品。表5.2會員信息表ruser字段名字段類型字段長度說明idint主鍵/自動遞增usernamevarchar40用戶名passwordvarchar16密碼phonevarchar40電話addrvarchar255地址rdatedatetime注冊時間[說明]會員信息表存儲每一個注冊會員的信息。每一個會員在網(wǎng)站上進行不同操作必須與會員信息聯(lián)系。表5.3類別表category字段名字段類型字段長度說明idint主鍵/自動遞增namevarchar255類別名descrvarchar255描述pidint父類別IDisleafint是否葉子節(jié)點gradeint級別[說明]類別表存儲所有類別的信息。設(shè)置了isleaf字段,只能在葉子節(jié)點類別下添加商品。Grade字段描述了改類別為第幾級的類別。表5.4訂單表salesorder字段名字段類型字段長度說明idint主鍵/自動遞增useridint用戶idaddrvarchar255送貨地址odatedatetime下單時間statusint訂單狀態(tài)/0未處理1/處理成功2/廢單[說明]訂單表存儲每一種會員下的單,其中根據(jù)userid字段知道是哪一位會員的單。根據(jù)addr字段中的地址發(fā)貨。表5.5訂單項表salesitem字段名字段類型字段長度說明idint主鍵/自動遞增productidint商品idunitpricedouble單價pcountint數(shù)量orderidint訂單ID/引用Salesorder表的ID[說明]訂單項表與訂單表相關(guān)聯(lián),用來存儲每一份訂單中的不同的商品信息,一條salesitem表記錄存儲一個購買的商品信息。多個orderid相同的salesitem表中的記錄屬于同一份訂單。功能總體說明目錄結(jié)構(gòu)說明(1)admin用于存儲系統(tǒng)管理員的后臺操作腳本,包括商品類別管理、商品信息管理、訂單管理、系統(tǒng)用戶管理等功能;(2)images下的product文件夾用來存儲商品的圖片資料,由管理員上傳。(3)images下的reports用來存儲商品銷量統(tǒng)計圖表。(4)SQL文件夾下的文件為數(shù)據(jù)庫創(chuàng)建語句。(5)src文件夾用來存儲封裝起來的一些javabean。主要功能流程主頁面主頁面index.jsp。商品修改用戶登陸注冊管理進入添加到購物車類別管理資料修改商品管理商品添加會員管理訂單管理類別修改類別添加訂單查看訂單處理是否會員退出返回搜索物品選購物品填寫訂貨單購物成功會員刪除退出圖5.2主要功能流程圖數(shù)據(jù)庫連接交互將與數(shù)據(jù)庫交互的代碼封裝到DB.java的javabean文件中,以后所有javabean文件中所有需要用到與數(shù)據(jù)庫連接或進行數(shù)據(jù)庫操作時直接使用DB.java中的合適的方法。減少了代碼的重復(fù)度,提高了編程的效率。具體DB.java文件的封裝主要代碼如下。packagewsq.shopping.util;importjava.sql.*;publicclassDB{ publicstaticConnectiongetConn(){ Connectionconn=null; try{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost/Shopping","root","root"); }catch(ClassNotFoundExceptione){ e.printStackTrace(); }catch(SQLExceptione){ e.printStackTrace(); } returnconn;}publicstaticPreparedStatementprepare(Connectionconn,Stringsql){ PreparedStatementpstmt=null; try{ if(conn!=null){ pstmt=conn.prepareStatement(sql); } }catch(SQLExceptione){ e.printStackTrace(); } returnpstmt;}publicstaticResultSetgetResultSet(Connectionconn,Stringsql){ ResultSetrs=null; try{ rs=conn.createStatement().executeQuery(sql); }catch(Exceptione){ e.printStackTrace(); } returnrs;}publicstaticvoidexecuteUpdate(Statementstmt,Stringsql){ try{ if(stmt!=null){ stmt.executeUpdate(sql); } }catch(SQLExceptione){ e.printStackTrace(); }}首頁最新商品展示模塊首先在首頁得到最近的商品信息的一個集合,調(diào)用商品管理類中的方法。List<Product>latestProducts=ProductMgr.getLatestProducts(10);然后將拿到的商品信息通過table展示。<center>最新商品</center> <tablealign="center"> <tr><%for(inti=0;i<latestProducts.size();i++){ Productp=latestProducts.get(i);%> <td> <tableborder="1"align="center"> <tr> <td> <imgheight=90alt="<%=p.getName()%>"src="images/product/<%=p.getId()%>.jpg"width=90border=0> </td> </tr> <tr> <tdheight=18><divalign=center><ahref="productdetailshow.jsp?id=<%=p.getId()%>"><%=p.getName()%></a></div></td></tr> <tr> <td><divalign=center><%=p.getNormalPrice()%></div></td></tr> <tr> <td><divalign=center><%=p.getMemberPrice()%></div></td></tr> </table> </td><%if((i+1)%5==0)out.println("</tr><tr>");}%> </tr></table>圖5.3首頁最新商品展示商品搜索模塊主頁商品搜索模塊采用javascript生成select元素列出所有的一級類別和二級類別。通過表單提交選中類別作為搜索條件,還可以加入商品關(guān)鍵詞進行搜索。使用Ajax技術(shù)通過getchildcategory_2.jsp以及下面的javascript代碼生成一級類別和二級類別select項。varreq;functionchangeCategory(){varid=document.form.category1.options[document.form.category1.selectedIndex];varurl="getchildcategory_2.jsp?id="+escape(id.value); if(window.XMLHttpRequest){ req=newXMLHttpRequest(); }elseif(window.ActiveXObject){ req=newActiveXObject("Microsoft.XMLHTTP"); } req.open("GET",url,true); req.onreadystatechange=callback; req.send(null); }functioncallback(){ if(req.readyState==4){ if(req.status==200){ eval(req.responseText); parseXML(req.responseXML); } }}最后調(diào)用ProductMgr類下的findProducts()方法可以得到搜索結(jié)果。request.setCharacterEncoding("GB18030");List<Product>products=newArrayList<Product>();intpageCount=0;StringkeyWord=null;doublelowNormalPrice=-1;doublehighNormalPrice=-1;doublelowMemberPrice=-1;doublehighMemberPrice=-1;TimestampstartDate=null;TimestampendDate=null;StringstrStartDate=null;StringstrEndDate=null;intpageNo=1;StringstrPageNo=request.getParameter("pageno");if(strPageNo!=null&&!strPageNo.trim().equals("")){ pageNo=Integer.parseInt(strPageNo);}intcategoryId=0;keyWord=request.getParameter("keyword");categoryId=Integer.parseInt(request.getParameter("category2"));int[]idArray;if(categoryId==0){ idArray=null;}else{ idArray=newint[1]; idArray[0]=categoryId;}pageCount=ProductMgr.findProducts(products,idArray,keyWord,lowNormalPrice,highNormalPrice,lowMemberPrice,highMemberPrice,startDate,endDate,pageNo,10); 圖5.4用戶搜索結(jié)果購物車模塊 判斷session中是否存在購物車Cart類的對象,如果有,直接對這個Cart類的對象進行操作。如果沒有,重新創(chuàng)建出一個Cart類的對象cart并將cart對象存入session中。<%Cartcart=(Cart)session.getAttribute("cart");if(cart==null){ cart=newCart(); session.setAttribute("cart",cart);}%>在購物車中添加商品,就是添加一個一個的購物項,所以要創(chuàng)建出一個購物項類CartItem類的對象,然后將選中的商品信息加入這個對象的屬性里面。具體的實現(xiàn)代碼如下。request.setCharacterEncoding("GB18030");intid=Integer.parseInt(request.getParameter("id"));CartItemci=newCartItem();Productp=ProductMgr.loadById(id);ci.setProductId(id);ci.setPrice(p.getNormalPrice());ci.setCount(1);cart.add(ci);調(diào)用loadById方法,傳入選中商品的id號,得到了商品類的對象p。然后將p的變量的屬性設(shè)入CartItem類的對象ci中,最后調(diào)用購物車Cart類的add()方法,將購物項對象ci加入購物車類對象cart中。圖5.5購物車顯示后臺用戶管理模塊管理員登陸后臺后可以查看網(wǎng)站所有的用戶信息,管理員不能隨意修改用戶的信息,當(dāng)用戶做出不合法的行為時,管理員有權(quán)利刪除用戶。首先調(diào)用User類的getUsers()方法拿到所有的用戶對象:List<User>users=User.getUsers();然后將拿到的User類的對象的集合中的元素遍歷展示出來。 <%for(Iterator<User>it=users.iterator();it.hasNext();){Useru=it.next();%><tr> <td><%=u.getId()%></td> <td><%=u.getUsername()%></td> <td><%=u.getPhone()%></td> <td><%=u.getAddr()%></td> <td><%=u.getRdate()%></td> <tdalign="right"> <ahref="UserDelete.jsp?id=<%=u.getId()%>">刪除</a> </td></tr><%}%>調(diào)用User類的delete()方法將用戶刪除。User.delete(id);圖5.6后臺用戶列表后臺類別管理模塊類別設(shè)計可以為多層,對于這個作為畢業(yè)設(shè)計的系統(tǒng),比較合適的類別層數(shù)為兩層。首先可以添加根類別,也就是第一層類別。然后在第一層類別下面添加子類別。StringstrPid=request.getParameter("pid");intpid=0;if(strPid!=null){ pid=Integer.parseInt(strPid);}Stringaction=request.getParameter("action");if(action!=null&&action.trim().equals("add")){ Stringname=request.getParameter("name"); Stringdescr=request.getParameter("descr"); if(pid==0){ Category.addTopCategory(name,descr); }else{ Category.addChildCategory(pid,name,descr); }out.println("成功");圖5.7后臺添加根類別如果通過根類別添加子類別提交過來的話,接收到父類別號pid。由于本頁面表單內(nèi)容是提交給頁面本身。所以提交后要判斷是否是添加處理要求。這兩個數(shù)據(jù)提交的代碼。<inputtype="hidden"name="action"value="add"><inputtype="hidden"name="pid"value="<%=pid%>">如果pid=0,就調(diào)用Category類中添加根類別的方法addTopCategory(),如果pid不為0,就調(diào)用Category類中添加子類別的方法addChildCategory()。圖5.8后臺添加子類別后臺商品管理模塊后臺商品管理模塊包括商品的添加,修改等功能。除此之外,管理員也可以對商品進行搜索,然后對搜索到的商品進行操作。首先要判斷添加商品的類別是不是葉子節(jié)點,只能在葉子節(jié)點下面添加商品。然后將表單數(shù)據(jù)添加成為Product類的對象p的屬性。最后調(diào)用ProductMgr類下的addProduct()方法將新添加的商品信息存入到數(shù)據(jù)庫里面。Categoryc=Category.loadById(categoryId); if(!c.isLeaf()){ out.println("非葉子節(jié)點不能添加商品"); return; }Productp=newProduct();p.setId(-1);p.setName(name);p.setDescr(descr);p.setNormalPrice(normalPrice);p.setMemberPrice(memberPrice);p.setPdate(newTimestamp(System.currentTimeMillis()));p.setCategoryId(categoryId);ProductMgr.addProduct(p);圖5.9后臺添加商品商品信息的修改首先通過loadById()方法拿到一個Product類的對象p,然后修改p對象的屬性為表單提交過來的信息。最后調(diào)用update()方法將更新后的信息存入數(shù)據(jù)庫。Productp=ProductMgr.loadById(id); p.setName(name);p.setDescr(descr);p.setNormalPrice(normalPrice);p.setMemberPrice(memberPrice);p.setCategoryId(categoryId);ProductMgr.update(p); 圖5.10后臺修改商品信息商品的搜索為簡單搜索和復(fù)雜搜索,簡單的搜索選擇要搜索商品的類別,然后輸入關(guān)鍵字進行搜索。首先要將所有葉子節(jié)點的類別列出來,成為復(fù)選框項。代碼如下。<%for(Iterator<Category>it=categories.iterator();it.hasNext();){ Categoryc=it.next(); if(c.isLeaf()){%><inputtype="checkbox"name="categoryid"value="<%=c.getId()%>"><%=c.getName()%><br> <% }else{ %> <%=c.getName()%><br> <% } } %>然后輸入關(guān)鍵字,調(diào)用ProductMgr類下的findProducts()方法搜索兩個條件同時成立的產(chǎn)品。復(fù)雜搜索最多可以添加五個過濾條件,包括類別、關(guān)鍵字、會員價格范圍、普通價格范圍、上架時間范圍。復(fù)雜搜索調(diào)用的方法也是ProductMgr類下的findProducts()方法。ProductMgr.findProducts(products,idArray,keyWord,lowNormalPrice,highNormalPrice,lowMemberPrice,highMemberPrice,startDate,endDate,pageNo,3);圖5.11后臺管理員搜索后臺訂單管理模塊會員下單后每一份訂單都將存入數(shù)據(jù)庫,管理員可以對訂單進行查看及對其狀態(tài)進行修改。所以后臺需要有展示訂單列表的頁面。從orders對象中遍歷出所有的SalesOrder訂單類的對象。然后將其展示在table中。List<SalesOrder>orders=newArrayList<SalesOrder>();intpageCount=OrderMgr.getOrders(orders,pageNo,PAGE_SIZE);<%for(Iterator<SalesOrder>it=orders.iterator();it.hasNext();){SalesOrderso=it.next();%><tr><td><%=so.getId()%></td><td><%=so.getUser().getUsername()%></td><td><%=so.getAddr()%></td><td><%=so.getODate()%></td><td><%=so.getStatus()%></td></tr>圖5.12后臺訂單列表下單后根據(jù)不同的情況每一份訂單都會有不同的狀態(tài)。訂單表中有一個字段status就是用來表示訂單狀態(tài)的,只需對其進行修改就能改變訂單的狀態(tài)。下單人:<%=so.getUser().getUsername()%><formname="form"action="ordermodify.jsp"method="post"><inputtype="hidden"name="action"value="modify"><inputtype="hidden"name="id"value="<%=id%>"><selectname="status"><optionvalue="0">未處理</option><optionvalue="1">已處理</option><optionvalue="2">廢單</option></select><inputtype="submit"value="提交"></form>然后調(diào)用SalesOrder類的對象so的方法setStatus()方法將其status屬性更改,最后調(diào)用so的updateStatus()方法將改變存入數(shù)據(jù)庫。SalesOrderso=OrderMgr.loadById(id);Stringaction=request.getParameter("action");if(action!=null&&action.equals("modify")){intstatus=Integer.parseInt(request.getParameter("status"));so.setStatus(status);so.updateStatus();圖5.13后臺訂單狀態(tài)處理后臺統(tǒng)計分析模塊后臺統(tǒng)計分析模塊使用了jfreechart組件,這個組件可以幫助構(gòu)建出統(tǒng)計分析圖形。創(chuàng)建一個servlet文件用于處理圖片生成,并且將生成的圖片存入計算機硬盤中。處理完成后指向顯示頁面。先從數(shù)據(jù)庫里面拿出相關(guān)的統(tǒng)計信息,然后把從數(shù)據(jù)庫取出的信息放入categoryDataset中。Stringsql="select,sum(pcount)fromproductpjoinsalesitemsion(p.id=ductid)groupbyp.id"; System.out.println(sql); ResultSetrs=DB.getResultSet(stmt,sql);while(rs.next()){ categoryDataset.addValue(rs.getInt(2),"",rs.getString(1)); pieDataset.setValue(rs.getString(1),rs.getInt(2));}分別調(diào)用兩個不同生成圖形的方法生成兩種不同的統(tǒng)計圖形。JFreeChartchartCategory=ChartFactory.createBarChart3D( "產(chǎn)品銷量圖",//圖表標(biāo)題 "產(chǎn)品",//目錄軸的顯示標(biāo)簽 "銷量",//數(shù)值軸的顯示標(biāo)簽 categoryDataset,//數(shù)據(jù)集 PlotOrientation.VERTICAL,//圖表方向:水平、垂直 true, //是否顯示圖例(對于簡單的柱狀圖必須是false) false, //是否生成工具 false //是否生成URL鏈接 );JFreeChartpieChart=ChartFactory.createPieChart( "產(chǎn)品銷量圖",//圖表標(biāo)題 pieDataset, true, //是否顯示圖例(對于簡單的柱狀圖必須是false) false, //是否生成工具 false //是否生成URL鏈接 );最后在硬盤上生成圖片,并定向到顯示頁面。FileOutputStreamcategory_jpg=null;FileOutputStreampie_jpg=null;category_jpg=newFileOutputStream("D:\\JavaProject\\Shopping\\WebRoot\\images\\reports\\productsales.jpg");ChartUtilities.writeChartAsJPEG(category_jpg,1,chartCategory,400,300,null);pie_jpg=newFileOutputStream("D:\\JavaProject\\Shopping\\WebRoot\\images\\reports\\productsales_pie.jpg");ChartUtilities.writeChartAsJPEG(pie_jpg,1,pieChart,400,300,null);this.getServletContext().getRequestDispatcher("/admin/showproductsaleschart.jsp").forward(request,response);圖5.14后臺銷量展示系統(tǒng)環(huán)境搭建及測試安裝配置JDK安裝jdk1.6.0_16到C:\ProgramFiles\Java文件夾下,下面進行環(huán)境變量的配置。右鍵我的電腦—屬性—高級—環(huán)境變量:(1)首先,為了指定命令搜索路徑,在系統(tǒng)變量的PATH變量中增加C:\ProgramFiles\Java\jdk1.6.0_16\bin;。由于PATH變量中原本含有許多項,所以只需在最前面添加上述路徑即可,注意末尾用分號隔開。(2)然后,為了指定類搜索路徑,在系統(tǒng)變量中新建JAVA_HOME變量,變量名JAVA_HOME,變量值為C:\

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論