




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、重慶大學(xué)網(wǎng)絡(luò)教育學(xué)院畢業(yè)論文范本1.引言互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和普及,使電子商務(wù)成為許多企事業(yè)單位和個(gè)人的發(fā)展方向。網(wǎng)絡(luò)銷售網(wǎng)站,屬于電子商務(wù)領(lǐng)域的重要應(yīng)用之一。以阿里巴巴為代表的中國電子商務(wù)網(wǎng),以淘寶網(wǎng)為代表的中國網(wǎng)絡(luò)購物網(wǎng)站,吸引了無數(shù)商家和消費(fèi)者的目光,已經(jīng)成為越來越多商家進(jìn)行電子商務(wù)的平臺(tái),成為網(wǎng)民購物、休閑的好去處。本文試圖應(yīng)用目前主流的網(wǎng)絡(luò)應(yīng)用程序開發(fā)軟件jsp/servlet+access,構(gòu)建一個(gè)戶外用品網(wǎng)絡(luò)銷售網(wǎng)站,使自己所學(xué)得到一次綜合應(yīng)用和提高。2.網(wǎng)上購物系統(tǒng)基本情況介紹伴隨著計(jì)算機(jī)技術(shù)在各行各業(yè)日益廣泛和深入的應(yīng)用,網(wǎng)絡(luò)的概念早已深入人心。網(wǎng)絡(luò)在各行各業(yè)的發(fā)展戰(zhàn)略中占據(jù)
2、了重要的位置,成為商家不可分割的部分。商品的宣傳已不只局限于電視與報(bào)紙,網(wǎng)絡(luò)已成為商家展示自己的另一個(gè)舞臺(tái)。商家建立網(wǎng)站,將商家各方面的宣傳與服務(wù)展現(xiàn)于網(wǎng)絡(luò)中,通過網(wǎng)絡(luò)更可實(shí)現(xiàn)如網(wǎng)上購物、信息查詢等功能,這些在改變我們原有經(jīng)營方式與經(jīng)營理念的同時(shí),也為商家?guī)砹烁叩男б妗R粋€(gè)個(gè)設(shè)計(jì)精美、合理的商品銷售網(wǎng)站,無異于一座座金色的橋梁,它能將千里之外的各種商品通過網(wǎng)絡(luò)充分的展現(xiàn)在每一個(gè)消費(fèi)者面前,供消費(fèi)者挑選、對比,加上便捷的支付手段,迅速的商品配送,實(shí)現(xiàn)了人們足不出戶,逛街天下,商品到家的夢想。3.網(wǎng)上銷售編程技術(shù)的介紹與分析在網(wǎng)絡(luò)上銷售商品,就好比在商場銷售商品一樣,店鋪、柜臺(tái)、營業(yè)員,一個(gè)都
3、不能少。一個(gè)服務(wù)器中的銷售主頁,就是一個(gè)店鋪;一張張、一頁頁貨物的圖片和介紹,就是一個(gè)個(gè)陳列商品的柜臺(tái);在線的客戶服務(wù)人員,就是導(dǎo)購的營業(yè)員。3.1網(wǎng)上銷售編程技術(shù)介紹構(gòu)建一個(gè)網(wǎng)上銷售系統(tǒng),本質(zhì)上就是要設(shè)計(jì)一個(gè)由后臺(tái)數(shù)據(jù)庫和前臺(tái)的許多個(gè)網(wǎng)頁組成的網(wǎng)站。就像店鋪需要裝飾一樣,網(wǎng)絡(luò)銷售網(wǎng)站也需要精心設(shè)計(jì)、制作,使之頁面美觀、瀏覽方便、選購便捷、支付安全等等。所有這些,都離不開動(dòng)態(tài)網(wǎng)頁編程技術(shù)的幫忙。在計(jì)算機(jī)技術(shù)飛速發(fā)展的今天,網(wǎng)頁編程技術(shù)也經(jīng)歷了無數(shù)次的更新?lián)Q代。sun jsp/servlet、microsoft asp、microsoft asp.net、php等動(dòng)態(tài)網(wǎng)頁構(gòu)建技術(shù),都是建立各種動(dòng)
4、態(tài)網(wǎng)絡(luò)平臺(tái)的有力工具。3.2網(wǎng)上銷售編程技術(shù)分析網(wǎng)上銷售編程技術(shù),主要就是指動(dòng)態(tài)網(wǎng)頁技術(shù)。所謂“動(dòng)態(tài)”,并不是指那幾個(gè)放在網(wǎng)頁上的gif圖片,動(dòng)態(tài)網(wǎng)頁技術(shù)有以下幾個(gè)特點(diǎn)。 1、“交互性”即網(wǎng)頁會(huì)根據(jù)用戶的要求和選擇而動(dòng)態(tài)改變和響應(yīng),將瀏覽器作為客戶端界面,這將是今后web發(fā)展的大勢所趨。2、“自動(dòng)更新”即無須手動(dòng)地更新html文檔,便會(huì)自動(dòng)生成新的頁面,可以大大節(jié)省工作量。3、“因時(shí)因人而變”,即當(dāng)不同的時(shí)間,不同的人訪問同一網(wǎng)址時(shí)會(huì)產(chǎn)生不同的頁面。 除了早期的cgi外,目前主流的動(dòng)態(tài)網(wǎng)頁技術(shù)有jsp,asp(asp.net),php等 。3.2.1 cgi 在早期,動(dòng)態(tài)網(wǎng)頁技術(shù)主要采用cgi
5、技術(shù),即common gateway interface(公用網(wǎng)關(guān)接口)。 可以使用不同的程序編寫合適的cgi程序,如visual basic、delphi或c/c+等。將已經(jīng)寫好的程序放在web服務(wù)器的計(jì)算機(jī)上運(yùn)行,再將其運(yùn)行結(jié)果通過web服務(wù)器傳輸?shù)娇蛻舳说臑g覽器上。通過cgi建立web頁面與腳本程序之間的聯(lián)系,并且可以利用腳本程序來處理訪問者輸入的信息并據(jù)此作出響應(yīng)。事實(shí)上,這樣的編制方式比較困難而且效率低下,因?yàn)槊恳淮涡薷某绦蚨急仨氈匦聦gi程序編譯成可執(zhí)行文件。雖然cgi技術(shù)成熟而且功能強(qiáng)大,但由于編程困難,效率低下,修改復(fù)雜等缺陷,所以有逐漸被新技術(shù)取代的趨勢。最常用于編寫cgi
6、技術(shù)的語言是perl(practical extraction and report language,文字分析報(bào)告語言),它具有強(qiáng)大的字符串處理能力,特別適合用于分割處理客戶端form提交的數(shù)據(jù)串,用它來編寫的程序后綴為.pl。 3.2.2 asp asp更精確的說是一個(gè)中間件,這個(gè)中間件將web上的請求轉(zhuǎn)入到一個(gè)解釋器中,在這個(gè)解釋器中將所有的asp的script進(jìn)行分析,再進(jìn)行執(zhí)行,而這時(shí)可以在這個(gè)中間件中去創(chuàng)建一個(gè)新的com對象,對這個(gè)對象中的屬性和方法進(jìn)行操作和調(diào)用,同時(shí)再通過這些com組件完成更多的工作。所以說,asp強(qiáng)大的不在于它的vbscript, 而在于它后臺(tái)的com組件,這
7、些組件來無限的擴(kuò)充了asp的能力。 3.2.3 php php(hypertext preprocessor超文本預(yù)處理器,即php動(dòng)態(tài)網(wǎng)站開發(fā)技術(shù))是一種跨平臺(tái)的服務(wù)器端的嵌入式腳本語言(類似于iis上的asp)。php獨(dú)特的語法混合了c、java、perl以及php式的新語法。它可以比cgi或者perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁。 php能夠支持諸多數(shù)據(jù)庫,如ms sql server, mysql,sybase,oracle等。 它與html語言具有非常好的兼容性,使用者可以直接在腳本代碼中加入html標(biāo)簽,或者在html標(biāo)簽中加入腳本代碼從而更好地實(shí)現(xiàn)頁面控制。php提供了標(biāo)準(zhǔn)的數(shù)據(jù)庫接口,
8、數(shù)據(jù)庫連接方便,兼容性強(qiáng);擴(kuò)展性強(qiáng);可以進(jìn)行面向?qū)ο缶幊獭?3.2.4 jsp jsp是sun公司推出的新一代網(wǎng)站開發(fā)語言,頁面由html代碼和嵌入其中的java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些java代碼進(jìn)行處理,然后將生成的html頁面返回給客戶端的瀏覽器。java servlet 是jsp的技術(shù)基礎(chǔ),而且大型的web應(yīng)用程序的開發(fā)需要java servlet和jsp配合才能完成。jsp具備了java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向internet的所有特點(diǎn)。 4.戶外用品銷售系統(tǒng)的分析、設(shè)計(jì)與實(shí)現(xiàn)經(jīng)過上面的分析可以看出,構(gòu)建一個(gè)戶外用品銷售
9、系統(tǒng),有各種技術(shù)手段可以選擇,而各種編程技術(shù)可謂各有千秋。特別是sun公司倡導(dǎo)的java sever pages(jsp)和 微軟的active sever pages(asp)在技術(shù)方面有許多相似之處。兩者都是為基于web應(yīng)用實(shí)現(xiàn)動(dòng)態(tài)交互網(wǎng)頁制作提供的技術(shù)環(huán)境支持。同等程度上來講,兩者都能夠?yàn)槌绦蜷_發(fā)人員提供實(shí)現(xiàn)應(yīng)用程序的編制與自帶組件設(shè)計(jì)網(wǎng)頁從邏輯上分離的技術(shù)。而且兩者都能夠替代cgi使網(wǎng)站建設(shè)與發(fā)展變的較為簡單與快捷。不過兩者是來源于不同的技術(shù)規(guī)范組織,其實(shí)現(xiàn)的基礎(chǔ):web服務(wù)器平臺(tái)要求不相同。 asp一般只應(yīng)用于windows nt/2000平臺(tái),而jsp則可以不加修改地在85%以上的
10、web server上運(yùn)行,其中包括了nt的系統(tǒng),符合“write once,run anywhere”(“一次編寫,多平臺(tái)運(yùn)行”)的java標(biāo)準(zhǔn),實(shí)現(xiàn)平臺(tái)和服務(wù)器的獨(dú)立性,而且基于jsp技術(shù)的應(yīng)用程序比基于asp的應(yīng)用程序易于維護(hù)和管理。有鑒于此,本次畢業(yè)設(shè)計(jì)選擇了jsp/servlet+access平臺(tái)進(jìn)行設(shè)計(jì)開發(fā)。4.1 系統(tǒng)分析與總體設(shè)計(jì)4.1.1 系統(tǒng)功能概述本系統(tǒng)實(shí)現(xiàn)一個(gè)基于web的戶外用品銷售系統(tǒng)。我們可以將使用該系統(tǒng)的人劃分為兩個(gè)角色:一個(gè)是普通用戶,主要是通過系統(tǒng)在線選擇要購買的戶外用品并提交訂單;另一個(gè)是管理員,主要是通過系統(tǒng)對用戶、訂單及戶外用品進(jìn)行管理。系統(tǒng)功能劃分如圖
11、4.1.1所示。戶外用品銷售系統(tǒng)用戶購買系統(tǒng)管理員管理系統(tǒng)用戶注冊模塊用戶登錄模塊修改用戶密碼修改用戶信息商品評論模塊用戶購買模塊用戶退出模塊管理員登錄訂單管理模塊用戶管理模塊商品管理模塊管理員退出圖 4.1.11、用戶購買系統(tǒng)用戶購買系統(tǒng)是供用戶使用的。用戶通過它可以完成注冊、登錄,瀏覽、購買商品,對商品進(jìn)行評價(jià)等活動(dòng)。2、管理員管理系統(tǒng) 管理員管理系統(tǒng)是供管理員使用的。管理員通過它可以對用戶訂單、注冊用戶和戶外用品信息進(jìn)行管理。4.1.2 數(shù)據(jù)庫結(jié)構(gòu)及實(shí)現(xiàn)數(shù)據(jù)庫outdoorshop(戶外用品商店)總共用到6張表,表與表之間有著一定的關(guān)系,如表6.1所示。表名說明admin保存管理員賬號(hào)和
12、密碼customer保存注冊用戶信息outdoor保存戶外用品信息orderlist保存每一份訂單中所包含的所有戶外用品信息userorder保存訂單信息outdoorcomment保存戶外用品評論信息表4.11、 管理員信息表admin管理員信息表admin保存著管理員的賬號(hào)和登錄密碼,結(jié)構(gòu)如圖4.1.2所示。圖4.1.22、 注冊用戶信息表customer注冊用戶信息表customer保存著注冊用戶的賬號(hào)、登錄密碼、姓名、性別、地址、郵政編碼、電話、e-mail信息,結(jié)構(gòu)如圖4.1.3所示。圖4.1.33、 戶外用品信息表outdoor戶外用品信息表outdoor保存著網(wǎng)站所銷售的各種戶外
13、用品的詳細(xì)信息,結(jié)構(gòu)如圖4.1.4所示。圖4.1.44、 訂單詳細(xì)信息表orderlist訂單詳細(xì)信息表orderlist用來保存每一份訂單中所包含的各種戶外用品信息,結(jié)構(gòu)如圖4.1.5所示。圖4.1.55、 用戶訂單信息表userorder用戶訂單信息表userorder用于保存用戶訂單信息,結(jié)構(gòu)如圖4.1.6所示。圖4.1.66、 商品評論信息表outdoorcomment商品評論詳細(xì)表outdoorcomment保存著注冊用戶或游客對相關(guān)戶外用品的評論詳細(xì),結(jié)構(gòu)如圖4.1.7所示。圖4.1.7 7、各個(gè)表之間的關(guān)系除了用戶信息表custermer和商品評論信息表outdoorcommen
14、t之間的關(guān)系不實(shí)施參照完整性的以外(即在customer表中刪除用戶的同時(shí),不必對outdoorcomment表內(nèi)的相關(guān)內(nèi)容進(jìn)行更新,因?yàn)橛慰鸵部梢詤⑴c評論圖書),其他都是“實(shí)施參照完整性”和“級(jí)聯(lián)刪除相關(guān)記錄”的,除了orderlist表與userorder表是“一對一”的關(guān)系外,其他的關(guān)系都是“一對多”類型。各個(gè)表之間的關(guān)系如圖4.1.8所示。圖4.1.8 各個(gè)表的關(guān)系4.1.3 文件目錄結(jié)構(gòu)本應(yīng)用系統(tǒng)保存在outdoorshop文件夾下(服務(wù)器tomcat安裝路徑下的webapps目錄中),如圖4.1.9所示,其中data目錄下存放的是數(shù)據(jù)庫文件,source中存放圖片和其他界面設(shè)計(jì)相關(guān)
15、資源,utility中保存可復(fù)用的代碼文件。其他的目錄是tomcat自動(dòng)生成。圖4.1.9 系統(tǒng)文件夾結(jié)構(gòu)4.2 戶外用品銷售網(wǎng)站主頁設(shè)計(jì)網(wǎng)站的主頁index.jsp是戶外用品銷售網(wǎng)站的門戶,用戶打開網(wǎng)站首先看到的就是這個(gè)主頁頁面。在這個(gè)網(wǎng)站首頁,用戶可以隨意瀏覽商品。需要購買商品時(shí)首先要注冊購物的賬號(hào),通過注冊登記后再進(jìn)行登錄認(rèn)證,之后就可以選購商品、對商品進(jìn)行評論了。管理員進(jìn)行的一切操作,如登錄、查看訂單、商品入庫等等,也是從這個(gè)首頁開始的。從系統(tǒng)結(jié)構(gòu)上看,網(wǎng)站首頁index.jsp既不屬于用戶購買系統(tǒng),也不屬于管理員管理系統(tǒng),而是這兩個(gè)系統(tǒng)的入口,屬于用戶購買系統(tǒng)和管理員管理系統(tǒng)的公共模
16、塊,網(wǎng)站的設(shè)計(jì),就從這里開始。4.2.1 網(wǎng)站首頁index.jsp代碼設(shè)計(jì)圖4.2.1網(wǎng)站首頁的運(yùn)行效果,程序清單4.2.1是首頁的完整代碼。(注:所有程序代碼在另外的文檔中列出)圖4.2.1 網(wǎng)站首頁 從首頁的代碼中可以看到有這樣一段代碼反復(fù)出現(xiàn):商品名: 類別: 單價(jià):¥這些代碼負(fù)責(zé)顯示戶外用品信息,供網(wǎng)站瀏覽者瀏覽,是網(wǎng)站商品展示的主要窗口。代碼在顯示商品的時(shí)候使用了動(dòng)態(tài)技術(shù),即并沒有將戶外用品信息直接寫入頁面,而是使用了一個(gè)vector類型的變量outdoorlist來存儲(chǔ)要顯示的戶外用品信息,當(dāng)需要顯示的戶外用品信息發(fā)生變化時(shí),不需要修改頁面代碼,即可動(dòng)態(tài)實(shí)時(shí)的刷新顯示信息
17、。vector是java語言中的一個(gè)數(shù)據(jù)結(jié)構(gòu)類型,是一個(gè)對象的數(shù)組,它的每一個(gè)元素都是一個(gè)對象。outdoorlist這個(gè)變量是由一個(gè)servlet(showoutdoor.java)創(chuàng)建的,它是一個(gè)outdoorinf類的對象(outdoor)的數(shù)組,而outdoorinf正是用來存儲(chǔ)戶外用品信息的javabean。showoutdoor.java根據(jù)請求判斷哪些戶外用品需要被顯示,然后從數(shù)據(jù)庫中讀出這些戶外用品的信息,并將它們存儲(chǔ)到outdoorlist中,最后將這個(gè)變量寫入會(huì)話上下文中供index.jsp讀取,這是一個(gè)典型的mvc框架結(jié)構(gòu)。這樣,index.jsp只需要從outdoorl
18、ist中讀出這些信息并將它們顯示出來就可以了,數(shù)據(jù)庫中的戶外用品信息發(fā)生變化時(shí),都不必修改index.jsp的代碼。程序清單4.2.2是showoutdoor.java的代碼,清單4.2.3是outdoorinf.java的代碼。在網(wǎng)站首頁中還設(shè)計(jì)了一個(gè)讓用戶菜單隱藏/顯示的功能。為了實(shí)現(xiàn)隱藏和顯示用戶菜單的功能,應(yīng)用了在session中設(shè)置變量hidden的方法。當(dāng)用戶單擊“隱藏”時(shí),請求會(huì)發(fā)到一個(gè)servlet(menuhidden.java),該servlet會(huì)在session中寫入一個(gè)hidden變量;當(dāng)用戶單擊“顯示”時(shí),請求會(huì)發(fā)到一個(gè)servlet(menushow.java),該
19、servlet會(huì)在session中移除hidden變量。因此,index.jsp要做的事情就是判斷在session中是否含有hidden變量:如果沒有,就用include語句將用戶菜單頁面menu.jsp包含進(jìn)來(即顯示用戶菜單);相反,如果有就不將菜單頁面包含進(jìn)來。程序清單4.2.4和清單4.2.5分別列出了menuhidden.java和menushow.java的代碼。4.2.2 樣式表css文件樣式表也稱css,是層疊樣式表(cascading style sheets)的簡稱。它允許網(wǎng)頁設(shè)計(jì)者自定義網(wǎng)頁元素的樣式,包括字體、顏色及其它的高級(jí)樣式。也就是說,css只是與網(wǎng)頁樣式有關(guān),并
20、不涉及網(wǎng)頁功能。清單4.2.6列出了戶外用品銷售網(wǎng)站的css樣式表文件,該文件與網(wǎng)站的相關(guān)圖片同處于source文件夾下。4.2.3 網(wǎng)頁元素文件在utility文件夾中存放著一些jsp文件,這些文件都不是完整的jsp頁面,它們包含的是一些頁面元素,以供其它jsp頁面通過include來調(diào)用。其中,sitename.jsp用于顯示網(wǎng)站標(biāo)題;navigation.jsp是導(dǎo)航條元素文件;bar.jsp負(fù)責(zé)分隔條的顯示;scriptfunction.jsp和scriptmenuitem.jsp用于實(shí)現(xiàn)一些頁面的動(dòng)態(tài)效果,如鼠標(biāo)停留時(shí)自動(dòng)顯示的下級(jí)菜單;copyright.jsp提供了版本信息;me
21、nu.jsp和adminmenu.jsp分別定義的是用戶系統(tǒng)頁面菜單和管理員系統(tǒng)頁面菜單。程序清單4.2.7、清單4.2.8、清單4.2.9、清單4.2.10、清單4.2.11、清單4.2.12、清單4.2.13分別列出了這些網(wǎng)頁元素文件。需要特別說明的是menu.jsp文件。在這個(gè)文件中,應(yīng)用了一個(gè)if語句來控制菜單頁面為沒有登錄和已經(jīng)登錄的用戶分別定制不同的頁面:對于沒有登錄的用戶,菜單顯示快速登錄表單(如圖4.2.2);對于已經(jīng)登錄的用戶,菜單顯示歡迎信息和日期(如圖4.2.3)。圖4.2.2 用戶未登錄圖4.2.3 用戶已經(jīng)登錄這種分別定制的頁面是通過測試會(huì)話上下文(session)中
22、是否含有userid變量來實(shí)現(xiàn)的。userid變量是由負(fù)責(zé)用戶登錄的servlet創(chuàng)建的(見用戶登錄模塊相關(guān)章節(jié))。只有在用戶登錄以后系統(tǒng)的會(huì)話上下文中才會(huì)含有userid變量,因此可以以次作為用戶是否登錄的標(biāo)志。4.2.4 servlet公用類在本系統(tǒng)的bean文件夾下,除了存放開發(fā)中用到的所有bean文件外,還有兩個(gè)公用類文件:dbclass.java和strclass.java。dbclass是負(fù)責(zé)數(shù)據(jù)庫操作的公用類,戶外用品銷售網(wǎng)站系統(tǒng)中涉及到數(shù)據(jù)庫操作的jsp頁面和servlet都會(huì)用到它。該類含有對數(shù)據(jù)庫操作的各種方法,如連接數(shù)據(jù)庫、查詢/更新數(shù)據(jù)庫以及關(guān)閉數(shù)據(jù)庫連接等。程序清單4
23、.2.14是它的代碼。strclass是負(fù)責(zé)對字符串進(jìn)行檢測和轉(zhuǎn)化的公用類。在銷售網(wǎng)站系統(tǒng)中,經(jīng)常需要判斷字符串是否為數(shù)字或e-mail地址。另外,由于表單參數(shù)全部都是以字符串形式來傳遞的,因此常常需要將字符串轉(zhuǎn)化為整數(shù)或浮點(diǎn)數(shù),strclass就提供了這些方法。程序清單4.2.15列出了它的代碼。4.2.5 web.xml文件由于本系統(tǒng)選用的web服務(wù)器是apache tomcat,因此對每一個(gè)servlet,都需要在web.xml進(jìn)行配置。清單4.2.16列出了戶外用品銷售網(wǎng)站的完整web.xml內(nèi)容,該文件位于web-inf文件夾下。4.3 用戶購買系統(tǒng)用戶購買系統(tǒng)是網(wǎng)站的兩大子系統(tǒng)之一
24、,包括用戶注冊模塊、用戶登錄模塊、修改用戶密碼模塊、修改用戶信息模塊、戶外用品評論模塊、用戶購買模塊和用戶退出模塊。4.3.1 用戶注冊模塊1、功能描述用戶注冊模塊的功能是接受用戶注冊,在檢查過用戶注冊數(shù)據(jù)的合法性后將用戶信息寫入數(shù)據(jù)庫。圖4.3.1是用戶注冊模塊活動(dòng)圖。點(diǎn)擊注冊鏈接填寫注冊表單檢查表單數(shù)據(jù)寫入數(shù)據(jù)庫數(shù)據(jù)不合法數(shù)據(jù)合法圖4.3.1 用戶注冊模塊活動(dòng)圖在圖4.3.2中可以看到用戶注冊模塊中注冊表單(userregister.jsp)的運(yùn)行效果。當(dāng)用戶在這個(gè)表單中輸入一些不合法的信息時(shí)(如圖4.3.3),例如有些項(xiàng)目沒有填、輸入的地址不夠詳細(xì)、兩次輸入的密碼不一致以及e-mail地
25、址不合法等等,表單就會(huì)對用戶進(jìn)行錯(cuò)誤提示(如圖4.3.4),并要求重新輸入信息(合法的信息將會(huì)保留)。圖4.3.2 注冊表單圖4.3.3 在表單中輸入不合法信息圖4.3.4 錯(cuò)誤信息提示當(dāng)用戶輸入的數(shù)據(jù)通過合法性檢查以后,將會(huì)看到如圖4.3.5所示的頁面。它提示用戶注冊成功,并在3秒中之后自動(dòng)登錄系統(tǒng),也可直接點(diǎn)擊進(jìn)行快速登錄。圖4.3.5注冊成功2、功能實(shí)現(xiàn)為了實(shí)現(xiàn)用戶注冊模塊的功能,首先需要一個(gè)注冊表單(userregister.jsp)和一個(gè)處理表單數(shù)據(jù)的servlet(userregister.java)。清單4.3.1和清單4.3.2分別列出了這些文件的代碼。在這里同樣用到了mvc框
26、架。在上面的代碼中,userinf和errinf是由userregister.java創(chuàng)建的兩個(gè)bean。其中userinf存儲(chǔ)用戶在userregister.jsp中填寫的信息,這些信息經(jīng)過userregister.java檢查后,合法的信息將被保留下來。這樣一來,當(dāng)用戶信息中含有不合法數(shù)據(jù)并要求用戶重新填寫時(shí),那些合法信息則不必再次填寫。另外,errinf存儲(chǔ)的是錯(cuò)誤提示信息,當(dāng)表單數(shù)據(jù)中含有不合法數(shù)據(jù)時(shí),這些信息會(huì)被顯示出來提示用戶。這兩個(gè)bean都是userinf類,清單4.3.3列出了userinf類的代碼。在確定了用戶信息全部合法后,userregister.java將把用戶信息寫
27、入數(shù)據(jù)庫的customer表。同時(shí)我們需要一個(gè)頁面registersuccess.jsp來提示用戶注冊成功并完成自動(dòng)登錄。清單4.3.4列出了這個(gè)頁面的代碼??刂葡到y(tǒng)在3秒后轉(zhuǎn)到index.jsp頁面,也可以手動(dòng)點(diǎn)擊快速轉(zhuǎn)到index.jsp頁面。4.3.2 用戶登錄模塊1、功能描述用戶登錄模塊負(fù)責(zé)檢查用戶的登錄信息,即檢查用戶填寫的賬號(hào)和密碼是否與注冊的用戶賬號(hào)和密碼相符合。如果符合則完成用戶登錄,否則重新轉(zhuǎn)到登錄表單并提示錯(cuò)誤信息。圖4.3.6是該模塊的活動(dòng)圖。帳號(hào)密碼匹配點(diǎn)擊登錄鏈接填寫登錄表單檢查表單數(shù)據(jù)登錄成功帳號(hào)密碼不匹配圖4.3.6用戶登錄模塊活動(dòng)圖圖4.3.7顯示了登錄表單的運(yùn)
28、行頁面。當(dāng)用戶輸入的賬號(hào)與密碼不匹配的時(shí)候,系統(tǒng)將如圖4.3.8顯示錯(cuò)誤信息,并等待用戶重新輸入。最后,圖4.3.9顯示了登錄成功的頁面。圖4.3.7 登錄表單圖4.3.8 登錄不成功圖4.3.9 登錄成功2、功能實(shí)現(xiàn)為了實(shí)現(xiàn)用戶登錄模塊的功能,系統(tǒng)需要一個(gè)登錄表單userlogin.jsp和一個(gè)處理表單數(shù)據(jù)的servlet(userlogin.java)。程序清單4.3.5和清單4.3.6分別列出了這些文件的代碼。在這里用了一個(gè)簡單的方案來標(biāo)識(shí)用戶是否登錄:就是當(dāng)用戶登錄以后,userlogin.java會(huì)在session中創(chuàng)建一個(gè)userid變量來儲(chǔ)存用戶的賬號(hào)。因此,系統(tǒng)若要辨別用戶是否
29、登錄,只需要檢查一下session中是否存在userid變量。前面提到的menu.jsp就是以這個(gè)為基礎(chǔ)來實(shí)現(xiàn)為未登錄用戶和已登錄用戶分別定制菜單頁面的。在確定了用戶所輸入的賬號(hào)和密碼相匹配并為用戶建立了userid變量之后,還需要一個(gè)頁面haslogin.jsp來提示用戶登錄成功,并且由該頁面負(fù)責(zé)將頁面轉(zhuǎn)到網(wǎng)站首頁。清單4.3.7列出了該頁面的代碼。4.3.3修改用戶密碼模塊1、功能描述修改用戶密碼模塊負(fù)責(zé)完成用戶提交的修改用戶密碼的請求。在允許用戶修改密碼之前,需要用戶輸入原來的密碼,并輸入兩次新密碼,并檢查新密碼的位數(shù)是否符合要求。圖4.3.10是該模塊的活動(dòng)圖。密碼合法點(diǎn)擊修改密碼鏈接
30、填寫表單檢查新舊密碼寫入數(shù)據(jù)庫密碼不合法圖4.3.10 修改用戶密碼模塊活動(dòng)圖圖4.3.11、圖4.3.12、圖4.3.13分別顯示了相應(yīng)頁面的運(yùn)行效果。圖4.3.11 用戶修改密碼表單圖4.3.12 錯(cuò)誤提示圖4.3.13 修改密碼成功2、功能實(shí)現(xiàn)表單文件changepassword.jsp和處理表單數(shù)據(jù)的servlet(changeuserpwd.java)共同完成了修改用戶密碼模塊的主要功能,清單4.3.8和清單4.3.9分別列出了這些文件的代碼。在操作完成后,由一個(gè)頁面operationsuccess.jsp來提示用戶操作成功,并且由該頁面負(fù)責(zé)轉(zhuǎn)到網(wǎng)站首頁。清單4.3.10列出了該頁面
31、的代碼。4.3.4修改用戶信息模塊1、功能描述該模塊負(fù)責(zé)完成用戶提交的修改用戶信息的請求,與上面的修改用戶密碼相類似,但要比修改用戶密碼模塊復(fù)雜一些。圖4.3.14是該模塊的活動(dòng)圖。信息合法點(diǎn)擊修改用戶信息鏈接填寫表單檢查舊密碼及新信息寫入數(shù)據(jù)庫信息不合法圖4.3.14 修改用戶信息模塊活動(dòng)圖在修改用戶信息之前,首先是顯示用戶信息(如圖4.3.15),然后點(diǎn)擊“修改資料”鏈接后,進(jìn)入修改用戶資料表單(如圖4.3.16),輸入密碼和信息并進(jìn)行檢驗(yàn)后,如不合法也會(huì)返回錯(cuò)誤信息(如圖4.3.17),修改成功后同樣有一個(gè)頁面提示(復(fù)用了修改用戶密碼模塊的操作成功頁面)。圖4.3.15 顯示用戶信息圖4
32、.3.16 修改用戶資料表單圖4.3.17 錯(cuò)誤提示2、功能實(shí)現(xiàn)為了實(shí)現(xiàn)修改用戶信息模塊的功能,需要一個(gè)顯示當(dāng)前用戶信息的jsp(userinf.jsp)、一個(gè)表單jsp(changeinf.jsp)和一個(gè)處理表單數(shù)據(jù)的servlet(changeuserinf.java)。清單4.3.11、4.3.12和4.3.13分別列出了這些文件的代碼。在changeinf.jsp的開始處,用了一個(gè)if語句來檢查單擊“修改用戶資料”鏈接的用戶是否為已經(jīng)登錄的用戶,如果不是,則轉(zhuǎn)到用戶尚未登錄頁面(notlogin.jsp),以避免無權(quán)訪問該頁面的用戶看到頁面內(nèi)容。清單4.3.14列出了notlogin.
33、jsp的代碼。4.3.5戶外用品評論模塊1、功能描述用戶在網(wǎng)站首頁中單擊戶外用品圖片,即可以進(jìn)入戶外用品評論系統(tǒng)。在這個(gè)系統(tǒng)中,用戶(以注冊用戶或游客身份)可以查看其他人對該件商品的評論并發(fā)表自己的評論。在這個(gè)模塊中,只需要提供一個(gè)頁面顯示用戶對該戶外用品的評論,并在其中包含一個(gè)表單,使用戶可以添加評論。該頁面如圖4.3.18所示,所用表單以及用戶添加完評論之后的頁面如圖4.3.19和圖4.3.20所示。圖4.3.18 評論頁面圖4.3.19 添加評論表單圖4.3.20 添加評論成功2、功能實(shí)現(xiàn)該模塊有一個(gè)jsp頁面(outdoorcomment.jsp)和一個(gè)servlet(addcomme
34、nt.java)組成,代碼見清單4.3.15和4.3.16。4.3.6 用戶購買模塊用戶購買模塊是用戶購買系統(tǒng)中最核心也是最復(fù)雜的模塊,它負(fù)責(zé)完成用戶對訂單的查詢、修改及提交等操作,以下將分幾個(gè)部分分別描述。1、購買在用戶開始購買的時(shí)候,系統(tǒng)會(huì)為其創(chuàng)建一個(gè)購物車(一個(gè)儲(chǔ)存訂單信息的bean),將用戶選中的戶外用品的編號(hào)、品名等信息儲(chǔ)存到購物車。購物車是一個(gè)vector的變量,它的每一個(gè)元素都是一個(gè)cartinf類(bean)。清單4.3.17就是cartinf類的代碼。用戶在主頁中單擊add to shoping cart圖標(biāo)(如圖4.3.21)并在彈出的窗口(如圖4.3.22)中填入需要的數(shù)
35、量,提交成功并顯示確認(rèn)信息(如圖4.3.23)后就完成了添加購物車的過程。jsp頁面addcart.jsp作為彈出窗口來接收用戶填入的商品數(shù)量,代碼見清單4.3.18。購物車圖標(biāo)圖4.3.21 添加到購物車圖標(biāo)圖4.3.22 購買數(shù)量彈出窗口圖4.3.23 放入購物車成功servlet文件addcart.java用來處理添加戶外用品到購物車的申請,清單4.3.19列出了它的代碼。2、修改訂單修改訂單,指修改尚未提交的訂單,即購物車信息。要修改訂單,首先要能看到訂單,這就需要用一個(gè)jsp頁面(mycart.jsp)來專門負(fù)責(zé)顯示用戶購物車信息。圖4.3.24顯示了mycart.jsp的運(yùn)行效果,
36、清單4.3.20列出了它的代碼。圖4.3.24 我的購物車運(yùn)行效果修改訂單包含兩種操作,即從購物車中刪除某種戶外用品和修改預(yù)購戶外用品數(shù)量。下面的圖4.3.25圖4.3.28給出了修改訂單的操作,由changeorder.java來實(shí)現(xiàn),代碼如清單4.3.21所示。圖4.3.25 修改戶外用品數(shù)量圖4.3.26戶外用品數(shù)量為非整數(shù)圖4.3.27 刪除所訂戶外用品圖4.3.28 成功刪除戶外用品3、提交訂單提交訂單就是將購物車中的戶外用品信息寫入數(shù)據(jù)庫。由于訂單信息和訂單項(xiàng)信息是分開在兩個(gè)表里儲(chǔ)存的,而這兩個(gè)表之間存在著參照完整性規(guī)則約束,因此這一操作將要涉及到兩個(gè)表的同時(shí)更新。submitor
37、der.java實(shí)現(xiàn)了這一功能,代碼見清單4.3.22,圖4.3.29和圖4.3.30給出了提交訂單的操作和操作成功的頁面效果。圖4.3.29 提交訂單圖4.3.30 訂單提交成功4、查看歷史訂單訂單提交以后就變成了歷史訂單,用戶可以通過單擊導(dǎo)航欄的“歷史訂單”鏈接來查看這些訂單,userorder.jsp就是負(fù)責(zé)這項(xiàng)工作的。圖4.3.31顯示了提交的訂單,清單4.3.23列出了文件代碼。圖4.3.31 歷史訂單如果用戶要查看訂單每一單項(xiàng)的信息,則需要單擊“查看”按鈕,向orderlist.jsp發(fā)出請求,然后由該jsp以彈出窗口的方式顯示訂單項(xiàng)信息。圖4.3.32顯示了彈出窗口效果,清單4.
38、3.24列出了它的代碼。圖4.3.32 訂單詳細(xì)信息4.3.7 用戶退出模塊在用戶退出模塊中,只需將userid這個(gè)變量刪除即可。另外,在退出之前,系統(tǒng)還要檢查用戶的購物車是否為空,如果不是,系統(tǒng)還要負(fù)責(zé)提示用戶,并有用戶決定是清空購物車直接退出,還是轉(zhuǎn)到我的購物車頁面進(jìn)行訂單操作。在用戶退出時(shí),userexit.java負(fù)責(zé)刪除userid變量,emptycart.java負(fù)責(zé)清空購物車,cartfull.jsp負(fù)責(zé)提示用戶購物車中還有商品沒有提交為訂單(如圖4.3.32)。圖4.3.33是成功退出時(shí)顯示的提示信息。清單4.3.25、4.3.26、4.3.27分別列出了他們的代碼。圖4.3.
39、32 提示有未提交商品圖4.3.33 成功退出4.4 管理員管理系統(tǒng)管理員管理系統(tǒng)是網(wǎng)站的另一個(gè)子模塊。由于管理員不同于普通用戶,不可以在本系統(tǒng)中申請賬戶,所有管理員賬戶必須直接在數(shù)據(jù)庫中添加,所以管理員管理系統(tǒng)中不含注冊模塊,它包括管理員登錄模塊、訂單管理模塊、用戶管理模塊、戶外用品管理模塊、管理員退出模塊。4.4.1 管理員登錄模塊1、功能描述管理員可以通過主頁頁面的管理員人口進(jìn)入管理員登錄表單頁面(adminlogin.jsp),圖4.4.1為該模塊的活動(dòng)圖。帳號(hào)密碼匹配點(diǎn)擊管理員入口鏈接填寫表單核對賬號(hào)及密碼進(jìn)入管理員系統(tǒng)帳號(hào)密碼不匹配圖4.4.1 管理員登錄活動(dòng)圖與用戶登錄模塊相同,
40、管理員登錄模塊也需要一個(gè)表單來收集管理員的帳號(hào)和密碼(圖4.4.2)。在管理員提交了表單數(shù)據(jù)以后,系統(tǒng)也要對數(shù)據(jù)進(jìn)行校驗(yàn),如果發(fā)現(xiàn)管理員帳號(hào)和密碼不匹配,則返回錯(cuò)誤信息(圖4.3.3)。圖4.4.2 管理員登錄圖4.4.3 錯(cuò)誤信息2、功能實(shí)現(xiàn)管理員管理系統(tǒng)的登錄模塊通過在session中創(chuàng)建一個(gè)adminid變量來標(biāo)識(shí)管理員登錄,表單頁面文件adminlogin.jsp和servlet文件adminlongin.java共同實(shí)現(xiàn)了管理員登錄的功能,清單4.4.1和清單4.4.2分別列出了它們的代碼。由于管理員賬戶不能在主頁中申請產(chǎn)生,因此必須先在數(shù)據(jù)庫中設(shè)置一個(gè)管理員帳號(hào)(比如帳號(hào)和密碼均為
41、admin)。登錄成功后,系統(tǒng)由一個(gè)jsp頁面adminloginsuccess.jsp提示管理員登錄成功(圖4.4.4),清單4.4.3是它的代碼。圖4.4.4 管理員登錄成功4.4.2訂單管理模塊1、功能描述對于管理員來說,最感興趣的莫過于訂單管理了,因此特意將訂單管理頁面(admin.jsp)設(shè)為管理員登錄以后直接轉(zhuǎn)入的頁面(圖4.4.5)。訂單管理主要是完成查詢操作,單擊用戶的名字和“查看”按鈕,就可以進(jìn)行用戶信息查詢和訂單詳細(xì)信息查詢 (圖4.4.6和圖4.4.7)。圖4.4.5 管理員系統(tǒng)首頁圖4.4.6 訂單詳細(xì)信息頁面圖4.4.7 用戶信息頁面2、功能實(shí)現(xiàn)admin.jsp文件
42、實(shí)現(xiàn)了管理員首頁的功能,清單4.4.4是它的代碼。訂單項(xiàng)信息復(fù)用了前面描述過的訂單列表頁面orderlist.jsp文件。彈出窗口頁面文件customerinf.jsp實(shí)現(xiàn)了查看用戶信息的功能,清單4.4.5是它的代碼。4.4.3用戶管理模塊1、功能描述用戶管理包括管理員對用戶信息的查詢和刪除。用戶管理頁面(圖4.4.8)用于顯示所有注冊用戶信息。為了實(shí)現(xiàn)刪除用戶的功能,頁面為每一個(gè)用戶分配了一個(gè)復(fù)選框。這樣管理員通過選中復(fù)選框,再單擊刪除按鈕即可實(shí)現(xiàn)相應(yīng)用戶的刪除功能(圖4.4.9)圖4.4.8 用戶信息管理頁面圖4.4.9 成功刪除用戶2、功能實(shí)現(xiàn)名為customermanage.jsp的
43、jsp文件用于實(shí)現(xiàn)用戶管理模塊,清單4.4.6為它的代碼。刪除用戶的功能由servlet文件deleteuser.java來完成,清單4.4.7列出了它的代碼。4.4.4戶外用品管理模塊戶外用品管理模塊涉及戶外用品的添加、刪除和修改,以及商品評論的查看和刪除等多方面的功能,戶外用品管理頁面outdoormanage.jsp(圖4.4.10是實(shí)現(xiàn)所有這些功能的入口,清單4.4.8是它的代碼。圖4.4.10 戶外用品管理頁面1、添加戶外用品添加戶外用品是管理員對網(wǎng)站進(jìn)行維護(hù)的重要工作(圖4.4.11)。表單addoutdoor.jsp負(fù)責(zé)收集所添加戶外用品的信息,并由一個(gè)servlet(addoutdoor.java)將這些信息寫入數(shù)據(jù)庫。清單4.4.9和4.4.10是這兩個(gè)文件的代碼,圖4.4.12和圖4.4.13顯示了相關(guān)操作的頁面。信息合法點(diǎn)擊添加商品鏈接填寫商品表單檢查表單信息的合法性寫入數(shù)據(jù)庫信息不合法圖4.4.11 添加戶外用品活動(dòng)圖圖4.4.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 種植蔬菜合同協(xié)議書
- 齒輪傳動(dòng)考試題及答案
- 農(nóng)村房子開發(fā)合同協(xié)議書
- 事故處理合同協(xié)議書范本
- 天工合同協(xié)議書
- 股權(quán)合同協(xié)議書飯店
- 婚前協(xié)議書合同書
- 就業(yè)協(xié)議書與勞動(dòng)合同的異同
- 木門簽訂合同協(xié)議書
- 保潔工合同協(xié)議書
- 2024年佛山市順德區(qū)公辦中小學(xué)招聘教師真題
- 2025至2030中國玻尿酸市場前景預(yù)判及未來消費(fèi)規(guī)模調(diào)研報(bào)告
- 2025-2030中國船舶行業(yè)發(fā)展分析及發(fā)展前景與投資研究報(bào)告
- 耐藥菌耐藥性監(jiān)測策略-全面剖析
- 2025年中國陳皮市場調(diào)查研究報(bào)告
- 2024年農(nóng)藝師考試考試形式試題及答案
- 老年綜合評估技術(shù)應(yīng)用中國專家共識(shí)解讀
- 北京市通州區(qū)2025年初中學(xué)業(yè)水平模擬考試(一模)英語試卷(含答案)
- 手術(shù)中大出血搶救流程
- 初中語文第23課《“蛟龍”探?!氛n件-2024-2025學(xué)年統(tǒng)編版語文七年級(jí)下冊
- 2025重慶武工工業(yè)技術(shù)研究院有限公司招聘15人筆試參考題庫附帶答案詳解
評論
0/150
提交評論