基于Java的在線購物系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于Java的在線購物系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于Java的在線購物系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于Java的在線購物系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于Java的在線購物系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE分類號:TP311.1UDC:D10621-408-(2007)6057-0密級:公開編號:2003215047成都信息工程學(xué)院學(xué)位論文基于Java的在線購物系統(tǒng)的設(shè)計與實現(xiàn)論文作者姓名:申請學(xué)位專業(yè):申請學(xué)位類別:論文提交日期:基于Java的在線購物系統(tǒng)的設(shè)計與實現(xiàn)摘要電子商務(wù)(ElectronicCommerce)是互聯(lián)網(wǎng)上出現(xiàn)的新概念。它是利用計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和遠程通信技術(shù),實現(xiàn)整個商務(wù)(買賣)過程中的電子化、數(shù)字化和網(wǎng)絡(luò)化。隨著它的廣泛使用,給人們帶來了便利,并逐漸改變了人們的生活方式.國內(nèi)在線購物網(wǎng)站多數(shù)是用ASP,PHP技術(shù)實現(xiàn)的,而基于JSP的優(yōu)秀網(wǎng)站較少。本系統(tǒng)——網(wǎng)上圖書超市采用JSP+JavaBean+SQLServer數(shù)據(jù)庫三層模式設(shè)計并實現(xiàn)。本論文詳細(xì)地闡述了系統(tǒng)的需求分析、系統(tǒng)總體架構(gòu)、詳細(xì)設(shè)計以及模塊的實現(xiàn)過程,主要實現(xiàn)了以下模塊功能:會員注冊、登錄/注銷;用戶管理;瀏覽圖書詳細(xì)信息;圖書搜索;圖書管理;購物車;訂單;訂單管理等。關(guān)鍵詞:JSP;SQLServer;JavaBean;在線購物DesignandImplementationofonlineshoppingsystembasedonJavaAbstractElectroniccommenceoverInternetisanewconcept.Torealizeelectronic,digitalandnetworkingcommerce,computertechnology,networktechnologyandtelecommunicationsareused.Withitswidelyused,itbringspeoplewithalotofconvenience,andischangingthewayofpeople’slife.MostdomesticonlineshoppingwebsitesareimplementedwithASP,PHP,andfewarebasedonJSP.Thissystem——web-basedbookstoreisimplementedwithJSP,JavaBean,andSQLServerdatabaseinthree-tiermodel.Inthepaper,requirementsanalysis,generalframework,detaileddesignandrealizationofeachmoduleareintroduced.Thesemodulesincludesmemberregistration,loginin/loginout,usermanagement,browsingbooksdetailedinformation,searchingbook,librarymanagement,theshoppingcar,ordersandordersmanagementetc.Keywords:JSP;SQLServer;JavaBean;OnlineShopping目錄論文總頁數(shù):29頁1 引言 11.1 課題背景 11.2 國內(nèi)外研究現(xiàn)狀 11.3 本課題的研究方法 22 關(guān)于JSP 22.1 JSP簡介 22.2 JSP的運行原理 22.3 JSP頁面的組成 32.4 JSP的運行環(huán)境 32.5 JavaBean技術(shù)介紹 43 需求分析 43.1 系統(tǒng)說明 43.2 系統(tǒng)功能簡介 44 系統(tǒng)設(shè)計 54.1 功能模塊 54.2 系統(tǒng)設(shè)計思想 64.3 系統(tǒng)總體流程 64.4 網(wǎng)站架設(shè) 74.4.1開發(fā)環(huán)境 74.4.2建立站點 74.5 數(shù)據(jù)庫設(shè)計 75 系統(tǒng)實現(xiàn) 95.1 編寫JavaBean 95.1.1數(shù)據(jù)庫操作的JavaBean的實現(xiàn) 105.1.2字符串處理的JavaBean的實現(xiàn) 105.1.3保存購物信息的JavaBean的實現(xiàn) 105.2 網(wǎng)站前臺主要功能模塊實現(xiàn) 115.2.1網(wǎng)站前臺首頁設(shè)計 115.2.2重點推薦展臺的實現(xiàn)過程 115.2.3新書上架實現(xiàn)過程 135.2.4圖書分類實現(xiàn)過程 135.2.5用戶管理實現(xiàn)過程 145.2.6購物車實現(xiàn)過程 155.2.7生成訂單實現(xiàn)過程 195.2.8訂單查詢實現(xiàn)過程 205.2.9銷售排行實現(xiàn)過程 205.3 網(wǎng)站后臺主要功能模塊設(shè)計 215.3.1后臺登錄實現(xiàn)過程 215.3.2圖書管理頁面實現(xiàn)過程 215.3.3用戶管理實現(xiàn)過程 235.3.4訂單管理實現(xiàn)過程 245.3.5公告管理實現(xiàn)過程 255.3.6退出系統(tǒng)實現(xiàn)過程 256 系統(tǒng)測試 256.1 測試環(huán)境 256.2 測試結(jié)果 26總結(jié) 26參考文獻 27致謝 28聲明 29第30頁共29頁第1頁共36頁引言課題背景隨著Internet國際互聯(lián)網(wǎng)的發(fā)展,越來越多的企業(yè)開始建造自己的網(wǎng)站。基于Internet的信息服務(wù),商務(wù)服務(wù)已經(jīng)成為現(xiàn)代企業(yè)一項不可缺少的內(nèi)容。很多企業(yè)都已不滿足于建立一個簡單的僅僅能夠發(fā)布信息的靜態(tài)網(wǎng)站?,F(xiàn)代企業(yè)需要的是一個功能強大的,能提供完善的電子商務(wù)服務(wù)的動態(tài)商務(wù)網(wǎng)站。JSP是Sun公司推出的一種網(wǎng)站開發(fā)技術(shù),Sun公司借助自己在Java上的不凡造詣,又把人們引進JSP時代,JSP即JavaServerPage,它可以在Servlet和JavaBean的支持下,完成功能強大的Web應(yīng)用程序。JSP網(wǎng)站架設(shè)將成為未來網(wǎng)站架設(shè)的趨勢,而國內(nèi)電子購物網(wǎng)站多數(shù)是用ASP,PHP技術(shù)實現(xiàn)的,而基于JSP的優(yōu)秀網(wǎng)站較少。所以,在我的畢業(yè)設(shè)計中,我采用了JSP作為開發(fā)工具,構(gòu)建了一個能實現(xiàn)簡單的電子商務(wù)的小型動態(tài)商務(wù)網(wǎng)站——網(wǎng)上圖書超市銷售系統(tǒng)。該系統(tǒng)能實現(xiàn)用戶的注冊、登錄功能;能夠?qū)崿F(xiàn)商品的查詢,訂購等功能。該系統(tǒng)基本上具備一個網(wǎng)上商品銷售系統(tǒng)應(yīng)該具備的功能,該設(shè)計項目基本上體現(xiàn)了構(gòu)建一個動態(tài)商務(wù)網(wǎng)站所需要的技術(shù),可以說,目前的大型商務(wù)網(wǎng)站也就是我們這個小型網(wǎng)站在內(nèi)容上的擴充和重復(fù)。國內(nèi)外研究現(xiàn)狀伴隨著Internet向我們大踏步走來,國內(nèi)外網(wǎng)上交易已開始逐步普及,電子商務(wù)將成為21世紀(jì)主流的商業(yè)模式。網(wǎng)上圖書超市作為電子商務(wù)中的一種,是隨著這些網(wǎng)絡(luò)技術(shù)的發(fā)展而出現(xiàn)的一種新型圖書銷售渠道。它通過人與電子通信方式的結(jié)合,依靠計算機網(wǎng)絡(luò),以通訊技術(shù)為基礎(chǔ),實現(xiàn)圖書銷售的網(wǎng)上交易。網(wǎng)上圖書超市同傳統(tǒng)的店面書店相比,網(wǎng)上圖書超市的經(jīng)營方式和銷售渠道是全新的;它24小時的全天候和全方位服務(wù)是店面書店所不能比及的;成本低廉更是開設(shè)網(wǎng)上圖書超市的主要原因。而與其他商品相比,書籍運送幾乎不怕碰撞碎裂,不具時效性;同時書本具有功能單一,形式簡單,易于判斷和選擇而獨具優(yōu)勢,最適合于網(wǎng)上交易;再次是單價低,降低了消費者第一次在網(wǎng)絡(luò)購物的門檻,所以網(wǎng)上圖書超市成了電子商務(wù)的先鋒?,F(xiàn)在這一切正在朝著更人性化的方向發(fā)展。隨著Internet技術(shù)的迅速發(fā)展和日益普及,市場競爭日益激烈,利用網(wǎng)絡(luò)進行服務(wù)和管理已經(jīng)成為一種趨勢.網(wǎng)絡(luò)的發(fā)展給用戶帶來了很大的方便,風(fēng)起云涌的網(wǎng)站在炒足了"概念"之后,都紛紛轉(zhuǎn)向了"務(wù)實",而"務(wù)實"比較鮮明的特點之一:是絕大多數(shù)的網(wǎng)站都在試圖做實實在在的"網(wǎng)上交易",所謂網(wǎng)上交易就是利用計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和遠程通信技術(shù),實現(xiàn)整個商務(wù)(買賣)過程中的電子化、數(shù)字化和網(wǎng)絡(luò)化,它具有如下優(yōu)勢:(1)更廣闊的環(huán)境:人們不受時間的限制,不受空間的限制,不受傳統(tǒng)購物的諸多限制,可以隨時隨地在網(wǎng)上交易。(2)更廣闊的市場:在網(wǎng)上這個世界將會變得很小,一個商家可以面對全球的消費者,而一個消費者可以在全球的任何一家超市購物。(3)更快速的流通和低廉的價格:網(wǎng)上超市減少了商品流通的中間環(huán)節(jié),節(jié)省了大量的開支,從而也大大降低了商品流通和交易的成本。(4)更符合時代的要求:如今人們越來越追求時尚、講究個性,注重購物的環(huán)境,網(wǎng)上購物,更能體現(xiàn)個性化的購物過程。本課題的研究方法本次畢業(yè)設(shè)計應(yīng)首先分析淘寶網(wǎng)、易趣網(wǎng)等購物網(wǎng)站的相關(guān)功能,結(jié)合本次畢業(yè)設(shè)計的相關(guān)要求寫出需求分析;其次,綜合運用以前所學(xué)的相關(guān)知識(包括計算機網(wǎng)絡(luò)技術(shù)、相關(guān)協(xié)議、信息安全、JSP等相關(guān)知識等),選擇所熟悉的開發(fā)工具進行本畢業(yè)設(shè)計的開發(fā);在設(shè)計中以需求分析為基礎(chǔ),寫出系統(tǒng)開發(fā)計劃、實現(xiàn)流程及相關(guān)問題的實現(xiàn)方法。關(guān)于JSPJSP簡介JSP(JavaServerPages)是一種建立在Servlet規(guī)范提供的功能之上的動態(tài)網(wǎng)頁技術(shù),和ASP類似,它們都是在通常的網(wǎng)頁文件中嵌入腳本代碼,用于產(chǎn)生動態(tài)內(nèi)容,不過JSP文件中嵌入的是JAVA代碼和JSP標(biāo)記。JSP文件在用戶第一次請求時,會被編譯成Servlet,然后由這個Servlet處理用戶的請求,所以JSP也可以看成是運行時的Servlet。Servlet是JAVA對CGI的回應(yīng)。它們在服務(wù)器上執(zhí)行和解釋瀏覽器的請求,承擔(dān)客戶端和其他應(yīng)用程序之間的中間層的角色。Servlet主要是把動態(tài)的內(nèi)容混合到靜態(tài)的內(nèi)容中以產(chǎn)生HTML。JSP頁面在HTML元素中潛入JAVA腳本代碼和JSP標(biāo)記,使得文件長度變短,格式更加清晰。另一方面,JSP把靜態(tài)和動態(tài)的內(nèi)容分離開來,實現(xiàn)了內(nèi)容和表示的分離。使用JSP,不需要單獨配置每一個文件,只要擴展名是.jsp,JSP容器(也是Servlet容器)就會自動識別,將其轉(zhuǎn)換為Servlet為客戶端服務(wù)。術(shù)語WEB容器和JSP容器是同義的。JSP的運行原理在JSP第一次獲得來自于客戶端瀏覽器的請求時,JSP文件將被JSP引擎(JSPengine)轉(zhuǎn)換成一個Servlet,即將”.jsp”文件編譯成JavaClass文件。當(dāng)Servlet引擎接收到請求后,如果設(shè)置了使用最新的JSP,它就會去找JSP文件,檢查該文件在上次編譯后是否改動過。如果改動過,就會重新編譯生成新的Servlet,最終將請求轉(zhuǎn)交給編譯好的Servlet引擎執(zhí)行。在編譯時如果發(fā)現(xiàn)JSP文件有任何語法錯誤,轉(zhuǎn)換過程將中斷,并向客戶端發(fā)出出錯信息;如果編譯成功,則所轉(zhuǎn)換產(chǎn)生的Servlet代碼被編譯,然后該Servlet被JSP引擎加載到內(nèi)存中。此時JSP引擎還請求了jspInit()方法的執(zhí)行,并對此Servlet初始化。JspInit()方法在Servlet的生命周期中只被請求一次,然后將被調(diào)用來處理客戶端的請求和回復(fù)操作。對于所有隨后對該JSP文件的請求,服務(wù)器將檢查該JSP文件自最后一次被存取后是否經(jīng)過修改。如果沒有修改,則將請求交還給還在內(nèi)存中的Servlet的jspService()方法,執(zhí)行回復(fù)操作。由于Servlet始終駐于內(nèi)存,所以響應(yīng)是非常快的。Jsp頁面在第一次訪問時由于要轉(zhuǎn)化和編譯,運行速度較慢,但是當(dāng)?shù)诙卧L問該頁時,由于文件已經(jīng)被編譯成字節(jié)碼文件了,所以速度非常得快。JSP頁面的組成JSP頁面看上去像標(biāo)準(zhǔn)的HTML和XML頁面,并附帶有JSP引擎能夠處理和解析執(zhí)行的代碼與組件。通常,JSP代碼和組件用于創(chuàng)建在最終頁面上顯示的文本。通常來說,JSP頁面包括編譯指令,聲明,表達式等內(nèi)容。(1)編譯指令:使用JSP編譯指令(〈%@和%〉內(nèi)的)來指定所使用的腳本語言,Servlet實現(xiàn)的接口,Servlet擴展的類,Servlet導(dǎo)入的軟件包。JSP指令的一般語法形式為:<%@指令名=“值”%>。(2)聲明:用于聲明合法的變量和方法。與任何語言相同,JSP語言使用變量來保存數(shù)據(jù)。這些變量用declaration元素聲明,聲明的語法為<%!declaration(s)%>。當(dāng)頁面被初始化的時候,JSP頁面中的所有聲明都被初始化。除了簡單的變量,方法也能被聲明。聲明不對當(dāng)前的輸出流產(chǎn)生任何影響。(3)表達式:通過計算表達式所得到的結(jié)果來表示某個值。表達式的形式為:<%=expression>。表達式求值的結(jié)果被強制轉(zhuǎn)換為一個字符串,并插入到當(dāng)前的輸出流中。JSP的運行環(huán)境要運行Jsp(注意,不是瀏覽Jsp頁面),需要有支持Jsp的服務(wù)器。這里分2種情況:一種是自身就支持Jsp的服務(wù)器,如Jrun,Weblogic,JSWDK等;而另一種則是在不支持Jsp的服務(wù)器上安裝Jsp引擎的插件,如在IIS,Apache等服務(wù)器上安裝WebSphere,tomcat,Resin等插件。其中主流服務(wù)器是Weblogic和tomcat.Tomcat服務(wù)器是ApacheGroupJakarta小組開發(fā)的一個免費服務(wù)器軟件,適合于嵌入Apache中使用,而且,它的源代碼可以免費獲得,你可以自由地對它進行擴充。訪問的地址http://jakarta./tomacat/index.html,Tomcat服務(wù)器的兼容性很好,如WebLogic服務(wù)器采用其為Web服務(wù)器引擎,Jbuilder將其作為標(biāo)準(zhǔn)的測試服務(wù)器,Sun公司也將其作為JSP技術(shù)應(yīng)用的示例服務(wù)器。不足之處是它的配置比較麻煩,而且有一些安全性的問題沒有解決。但是Tomcat服務(wù)器有眾多大軟件公司的支持,而且服務(wù)器的性能穩(wěn)定,其發(fā)展前景很好。JavaBean技術(shù)介紹JavaBean技術(shù)是一種基于Java的組件技術(shù),JavaBean組件可以用來執(zhí)行復(fù)雜的計算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫的交互以及數(shù)據(jù)的提取等,是解決代碼重用問題的一種策略。以前的組件無法實現(xiàn)真正的代碼重用,其主要原因就是它們對于處理平臺的依賴和對開發(fā)語言的依賴過重。由于Java語言在這些方面所具有的特點和優(yōu)勢,使得基于它的軟件JavaBean組件技術(shù)倍受人們的關(guān)注。它的任務(wù)就是:一次編寫,可以在任何地方執(zhí)行,可以在任何地方重用。JavaBean組件可以在任何地方?jīng)_用包括了可以在應(yīng)用程序、其他組件、文檔、Web站點和應(yīng)用程序構(gòu)造器工具等多種方案中再利用。為了創(chuàng)建和使用Java軟件組件,JavaBean被實現(xiàn)為一種獨立于平臺和結(jié)構(gòu)的應(yīng)用程序接口,它的實現(xiàn)可忽略內(nèi)部的結(jié)構(gòu)及細(xì)節(jié)問題,只需要定義其外部的特征及對外功能就行。其中,屬性、方法和事件三種接口可以獨立對外進行開發(fā)。JavaBean的實質(zhì)就是一個.class文件,也可以成為類文件。JavaBean以binary格式保存,可以保護Java源代碼不容易被他人抄襲。需求分析系統(tǒng)說明本系統(tǒng)是一個中小型的電子商務(wù)系統(tǒng)網(wǎng)上圖書超市,可以為各類用戶提供方便的在線買書環(huán)境,符合目前國內(nèi)流行的電子商務(wù)模式。用戶可以在系統(tǒng)中實現(xiàn)注冊、瀏覽圖書、搜索查詢圖書、下訂單、處理訂單等功能;管理員可以通過用戶管理、訂單管理、圖書管理、公告管理、投票管理等管理功能來對系統(tǒng)進行維護更新。系統(tǒng)功能簡介網(wǎng)上圖書超市系統(tǒng)是一個典型的JSP數(shù)據(jù)庫開發(fā)應(yīng)用程序,由前臺商品展示及銷售、后臺管理2部分組成。前臺商品展示及銷售該部分主要包括新書上架、重點推薦、銷售排行、購物車、會員管理、收銀臺及訂單查詢、商品查詢等。后臺管理該部分主要對商城內(nèi)的一些基礎(chǔ)數(shù)據(jù)進行有效管理,包括圖書管理、用戶管理、訂單管理、公告管理等。系統(tǒng)設(shè)計功能模塊網(wǎng)上圖書超市的前臺功能結(jié)構(gòu)如圖1所示圖書超市前臺圖書超市前臺圖書展臺收銀臺會員管理購物車網(wǎng)上調(diào)查重點推薦新書上架訂單查詢銷售排行圖書分類瀏覽網(wǎng)上調(diào)查查看調(diào)查結(jié)果添加至購物車清空購物車移出圖書查看購物車填寫訂單信息購書結(jié)帳會員注冊會員資料修改會員登錄訂單查詢圖1前臺功能結(jié)構(gòu)圖網(wǎng)上圖書超市的后臺功能結(jié)構(gòu)如圖2所示圖書超市后臺圖書超市后臺圖書管理用戶管理訂單管理公告管理投票管理退出查看圖書信息添加圖書信息修改圖書信息刪除圖書信息查看用戶信息凍結(jié)/解凍查看訂單信息執(zhí)行訂單查看公告信息添加公告信息刪除公告信息瀏覽投票項目添加投票項目刪除投票項目退出后臺管理圖2后臺功能結(jié)構(gòu)圖系統(tǒng)設(shè)計思想本系統(tǒng)采用三層架構(gòu)設(shè)計,它的工作原理如圖3所示。圖3三層架構(gòu)拓?fù)鋱D采用三層構(gòu)架以后,用戶界面層通過統(tǒng)一的接口向業(yè)務(wù)層發(fā)送請求,業(yè)務(wù)層按自己的邏輯規(guī)則將請求處理之后進行數(shù)據(jù)庫操作,然后將數(shù)據(jù)庫返回的數(shù)據(jù)封裝成類的形式返回給用戶界面層。這樣用戶界面層甚至可以不知道數(shù)據(jù)庫的結(jié)構(gòu),它只要維護與業(yè)務(wù)層之間的接口即可。系統(tǒng)總體流程圖4用戶流程圖由于后臺管理流程圖與用戶流程圖基本相同,因此只例出如圖4用戶流程圖網(wǎng)站架設(shè)4.4.1開發(fā)環(huán)境硬件平臺:CPU:P41.8GHz;內(nèi)存:256MB以上。軟件平臺:操作系統(tǒng):Windows2000Server;數(shù)據(jù)庫:SQLServer2000;開發(fā)工具包:JDKVersion1.5JSP服務(wù)器:Tomcat5.5瀏覽器:IE5.0及以上版本,推薦使用IE6.0;分辨率:最佳效果1024×768。JDBC驅(qū)動:JDBC—ODBCDriver4.4.2建立站點在Tomcat5.5\webapps文件夾下以網(wǎng)上圖書超市系統(tǒng)的名稱BookSupermarket建立文件夾,然后在BookSupermarket下建立WEB-INF(注意全部是大寫)文件夾,最后在WEB-INF下建立classes文件夾,lib文件夾及web.xml保存類文件,需要的包保存儲信息及站點的信息。數(shù)據(jù)庫設(shè)計本系統(tǒng)數(shù)據(jù)庫采用SQLServer2005數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為db_bookmanage,共包含8張表,根據(jù)項目的需求建立相應(yīng)的數(shù)據(jù)表的設(shè)計結(jié)果如下面所示:表1圖書信息表tb_bookinfo字段名數(shù)據(jù)類型長度允許空說明ISBNvarchar15圖書ISBN號,主鍵BookNamevarchar200圖書名Typevarchar50圖書類別名稱publishervarchar100出版社名稱Writervarchar100作者Introducetext16yes圖書簡介Pricemoney8價格pDatevarchar50yes出版日期covervarchar100yes圖書的封面文件名稱INTimedatetime8圖書信息錄入時間newbookint4標(biāo)志是否為新書commendint4yes標(biāo)志是否推薦該圖書,1為推薦,默認(rèn)值為0表不推薦表2用戶信息表tb_Member字段名數(shù)據(jù)類型長度允許空說明IDint4主鍵自動編號,用戶ID號usernamevarchar4no用戶名TrueNamevarchar20no用戶的真實姓名PassWordvarchar20用戶密碼cityvarchar20所在城市addressvarchar100聯(lián)系地址Postcodevarchar6郵政編碼CardNOvarchar24yes證件號碼CardTypevarchar20yes證件類型gradeint4yes用戶等級Amountmoney8yes消費金額Telvarchar20yes聯(lián)系電話Emailvarchar100Email地址freezeint4yes是否被凍結(jié),為1表示被凍結(jié),為0表示未被凍結(jié)表3訂單信息主表tb_Order字段名數(shù)據(jù)類型長度允許空說明OrderIDbigint8自動編號,訂單編號bnumbersmallint2品種數(shù)usernamevarchar15用戶名Truenamevarchar15用戶真實姓名addressvarchar100聯(lián)系地址postcodevarchar10郵政編碼telvarchar20聯(lián)系電話emailvarchar100E-mail地址payvarchar20付款方式carryvarchar20運送方式rebatefloat8折扣OrderDatesmalldatetin4訂單日期bzvarchar200yes備注信息enforceint4yes標(biāo)志是否被執(zhí)行,值1表示已被執(zhí)行,為0表示未被執(zhí)行表4訂單信息明細(xì)表tb_order_detail字段名數(shù)據(jù)類型長度允許空說明IDbigint8訂單信息明細(xì)的自動編號orderIDbigint8訂單號ISBNvarchar20圖書ISBN號pricemoney8單價numerint4購買數(shù)量表5折扣信息表tb_rebate字段名數(shù)據(jù)類型長度允許空說明gradevarchar20自動編號,等級Amountmoney8消費金額rebatefloat8打折比率表6管理員信息表tb_manager字段名數(shù)據(jù)類型長度允許空說明IDint4自動編號managervarchar30管理員名稱PWDvarchar30密碼表7公告信息表tb_BBS字段名數(shù)據(jù)類型長度允許空說明IDint4自動編號contentvarchar4000公告內(nèi)容INTimedatetime8yes公告的內(nèi)容,默認(rèn)值為getdate()表8投票信息表tb_Poll字段名數(shù)據(jù)類型長度允許空說明IDint4自動編號optionNamevarchar50投票項目pollint4票數(shù),默認(rèn)為0系統(tǒng)實現(xiàn)編寫JavaBean根據(jù)系統(tǒng)的需求編寫需要的JavaBean。下面將給出網(wǎng)上圖書超市需要的JavaBean的編寫過程。5.1.1數(shù)據(jù)庫操作的JavaBean的實現(xiàn)在系統(tǒng)開發(fā)過程中經(jīng)常需要對數(shù)據(jù)庫操作,這就需要連接數(shù)據(jù)庫和操作數(shù)據(jù)庫(包括數(shù)據(jù)的插入,更新,刪除和查詢等),數(shù)據(jù)庫操作的JavaBean是一個公共類,通常包括連接數(shù)據(jù)庫的方法getConnection、執(zhí)行查詢語句的方法executeQuery、執(zhí)行更新操作的方法executeUpdate、關(guān)閉數(shù)據(jù)庫連接的方法close。因此程序開發(fā)就可以將連接數(shù)據(jù)庫和操作數(shù)據(jù)庫的代碼寫成了一個JavaBean“connDB.java”,編寫完成后將其源代碼放到Tomcat5.5\webapps\BookSupermarket\WEB-INF\src\beans文件夾中。(1)指定JavaBean“connDB”保存的包,并導(dǎo)入所需的類包,并將其保存到“beans”包中。(2)在構(gòu)造方法connDB中定義該類中所需的變量。通常將方法中常用的變量均放在構(gòu)造方法中。(3)創(chuàng)建執(zhí)行查詢語句的方法executeQuery,返回值為ResultSet結(jié)果集。(4)創(chuàng)建執(zhí)行更新操作的方法executeUpdate,返回值為int型的整數(shù),代表更新的行數(shù)。(5)創(chuàng)建執(zhí)行更新操作,并返回該操作中自動編號字段的自動編號的方法executeUpdate_id。(6)創(chuàng)建關(guān)閉數(shù)據(jù)庫連接的方法close。(7)編譯connDB.java,用“javacconnDB.java”,生成connDB.class,將其放到Tomcat5.5\webapps\BookSupermarket\WEB-INF\classes\beans文件夾中。5.1.2字符串處理的JavaBean的實現(xiàn)字符串處理的JavaBean是解決程序中經(jīng)常出現(xiàn)的有關(guān)字符串處理問題的方法的類。包括將數(shù)據(jù)庫中及頁面中有中文問題的字符串進行正確的顯示和存儲的方法chStr和將字符串中的回車換行、空格及HTML標(biāo)記符正確顯示的方法convertStr兩個方法。下面是編寫網(wǎng)上圖書超市的字符串處理的JavaBean“chStr”的詳細(xì)過程。(1)編寫解決輸出中文亂碼問題的方法chStr。(2)接著編寫顯示文本中的回車換行、空格及保證HTML標(biāo)記的正常輸出的方法convertStr。5.1.3保存購物信息的JavaBean的實現(xiàn)在購物車程序中需要使用一個bookelement對象保存所選圖書信息,生成該對象的JavaBean“bookelenent.java”程序代碼。網(wǎng)站前臺主要功能模塊實現(xiàn)5.2.1網(wǎng)站前臺首頁設(shè)計根據(jù)前期的分析及客戶的要求,網(wǎng)上圖書超市的前臺主要包括重點推薦展臺,新書上架,圖書分類,圖書查詢,用戶管理,購物車,訂單生成,訂單查詢和銷售排行等模塊。在網(wǎng)上超市前臺首頁的運行結(jié)果如下圖5所示圖5首頁5.2.2重點推薦展臺的實現(xiàn)過程(1)在網(wǎng)站前臺的居中位置,分欄列出了超市推薦的圖書信息,主要包括圖書封面,名稱,出版社,作者及定價等信息。同時列置了“添加至購物車”按鈕和“查看”按鈕,分別用于將圖書添加至購物車和查看圖書的詳細(xì)信息。重點推薦圖書信息同圖書基本信息同時保存在圖書信息表tb_bookinfo中,以字段commend標(biāo)識,當(dāng)commend字段的值為1時,代表該圖書為重點推薦圖書。查詢重點推薦圖書的代碼如下:<%ResultSetrs_book=connDB.executeQuery("select*fromtb_bookinfowherecommend=1");%>這里需要注意的是,“添加購物車”按鈕只有在用戶登錄后才可以顯示,即是只有登錄的用戶才可以購買圖書。(2)根據(jù)圖書的ISBN號查詢圖書的詳細(xì)信息,圖書詳細(xì)頁面的運行結(jié)果如圖6所示:圖6圖書簡介在book_detail.jsp頁面中首先查詢符合ISBN值的圖書信息,關(guān)鍵代碼如下:<%ResultSetrs=connDB.executeQuery("select*fromtb_bookinfowhereISBN='"+request.getParameter("ISBN")+"'");%>將查詢結(jié)果顯示到頁面中,此時需要對“圖書簡介”進行處理,以便正確顯示回車換行和空格符。關(guān)鍵代碼如下:<% if(rs.next()){ //注意:此處只能按照字段的順序讀取 StringISBN=rs.getString("ISBN"); Stringbookname=rs.getString("BookName"); Stringpublisher=rs.getString("publisher"); Stringwriter=rs.getString("writer"); StringIntroduce=chStr.convertStr(rs.getString("Introduce")); intprice=rs.getInt("Price"); StringpDate=rs.getString("pDate"); Stringcover=rs.getString("cover"); %> ……//此處省略了顯示圖書信息的HTML代碼 <%}%>5.2.3新書上架實現(xiàn)過程在前臺首頁中,單擊“新書上架”超鏈接可以進入到新書上架頁面newbook.jsp,運行結(jié)果如圖7圖7新書上架上架新書消息保存在圖書信息表tb_bookinfo中,以字段newbook標(biāo)志,當(dāng)newbook字段的值為1時,代表該圖書為上架新書。上架新書頁面關(guān)鍵代碼:<%ResultSetrs_newbook=connDB.executeQuery("select*fromtb_bookinfowherenewbook=1orderbyINTimedesc");%>5.2.4圖書分類實現(xiàn)過程為了方便用戶查詢所需圖書信息,在網(wǎng)站中設(shè)置了圖書分類顯示模塊。單擊導(dǎo)航條中的“圖書分類”超鏈接即可進入圖書分類顯示頁面,在該頁面左的“圖書分類列表”中列出數(shù)據(jù)庫中的全部圖書類別,用戶單擊即可在右顯示該圖書信息列表,單擊書名可以查看相應(yīng)圖書的詳細(xì)信息,如果用戶已經(jīng)登錄,還可以直接將圖書信息添加到購物車中,圖書分類顯示頁面的運行結(jié)果如圖8圖8圖書分類在圖書分類頁面BookSort.jsp左的“圖書分類列表”中列出了數(shù)據(jù)庫中的全部圖書類別,查詢圖書類別主要通過Select語句的GroupBy字句實現(xiàn),具體過程:<%ResultSetrs_Type=connDB.executeQuery("selectTypefromtb_bookinfogroupbyType");%>顯示圖書分類信息時,需要注意的是,不能再使用while語句,而應(yīng)該使用do…while語句,否則少一條記錄,這是因為在指定圖書默認(rèn)類別時,已經(jīng)應(yīng)用rs_Type.next()語句將記錄指針移動到下一條記錄了,顯示圖書分類信息的關(guān)鍵代碼:<%rs_Type.first(); do{//此處必須用do...while,否則會少一條記錄 StringType=rs_Type.getString("Type"); %> ……//此處省略填寫訂單信息代碼 <%}while(rs_Type.next());%>在圖書分類頁面BookSort.jsp的右側(cè)的圖書列表中將顯示指定類別的圖書信息。當(dāng)用戶沒有選擇類別,可以通過獲取類別結(jié)果集rs_Type中的第一條記錄的值指定默認(rèn)類別,否則應(yīng)用request對象的getParameter方法來獲取選擇的類別并查詢,部分代碼:StringPType="";if(request.getParameter("Type")!=null){ PType=chStr.chStr(request.getParameter("Type"));}else{ if(rs_Type.next()){ PType=rs_Type.getString("Type"); }else{response.sendRedirect("index.jsp"); }}ResultSetrs_book=connDB.executeQuery("select*fromtb_bookinfowhereType='"+PType+"'");%>5.2.5用戶管理實現(xiàn)過程用戶管理主要包括用戶注冊,用戶登錄,用戶個人資料修改,由于用戶個人資料修改比較簡單,不多做說明。用戶注冊為了統(tǒng)一管理,系統(tǒng)規(guī)定只有會員才能購買圖書,所以要購買圖書的新用戶必須先進行用戶注冊。用戶注冊的入口位置在網(wǎng)站首頁的左側(cè)。用戶點擊“注冊”即可進入用戶注冊頁面,如圖9圖9用戶注冊網(wǎng)站要求用戶名必須唯一,用戶可以先看自己的用戶名是否被注冊。由于是網(wǎng)絡(luò)程序,所以注冊后在保存用戶信息時候,還需要再次對注冊用戶進行檢測。如果不存在,則保存該用戶信息。否則提示該名用戶已經(jīng)被注冊,請重新注冊。保存用戶注冊信息頁面register_deal.jsp。用戶登錄用戶登錄窗口如圖10圖10用戶登錄如果用戶輸入的用戶名存在,并且凍結(jié)字段的值不為1,則判斷用戶輸入的密碼是否正確,如果密碼也正確,則成功登錄,否則提示登錄失敗。5.2.6購物車實現(xiàn)過程購物車主要包括所選圖書的添加,查看購物車,單件圖書購買數(shù)量的修改,清空購物車4部分。添加到購物車cart_Add.jsp主要采用Vector類型的變量cart來存儲購物數(shù)據(jù)的,被保存在Session中,然后將圖書信息保存到cart中,主要代碼:StringISBN=chStr.chStr(request.getParameter("ISBN"));Stringsql="select*fromtb_bookinfowhereISBN='"+ISBN+"'";ResultSetrs=connDB.executeQuery(sql);floatprice=0;if(rs.next()){price=rs.getInt("price");}bookelementmybookelement=newbookelement();mybookelement.ISBN=ISBN;mybookelement.price=price;mybookelement.number=1;booleanFlag=true;Vectorcart=(Vector)session.getAttribute("cart");if(cart==null){ cart=newVector();}else{ for(inti=0;i<cart.size();i++){ bookelementbookitem=(bookelement)cart.elementAt(i);//當(dāng)cart中已經(jīng)存在所添加的圖書信息時,只將數(shù)量加1 if(bookitem.ISBN.equals(mybookelement.ISBN)){//此處必須用equals方法,不能用== bookitem.number++; cart.setElementAt(bookitem,i); Flag=false; }}}if(Flag)cart.addElement(mybookelement);session.setAttribute("cart",cart);//將cart保存到session中rs.close();response.sendRedirect("cart_see.jsp");%>查看購物車查看購物車頁面cart_see.jsp的頂部首先需要判斷購物車是否為空,如果為空將頁面直接跳轉(zhuǎn)到購物車為空頁面cart_null.jsp,否則顯示購物車信息。顯示購物車信息主要是將保存在Session中的數(shù)據(jù)利用for語句輸出到IE中,同時根據(jù)圖書的定價,購買數(shù)量自動計算每種圖書的金額和購物車中的全部圖書的合計金額。代碼如下:Vectorcart=(Vector)session.getAttribute("cart");if(cart==null||cart.size()==0){ response.sendRedirect("cart_null.jsp");}else{//此處插入顯示購物車信息的代碼,將在下面給出}%>……//此處省略填寫訂單信息代碼 <% floatsum=0; floatpric=0; StringISBN=""; Stringbookname=""; Stringpublisher=""; for(inti=0;i<cart.size();i++){//此處獲取購物車中的一條圖書信息 bookelementbookitem=(bookelement)cart.elementAt(i); sum=sum+bookitem.number*bookitem.price; ISBN=(String)bookitem.ISBN; if(ISBN!=""){ ResultSetrs_book=connDB.executeQuery("select*fromtb_bookinfowhereISBN='"+ISBN+"'"); if(rs_book.next()){ bookname=rs_book.getString("Bookname"); }} %>……//此處省略填寫訂單信息代碼<scriptlanguage="javascript"> <!-- functioncheck(){ if(isNaN(form1.num<%=i%>.value)){ alert("請不要輸入非法字符"); returnfalse; history.back();} if(form1.num<%=i%>.value==""){ alert("請輸入修改的數(shù)量"); returnfalse; history.back(); }} -->圖11購物車如圖11由于在購物車中并沒有保存圖書的名稱,所以在獲取圖書信息時,還需根據(jù)圖書的ISBN號重新到數(shù)據(jù)表中查圖書名稱,代碼如下:ResultSetrs_newbook=connDB.executeQuery("select*fromtb_bookinfowhereISBN=‘“+ISBN+”’”);If(re_book.next()){Bookname=re_book.getString(“Bookname”);從購物車中移去指定圖書實現(xiàn)從購物車中移去指定圖書可以通過Vector類的removeElementAt(intindex)方法實現(xiàn),非常方便。頁面cart_move.jsp代碼為:Vectorcart=(Vector)session.getAttribute("cart");try{ StringID=request.getParameter("ID"); intid=Integer.parseInt(ID); cart.removeElementAt(id);//移去指定圖書信息 session.setAttribute("cart",cart); response.sendRedirect("cart_see.jsp"); }catch(Exceptione){}%>清空購物車實現(xiàn)的方法很簡單,只需要將保存在Session中的購物信息清空即可,清空購物車頁面cart_clear.jsp代碼為:session.removeAttribute("cart");response.sendRedirect("cart_null.jsp");5.2.7生成訂單實現(xiàn)過程生成訂單時,不但要保存用戶訂單中所購買的圖書信息和訂單信息,同時還需要返回一個可供用戶隨時查詢的唯一訂單號。用戶查看購物車頁面中的“去收銀臺結(jié)帳”超連接即可進入到收銀臺頁面填寫訂單信息,在該頁面中系統(tǒng)會根據(jù)用戶登錄的用戶名自動填寫用戶基本信息,除用戶名不可更改外,其他的均可修改,收銀臺頁面的運行結(jié)果如圖12圖12收銀臺在收銀臺頁面cart_checkout.jsp中,首先應(yīng)用判斷用戶是否已經(jīng)購物,然后再判斷用戶是否登錄,如果用戶沒有購物或是沒有登錄都將給予提示并返回到網(wǎng)站首頁。關(guān)鍵代碼為:<%if(session.getAttribute("cart")==""){ out.println("<scriptlanguage='javascript'>alert('您還沒有購物!');window.location.href='index.jsp';</script>");}StringUsername="";Username=(String)session.getAttribute("UserName");if(Username!=""){try{ResultSetrs_user=connDB.executeQuery("select*fromtb_Memberwhereusername='"+Username+"'");if(!rs_user.next()){ session.invalidate(); out.println("<scriptlanguage='javascript'>alert('請先登錄后,再進行購物!');window.location.href='index.jsp';</script>"); return;}else{ StringTruename=rs_user.getString("Truename"); Stringaddress=rs_user.getString("address"); Stringpostcode=rs_user.getString("postcode"); Stringtel=rs_user.getString("tel"); Stringemail=rs_user.getString("email");%>5.2.8訂單查詢實現(xiàn)過程訂單查詢實現(xiàn)頁面是為用戶查詢訂單信息執(zhí)行狀態(tài)而設(shè)計的,用戶成功登錄后,單擊網(wǎng)站中的“訂單查詢”,即可進入到訂單查詢頁面,該頁面列出當(dāng)前用戶的全部訂單概要信息列表。查詢訂單概要信息主要從訂單主表tb_order中根據(jù)當(dāng)前登錄的用戶名獲取訂單信息,關(guān)鍵代碼如下:ResultSetrs=connDB.executeQuery("select*fromtb_Orderwhereusername='"+(String)session.getAttribute("UserName")+"'");并根據(jù)訂單編號查看訂單的詳細(xì)信息。5.2.9銷售排行實現(xiàn)過程該頁面運行結(jié)果如圖13所示圖13銷售排行銷售排行數(shù)據(jù)主要是將銷售明細(xì)表中的數(shù)量ISBN字段分組并統(tǒng)計銷售數(shù)量再應(yīng)用子查詢獲取銷售數(shù)量最高的前10本圖書,最后再使用連接查詢獲取相應(yīng)的圖書信息,關(guān)鍵代碼如下:ResultSetrs_sort=connDB.executeQuery("select*from(selecttop10*from(selectsum(number)asamount,ISBNfromtb_Order_detailgroupbyISBN)astaborderbyamountdesc)oinnerjointb_bookinfobono.ISBN=b.ISBNorderbyo.amountdesc");網(wǎng)站后臺主要功能模塊設(shè)計在后臺設(shè)計中主要有7個模塊,分別是:后臺登錄,圖書管理,用戶管理,訂單管理。公告管理,投票管理,退出。5.3.1后臺登錄實現(xiàn)過程后臺登錄頁面運行結(jié)果如圖14圖14后臺登錄為了網(wǎng)站的安全,防止一些不法分子蓄意破壞,需要為網(wǎng)站后臺設(shè)計用于驗證用戶身份的文件safe.jsp,完整代碼如下:<%if(session.getAttribute("UserName")==null){ out.println("<scriptlanguage='javascript'>alert('您還沒有登錄!');window.location.href='index.jsp';</script>");}%>然后,在網(wǎng)站首頁后的每個頁面都加入以下代碼:<jsp:includepage="safe.jsp"/>這樣當(dāng)用戶沒有正常登錄時,即可彈出“您還沒有登錄”的提示對話框,確定后將退出后臺頁面,返回網(wǎng)站首頁。5.3.2圖書管理頁面實現(xiàn)過程圖書管理模塊主要實現(xiàn)對圖書信息的管理,包括分頁顯示圖書信息,添加圖書信息,修改圖書信息,刪除圖書信息等功能。分頁顯示圖書信息分頁顯示圖書信息頁面,主要是數(shù)據(jù)表中的圖書信息以列表的方式顯示,并為之添加修改和刪除的超鏈接,方便以后對圖書信息進行修改和刪除。分頁顯示圖書信息頁面的運行結(jié)果如圖15圖15圖書管理在分頁顯示圖書信息頁面中主要顯示圖書的ISBN號,圖書名稱,出版社,是否為新書,是否推薦等信息,至于圖書的其他信息,可以單擊圖書名稱超鏈接進入圖書詳細(xì)信息頁面查詢實現(xiàn)圖書查詢的代碼比較簡單,只需使用JavaBean的executeQuery方法和一條SQL語句即可實現(xiàn),代碼如下:<%ResultSetrs=connDB.executeQuery("select*fromtb_bookinfoorderbyINTimeDesc");%>對網(wǎng)頁中的數(shù)據(jù)進行分頁顯示的實現(xiàn)方法如下:確定記錄跨度,即是每頁顯示的記錄數(shù),這可以根據(jù)頁面的實際情況由自己規(guī)定,例如本系統(tǒng)設(shè)置為10確認(rèn)記錄的總條數(shù),這可以通過結(jié)果集的getRow()方法獲得,此時需要讀者注意,使用getRow()方式時必須先使用結(jié)果集的last()方法。根據(jù)公式“總頁數(shù)=總記錄數(shù)/跨度”計算總頁數(shù),如果得出的總頁數(shù)有余數(shù),則舍去令其等于1獲取傳遞的當(dāng)前頁數(shù)參數(shù)(Page),并把它轉(zhuǎn)換成整型數(shù)據(jù),如果該頁數(shù)小于1,則令其等于1,如果大于最大頁數(shù),則令其等于最大頁數(shù)。計算當(dāng)前記錄數(shù),當(dāng)前記錄數(shù)=(獲取的頁數(shù)—1)*跨度+1通過for循環(huán)分頁顯示圖書信息添加圖書信息添加圖書信息頁面主要用于向數(shù)據(jù)庫中添加新的圖書信息。添加圖書信息頁面的運行結(jié)果如圖16圖16圖書添加為了保證圖書信息在數(shù)據(jù)表中的唯一性,根據(jù)用戶輸入的圖書ISBN號判斷圖書信息是否存在,如果存在則給予提示信息并返回,否則將圖書信息保存到數(shù)據(jù)表中。刪除圖書信息根據(jù)參數(shù)ISBN來刪除指定的圖書信息。5.3.3用戶管理實現(xiàn)過程系統(tǒng)管理員查看用戶基本信息,并對于經(jīng)常失信的用戶予以凍結(jié)或解凍。用戶信息管理頁面的運行結(jié)果如圖17圖17用戶管理在介紹如何凍結(jié)用戶和對已經(jīng)被凍結(jié)的用戶進行解凍之前,首先讓我們對用戶數(shù)據(jù)表進行簡要的分析,在用戶信息表tb_member中,除了包括用戶基本信息字段外,還包括一個標(biāo)記用戶信息是否被凍結(jié)的字段freeze,該字段為int型,默認(rèn)值為0,在設(shè)計程序時候規(guī)定該字段的值只有0和1兩個,0代表未凍結(jié),1代表已經(jīng)被凍結(jié)。由此可見,實現(xiàn)凍結(jié)用戶只需將該用戶的freeze字段值設(shè)置為1即可,實現(xiàn)解凍只需將freeze字段設(shè)置為0即可。實現(xiàn)凍結(jié)用戶頁面member_freeze.jsp的關(guān)鍵代碼如下:if(request.getParameter("ID")!=""){ intID=Integer.parseInt(request.getParameter("ID")); Stringsql="updatetb_membersetfreeze=1whereID="+ID; intret=0; ret=connDB.executeUpdate(sql); if(ret!=0){ out.println("<scriptlanguage='javascript'>alert('該會員信息已經(jīng)被凍結(jié)!');window.location.href='memberManage.jsp';</script>"); }else{ out.println("<scriptlanguage='javascript'>alert('操作失敗!');window.location.href='memberManage.jsp';</script>"); }}說明:實現(xiàn)對已經(jīng)被凍結(jié)的用戶進行解凍的方法同凍結(jié)用戶類似,只需將freeze字段的值修改為0即可。5.3.4訂單管理實現(xiàn)過程訂單管理主要是執(zhí)行訂單和查看訂單的詳細(xì)信息,但不能修改訂單信息。訂單管理頁面的運行結(jié)果如圖18圖18訂單管理訂單信息管理首頁主要實現(xiàn)分頁顯示訂單概要信息,執(zhí)行訂單和查看訂單詳細(xì)信息的接口。分頁顯示訂單概要信息的實現(xiàn)過程同分頁顯示圖書信息的實現(xiàn)類似,所不同的是在訂單列表的執(zhí)行列中需要根據(jù)訂單的狀態(tài)顯示不同的信息,如果訂單已被執(zhí)行,則顯示“已執(zhí)行“文字,否則提供執(zhí)行訂單的圖標(biāo)。實現(xiàn)該功能的關(guān)鍵代碼如下:<%if(enforce==0){%><ahref="order_enforce.jsp?ID=<%=orderID%>"><imgsrc="../Images/enforce.gif"width="16"height="16"></a><%}else{%>已執(zhí)行<%}%>顯示訂單詳細(xì)信息頁面order_detail.jsp的實現(xiàn),主要通過訂單管理首頁傳遞的訂單編號在訂單表中tb_order中查詢訂單的基本信息,再通過試圖V_order_detail查詢訂單的詳細(xì)信息并顯示即可。5.3.5公告管理實現(xiàn)過程公告管理主要是查看公告信息,添加公告信息和刪除公告信息,由于公告信息涉及到發(fā)布公告的時間,首頁要能修改公告信息。公告管理頁面的運行結(jié)果如圖19圖19公告管理顯示公告信息時,需要調(diào)用JavaBean”chStr”中的convertStr方法顯示公告信息中的回車換行和空格。5.3.6退出系統(tǒng)實現(xiàn)過程網(wǎng)站后臺對于整個網(wǎng)站的正常運行起著至關(guān)重要的作用。當(dāng)管理員對網(wǎng)站維護工作完成后,必須退出系統(tǒng),否則萬一被不發(fā)分子乘機進入,后果十分嚴(yán)重,實現(xiàn)退出網(wǎng)站后臺的方法十分簡單,只需要單擊“退出“超鏈接時,連接logout.jsp頁面即可。Logout.jsp頁面主要是將保存有管理信息的Session變量清空,并將頁面重定向到網(wǎng)站首頁即可。關(guān)鍵代碼如下:Session.invalidate();Response.sendRedirect(“index.jsp”);系統(tǒng)測試測試環(huán)境為了保證系統(tǒng)運行的效率和可靠性,系統(tǒng)服務(wù)器端應(yīng)具有較高的軟硬件配置,客戶端的要求不是很高。此應(yīng)用程序可廣泛運行于國際互聯(lián)網(wǎng)即Internet,也可適用于內(nèi)部的局域網(wǎng)。其運行要求如下:(1)軟件環(huán)境:客戶端:Windows98/2000/XP,InternetExplorer(IE)5.0等服務(wù)器端:WindowsNT/Windows2000Sever,JDKVersion1.5,SQLServer2000,Tomcat5.5,JDBC—ODBCDriver,IE5.0以上(2)硬件環(huán)境:服務(wù)器CPU:P41.8GHz以上,內(nèi)存:256M以上客戶端CPU:P41.8GHz以上,內(nèi)存:128M以上測試結(jié)果在系統(tǒng)的各個模塊設(shè)計完成之后,需要對整個系統(tǒng)進行全面的測試。目的是讓整個系統(tǒng)能夠快速、穩(wěn)定、安全的運行。表9測試結(jié)果功能操作預(yù)期結(jié)果顯示測試結(jié)果圖書查詢輸入要查詢圖書名點擊搜索顯示圖書信息,輸入要查詢圖書名點擊搜索后顯示圖書信息顯示圖書信息,輸入要查詢圖書名點擊搜索后顯示圖書信息顯示圖書信息,輸入要查詢圖書名點擊搜索后顯示圖書信息圖書資料修改輸入要修改的圖書信息點擊保存顯示“修改成功”返回圖書管理頁面顯示“修改成功”返回圖書管理頁面顯示“修改成功”返回圖書管理頁面圖書添加輸入要添加的圖書信息點擊保存顯示“添加成功”返回圖書管理頁面顯示“添加成功”返回圖書管理頁面顯示“添加成功”返回圖書管理頁面圖書刪除點擊確認(rèn)顯示“刪除成功”返回圖書管理頁面顯示“刪除成功”返回圖書管理頁面顯示“刪除成功”返回圖書管理頁面用戶注冊輸入要注冊的用戶資料點擊確定保存顯示“注冊成功”返回首頁顯示“注冊成功”返回返回首頁顯示“這冊成功”返回返回首頁用戶資料修改輸入要修改的用戶資料點擊確定保存顯示“修改成功”返回首頁顯示“修改成功”返回首頁顯示“修改成功”返回首頁系統(tǒng)在上述軟硬件環(huán)境下分別對所有的詳細(xì)設(shè)計功能作出測試,結(jié)果能夠達到預(yù)期功能總結(jié)本系統(tǒng)的實現(xiàn)基本上成功的運用了設(shè)計思想中用JSP+JavaBean實現(xiàn)業(yè)務(wù)邏輯的處理的想法,達到了定制一個小型電子商務(wù)平臺的目的。但要想將其作為一個能夠真正用于商業(yè)目的的應(yīng)用,有好多功能需要進一步的擴充與完善。從開發(fā)中我體會到本設(shè)計中雖然用了JavaBean,但JSP頁面中仍然有很多地方要加入Java程序片段(Java代碼),很不利如頁面的顯示控制。盡管在頁面顯示與業(yè)務(wù)邏輯的分離方面,使用也許有它不利的一面,但作為一個小的項目的開發(fā)使用它卻是一種有效的方法。因為它原理簡單,而且所使用的思想和技術(shù)也很容易掌握。通過這次設(shè)計,我設(shè)計的網(wǎng)上書店基本完成了要求的諸項基本功能,實現(xiàn)了一個簡單的不同部分以數(shù)據(jù)為中心的模型,在方案的各部分在實際運作中能夠解決相應(yīng)的問題。在設(shè)計和制作網(wǎng)上書店這一個整體項目的過程中,也培養(yǎng)了自己的綜合能力和從全局考慮的思想。將復(fù)雜的問題簡單化,作為電子商務(wù)應(yī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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論