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

下載本文檔

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

文檔簡介

1、本科畢業(yè)論文(設(shè)計)題目:基于Java的網(wǎng)上購物系統(tǒng)設(shè)計與實現(xiàn)學(xué)院:班級:姓名:指導(dǎo)教師:職稱:完成日期:2013年06月02日基于Java的網(wǎng)上購物系統(tǒng)設(shè)計與實現(xiàn)摘要:隨著人們生活方式和消費(fèi)觀念的改變,網(wǎng)上購物憑借其簡單、快捷等特點(diǎn)已被越來越多的人所接受。本論文主要論述的是基于Java的網(wǎng)上購物系統(tǒng)設(shè)計與實現(xiàn)。該系統(tǒng)是針對人們網(wǎng)上購物的需求設(shè)計與實現(xiàn)的。主要功能是把商品的交易流程納入信息化管理。系統(tǒng)可分為前后臺兩部分,前臺主要實現(xiàn)登錄、注冊、搜索、購物車和支付等操作;后臺主要實現(xiàn)會員管理、商品管理、訂單管理和公告管理等。整個過程以MyEclipse為開發(fā)工具,在MySQL的支持下實現(xiàn)。系統(tǒng)界

2、面采用JSP、CSSJSAjax等技術(shù),使得網(wǎng)上購物變得簡單、安全、快捷。關(guān)鍵詞:Java;MySQL;JSP1緒論1.1.1 課題的研究意義1.1.2 本論文的目的、內(nèi)容及作者的主要貢獻(xiàn)12研究現(xiàn)狀及設(shè)計目標(biāo).1.1 相近研究課題的特點(diǎn)及優(yōu)缺點(diǎn)分析1.1 現(xiàn)行研究存在的問題及解決辦法21 本課題要采用的相關(guān)技術(shù)2.3要解決的幾個關(guān)鍵問題.3.1 研究設(shè)計中要解決的問題31 具體實現(xiàn)中采用的關(guān)鍵技術(shù)及復(fù)雜性分析64系統(tǒng)設(shè)計及結(jié)構(gòu)7.1 數(shù)據(jù)庫設(shè)計71 系統(tǒng)結(jié)構(gòu)圖105系統(tǒng)實現(xiàn)技術(shù)1.0分模塊詳述系統(tǒng)各部分的實現(xiàn)方法10程序流程166性能測試與分析17測試實例(測試集)的研究與選擇1.7測試環(huán)境

3、17性能分析177結(jié)束語17參考文獻(xiàn)191緒論課題的研究意義近年來,網(wǎng)絡(luò)技術(shù)迅猛發(fā)展,人類已經(jīng)進(jìn)入了信息化社會。隨著人們消費(fèi)觀念和生活方式的改變,網(wǎng)上購物憑借其簡單、快捷的特點(diǎn)逐漸融入了人們的生活中適應(yīng)了當(dāng)今社會快節(jié)奏地生活,使人們足不出戶便可以方便快捷輕松地選購自己喜歡的商品。本系統(tǒng)是一種具有交互功能的商業(yè)信息系統(tǒng),方便商家和用戶及時傳遞信息。為了利用Internet這個平臺,實現(xiàn)一種網(wǎng)上購物的方式,其目的是方便廣大網(wǎng)友購物,讓網(wǎng)友足不出戶就可以逛商城買商品,為此構(gòu)建了基于Java的網(wǎng)上購物系統(tǒng)。本論文的目的、內(nèi)容及作者的主要貢獻(xiàn).論文的目的、內(nèi)容基于Java的網(wǎng)上購物系統(tǒng)是人們進(jìn)行網(wǎng)上交易

4、的重要工具,用來傳遞商品信息,同時也是可以管理商品和用戶的系統(tǒng)。本系統(tǒng)主要針對愛好網(wǎng)上購物的人群,利用網(wǎng)絡(luò)完成商品交易。本系統(tǒng)采用MVC設(shè)計模式,使用當(dāng)前最流行的SSH框架進(jìn)行開發(fā)。本系統(tǒng)可被簡單地劃分為前臺和后臺兩部分。前臺服務(wù)于用戶,為其提供了瀏覽、注冊、登錄、購物車、查看訂單等功能;后臺服務(wù)于管理員,其職責(zé)在于對網(wǎng)站的維護(hù)和管理,對商品信息進(jìn)行增、刪、查、改等。也可以查看訂單信息,以便及時地出貨和退貨。管理員同時還能對已注冊用戶信息進(jìn)行管理。.主要貢獻(xiàn)對銷售者而言,網(wǎng)上購物系統(tǒng)具有很大的優(yōu)勢,它可以不受時間和地理條件的制約,消費(fèi)者可以在任何時間、任何地點(diǎn)查看商品并進(jìn)行購買;不需要支付使用

5、傳統(tǒng)的場地所產(chǎn)生的種種費(fèi)用,例如房租、水電費(fèi)、店面裝潢和各種管理費(fèi)用等;也不需要承擔(dān)實體店經(jīng)營可能帶來的風(fēng)險,比如遭受盜竊、人為破壞、自然災(zāi)害等。對消費(fèi)者而言,網(wǎng)上購物系統(tǒng)也為其提供了大量便利,沒有了“營業(yè)時間”的制約。網(wǎng)上支付的方式,使得足不出戶也可以看盡各地商品,省去了不必要的時間和金錢,實現(xiàn)了消費(fèi)者最小付出和最大回報的愿望。相對與傳統(tǒng)的交易模式,網(wǎng)上購物模式的發(fā)展比較穩(wěn)定,它降低了銷售者的運(yùn)行成本的同時,也便利了消費(fèi)者。在購物交易中達(dá)到了雙贏1。2研究現(xiàn)狀及設(shè)計目標(biāo)相近研究課題的特點(diǎn)及優(yōu)缺點(diǎn)分析實體商品搬上虛擬網(wǎng)絡(luò)已成為社會發(fā)展的必然。它充分發(fā)揮了計算機(jī)網(wǎng)絡(luò)技術(shù)的優(yōu)勢,把傳統(tǒng)的商店直接“

6、搬”回家,利用Internet直接購買自己需要的商品或者自己需要的服務(wù)。相比于傳統(tǒng)購物模式少了言語交流而有了更多的填單與確認(rèn)過程,讓人稍感不便外??偟膩碚f,不受時間、地域限制、便捷、安全、省時省力等優(yōu)點(diǎn)還是為買賣雙方帶來了不少好處,在新經(jīng)濟(jì)時期達(dá)到“雙贏”效果的理想模式。隨著計算機(jī)技術(shù)的日趨成熟,更加成熟完善的網(wǎng)上購物系統(tǒng)也將應(yīng)運(yùn)而生2o現(xiàn)行研究存在的問題及解決辦法網(wǎng)上購物系統(tǒng)是比較常見而求被廣泛應(yīng)用的系統(tǒng),本系統(tǒng)的開發(fā)主要是購物車功能、訂單功能和支付的實現(xiàn),傳統(tǒng)的購物模式,最令人煩惱的問題就是一一商品的進(jìn)貨、出貨、交易以及顧客對其所購商品不滿而引發(fā)的退貨問題等等?,F(xiàn)在市場上類似流行的網(wǎng)站或平

7、臺有很多,例如:卓越,當(dāng)當(dāng),淘寶網(wǎng),京東商城等。這些網(wǎng)站都以比較大型的數(shù)據(jù)庫例如Oracle作為基礎(chǔ),用來儲存及處理大量信息。建立在此基礎(chǔ)之上,讓賣家在處理上述問題時帶來了很大的便利。網(wǎng)上購物相比于傳統(tǒng)購物模式還有一個更加明顯的問題就是顧客信息的安全問題,這些網(wǎng)站大多數(shù)在解決這個問題是采取的是登錄和支付時,對用戶的輸入進(jìn)行驗證,通過正則表達(dá)式并且限制了輸入次數(shù)防止惡意的SQL注入強(qiáng)制破解用戶密碼,保障顧客信息安全。本課題要采用的相關(guān)技術(shù)JSPJSP(javaserverpage是由SunMicrosystems公司倡導(dǎo),多家公司共同參與合作于1999年建立的一種動態(tài)技術(shù)標(biāo)準(zhǔn)。JSP是新一代的動

8、態(tài)內(nèi)容編程技術(shù),它繼承Java技術(shù)的“一次編寫,隨處運(yùn)行”的特性,將開發(fā)人員的開發(fā)和維護(hù)與平臺相分離網(wǎng)。由HTML,DHTML和XML等技術(shù),組成了信息豐富動態(tài)的Web頁面。它使得Web開發(fā)人員搭建網(wǎng)絡(luò)平臺變得簡單快捷,建立了功能強(qiáng)大的Web網(wǎng)站。JSP可以把用戶界面從內(nèi)容層次中分離出來,使得Web開發(fā)人員修改整體布局的時候避開了對底層動態(tài)內(nèi)容的修改。插入JSP的Java程序段可以操作當(dāng)服務(wù)器上的一個JSP頁面被第一次請求執(zhí)行時,服務(wù)器上的JSP引擎首先將JSP頁面文件轉(zhuǎn)譯成一個Java文件,再將這個Java文件編譯生成字節(jié)碼文件,然后通過執(zhí)行字節(jié)碼文件響應(yīng)客戶的請求,而當(dāng)這個JSP再次被請求

9、執(zhí)行時,JSP引擎將直接執(zhí)行這個字節(jié)碼文件來響應(yīng)客戶,這也是JSP比ASP速度快的一個原因。另外,JSP又在其它許多方面做了改進(jìn),具有動態(tài)頁面與靜態(tài)頁面相分離,能夠脫離硬件平臺的束縛,以及編譯后運(yùn)行等優(yōu)點(diǎn),完全克服了ASP的腳本級執(zhí)行的缺點(diǎn)。MySQL前MySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫,由瑞典MySQLAB公司研發(fā)并實現(xiàn)4。目前MySQL已被大量地應(yīng)用到Internet上的各式網(wǎng)站中。憑借其體積小、速度快、總體擁有成本低開放源碼等特點(diǎn),被許多中小型網(wǎng)站所采納,將其作為網(wǎng)站數(shù)據(jù)庫5o與其他的大型數(shù)據(jù)庫例如Oracle、SQLServer等相比,MySQL自有它的一些不足,比如說規(guī)模較小

10、、功能有限等。但是這些不足并不能減少它受歡迎的程度。MySQL提供的功能完全能夠滿足個人或者中小型企業(yè)的使用,最重要的一點(diǎn)MySQL是開放源碼軟件,因此很大程度上降低總體運(yùn)行成本。(1)支持多線程,CPU資源得到充分利用。(2)SQL算法得到優(yōu)化,查詢速度明顯提高。(3)可以作為一個獨(dú)立的程序應(yīng)用在客戶端和服務(wù)端環(huán)境中,也可以作為一個數(shù)據(jù)庫而鑲嵌到其他的軟件中。(4)支持多種語言,常見的編碼如中文的GB2312、BIG5,日文的Shift_JIS等。(5)數(shù)據(jù)庫連接途徑有TCP/IP、ODBC和JDBC等。(6)提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。(7)支持大型的數(shù)據(jù)庫??梢酝瑫r處理

11、擁有成千上萬條記錄。(8)支持多種存儲引擎。3要解決的幾個關(guān)鍵問題研究設(shè)計中要解決的問題.界面設(shè)計界面布局設(shè)計是本系統(tǒng)中的一個重要的環(huán)節(jié),一個網(wǎng)站如果能有一個整潔漂亮的界面,是必更容易被顧客接受。本系統(tǒng)采用B/S結(jié)構(gòu),即(Browse/Server),瀏覽器/服務(wù)器模式6。顧客只需在本機(jī)上安裝一個瀏覽器,就能和服務(wù)機(jī)進(jìn)行數(shù)據(jù)交互。不需要安裝任何軟件,與C/S結(jié)構(gòu)相比,方便了不少。整體采用Java語言,并運(yùn)用一些如JSP、HTML、CSS等網(wǎng)頁制作技術(shù)。界面友好、整潔,任何顧客都能快速地學(xué)會使用本系統(tǒng)。.功能需求網(wǎng)上購物系統(tǒng)的功能模塊有很多,大體可被簡單地劃分為兩部分:前臺模塊和后臺模塊70(1

12、)前臺模塊:該模塊主要供顧客使用,包括登錄模塊、注冊模塊、搜索模塊、購物車模塊、支付模塊等。前臺模塊功能結(jié)構(gòu)圖如圖3.1所示。前臺模塊登錄模塊注冊模塊搜索模塊購物車模塊支付模塊圖3.1前臺模塊結(jié)構(gòu)圖登錄模塊本系統(tǒng)的登錄模塊提供網(wǎng)站用戶的登錄功能,包括用戶名和密碼的輸入,此模塊連接數(shù)據(jù)庫,點(diǎn)擊登錄按鈕,驗證核實之后進(jìn)入系統(tǒng)主界面。注冊模塊本系統(tǒng)的注冊模塊提供網(wǎng)站游客的注冊功能,輸入個人資料,注冊成為網(wǎng)站會員。包括用戶名、密碼、確認(rèn)密碼、性別、年齡、電子郵箱、驗證碼、地址和聯(lián)系方式。本模塊采用Ajax驗證,各個輸入框都有限制條件,根據(jù)用戶輸入有不同的提醒。輸入無誤后點(diǎn)擊立即注冊按鈕,輸入信息寫入數(shù)

13、據(jù)庫,操作者可成為網(wǎng)站用戶。搜索模塊本模塊提供了兩種搜索功能。包括模糊搜索和條件搜索。模糊搜索即關(guān)鍵字搜索,用戶輸入自己想要商品的關(guān)鍵字,點(diǎn)擊搜索按鈕,進(jìn)行搜索。條件搜索可以分為價格區(qū)間搜索和商品類型搜索。購物車模塊購物車模塊相當(dāng)于現(xiàn)實中的購物車,用于暫時存放用戶挑選的商品??梢燥@示所選商品的價格、數(shù)量、小計和總計。模塊功能包括單件商品的增減及刪除,小計表示同類商品的價格,總計表示所選商品的總計價格。確認(rèn)無誤后,點(diǎn)擊結(jié)算,便可生成訂單。支付模塊本模塊提供了網(wǎng)上購物系統(tǒng)的支付功能。用戶接收商品,確認(rèn)試用后,點(diǎn)擊支付,給予評價,完成此次交易的最后一步。(2)后臺模塊:該模塊主要供管理員使用,包括商

14、品管理模塊、會員管理模塊、訂單管理模塊、公告模塊等。后臺模塊功能結(jié)構(gòu)圖如圖3.2所示。后臺模塊圖3.2后臺模塊結(jié)構(gòu)圖公告模塊商品管理模塊網(wǎng)上購物系統(tǒng)的商品管理模塊主要為管理員提供商品管理功能。管理員可修改商品信息,包括價格、庫存、上架以及下架。會員管理模塊會員管理模塊為管理員提供了管理網(wǎng)站會員的功能??梢苑峙渚W(wǎng)站會員一定權(quán)限,也可刪除會員。訂單管理模塊此模塊的功能主要為訂單處理功能。管理員查看訂單信息,給用戶派送商品,等用戶支付之后,修改訂單狀態(tài),完成此次交易。公告模塊公告模塊用來顯示網(wǎng)站的一些活動、獎勵、上架新品、特價商品以及下架通知等信息。.數(shù)據(jù)庫的設(shè)計數(shù)據(jù)庫是所有信息類系統(tǒng)的基礎(chǔ)核心,它

15、把系統(tǒng)中出現(xiàn)的大量數(shù)據(jù)按照一定的規(guī)則存儲起來,提供檢索數(shù)據(jù)的功能網(wǎng)。然而往往由于龐大的數(shù)據(jù)量,讓數(shù)據(jù)庫設(shè)計變得異常復(fù)雜。開發(fā)網(wǎng)上購物系統(tǒng),必然涉及到大量的商品和顧客信息的存儲問題,這時候就需要有數(shù)據(jù)庫的支持。一個好的數(shù)據(jù)庫設(shè)計,不僅能節(jié)省多余的存儲空間,還能有效的提升系統(tǒng)的運(yùn)行效率?,F(xiàn)在主要存在的問題是如何解決數(shù)據(jù)的結(jié)構(gòu)化、數(shù)據(jù)共享性高、獨(dú)立性強(qiáng)和管理統(tǒng)一。具體實現(xiàn)中采用的關(guān)鍵技術(shù)及復(fù)雜性分析.基于B/S的結(jié)構(gòu)模式B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式),是Web興起后的一種新型的網(wǎng)絡(luò)結(jié)構(gòu)模式,Web瀏覽器是客戶端最常見的一種的應(yīng)用軟件90B/S模式解放了客戶端,它將系統(tǒng)

16、的核心功能集中到服務(wù)器上,緩解了客戶端的壓力。用戶只需在客戶端上只要安裝一個瀏覽器,如IE、火狐等,服務(wù)器安裝Oracle、Informix>SQLServer一類的數(shù)據(jù)庫。用戶通過瀏覽器與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)信息的交互oB/S最大的優(yōu)點(diǎn)在于用戶只要擁有一臺能上網(wǎng)的電腦,不需要安裝任何軟件,就可以在任何時間、地點(diǎn)操作系統(tǒng)??蛻舨挥冒惭b、維護(hù),系統(tǒng)的擴(kuò)展性也得到了提高。近年來,Ajax技術(shù)的發(fā)展突飛猛進(jìn),使得基于B/S結(jié)構(gòu)的系統(tǒng)越來越多。建立在此之上的程序在客戶端就可以進(jìn)行部分的驗證功能,這樣一來就減輕了服務(wù)端的負(fù)擔(dān)。局部的即時刷新功能,提高了交互性能。.數(shù)據(jù)庫連接技術(shù)數(shù)據(jù)庫部分的難點(diǎn)在于它的連

17、接,為此采用了JDBC,即JavaDataBaseConnectivity它是Java版本的ODBC。課題研究過程中,我們可以建立一個JDBC類,用來連接數(shù)據(jù)庫10。它的實現(xiàn)可以分為5個步驟:(1)注冊驅(qū)動,根據(jù)不同數(shù)據(jù)庫注冊不同的驅(qū)動Class.forName("oracle.jdbc.driver.OracleDriver")(mysql)“com.mysql.jdbc.Driver"neworacle.jdbc.driver.OracleDriver();(2)通過驅(qū)動管理器獲得連接Connectionconn=DriverManager.getConnec

18、tion(url用戶名,密碼)(oracle)url="jdbc:oracle:thin:ip地址:1521:數(shù)據(jù)庫名(orcl)jdbc:oracle:thin:88:1521:orcl(mysql)jdbc:mysql:/ip地址:3306傲據(jù)庫名(database寸象的名字)(3)通過連接(Connection)生成語句(Statement)X寸象Statementstmt=conn.createStatement();PreparedStatementpstmt=conn.prepareStatement(sql);(4)傳遞語句對象,并返回結(jié)果Str

19、ingsql="select*fromemp"ResultSetrs=stmt.executeQuery(sql);/ResultSetrs=prepareStmt.executeQuery();intn=stmt.executeUpdate(sql);while(rs.next()(5)釋放資源rs.close();stmt.close();conn.close();4系統(tǒng)設(shè)計及結(jié)構(gòu)數(shù)據(jù)庫設(shè)計.數(shù)據(jù)庫表的設(shè)計用戶信息表(User_id,User_name,Password,Real_nameAge,Gender,Address,Email,Is_Admin,Phone,其

20、中User_id為關(guān)鍵字。該表用來存儲用戶id、用戶名、密碼、真實姓名、年齡、性別、地址、電子郵箱、是否為管理員和聯(lián)系方式。表的結(jié)構(gòu)如表4-1所示。表4-1用戶信息表含義字段回鍵標(biāo)識用戶idUser_idIntPrimarykey用戶名User_nameVarchar密碼PasswordVarchar真實姓名Real_nameVarchar年齡AgeInt性別GenderVarchar地址AddressVarchar郵箱EmailVarchar是否管理員Is_AdminVarcharDefault聯(lián)系方式PhoneVarchar(2)商品表(Productjd,Name,Kind_id,Pri

21、ce,Uptime,Downtime,Count,Month_sell,Pro_picture,Describe),其中Product_id為主鍵,Kind_id為外鍵。該表用來存儲商品id、商品名稱、種類id、商品單價、上架時間、下架時間、庫存量、月銷量、商品圖片和商品描述。表的結(jié)構(gòu)如下表4-2所小。表4-2商品信息表含義字段鍵標(biāo)識商品idProduct_idIntPrimarykey商品名稱NameVarchar種類idKind_idIntForeignkey商品單價PriceDouble上架時間UptimeDate下架時間DowntimeDate庫存量CountInt月銷量Month_s

22、ellInt商品圖片Pro_pictureVarchar商品描述DescribeVarchar(3)商品種類表(Kind_id,Father_id,Kind_name,Kind_grade),其中Kind_id為主鍵。該表用來存儲種類id、父種類id、種類名稱和種類等級。表的結(jié)構(gòu)如表4-3所示。表4-3商品種類表含義字段鍵標(biāo)識種類idKind_idIntPrimarykey父種類idFather_idInt種類名稱Kind_nameVarchar種類等級Kind_gradeInt(4)訂單項表(Item_id,Order_id,Product_id,Product_count,User_id)

23、,其中Item_id為主鍵。該表存儲訂單項id、訂單id、商品id、商品數(shù)量、用戶id。表的結(jié)構(gòu)如表4-4所示。表4-4訂單項表含義字段鍵標(biāo)識訂單項idItem_idIntPrimarykey訂單idOrder_idInt商品idKind_idInt商品數(shù)量Product_idInt用戶idUser_idInt(5)訂單表(Order_id,Pay_way,Deliver_way,Address,Receive_namePostcode,Receive_phoneUser_id,State,isPaid),其中Order_id是主鍵,User_id為外鍵。該表用來存儲訂單id、支付方式、送貨方

24、式、送貨地址、收貨人姓名、收貨人聯(lián)系方式、郵政編碼、用戶id、訂單狀態(tài)、是否付款。表結(jié)構(gòu)如表4-5所示。表4-5訂單表含義字段鍵標(biāo)識訂單idOrder_idIntPrimarykey支付方式Pay_wayVarchar送貨方式Deliver_wayVarchar送貨地址AddressVarchar收貨人姓名Receive_nameVarchar收貨人聯(lián)系方式Receive_phoneVarchar郵政編碼PostcodeVarchar用戶idUser_idIntForeignkey訂單狀態(tài)StateVarcharDefault是否付款isPaidVarcahrDefault2.數(shù)據(jù)庫表的關(guān)系圖

25、根據(jù)需求分析和上述的數(shù)據(jù)庫設(shè)計,我們得出數(shù)據(jù)庫表的ER圖,如下圖4.1所示。圖4.1數(shù)據(jù)庫表的關(guān)系圖4.2系統(tǒng)結(jié)構(gòu)圖結(jié)構(gòu)圖以模塊的關(guān)系為線索,用自上而下的連線表示調(diào)用關(guān)系并注明參數(shù)傳遞的方向和內(nèi)容。根據(jù)第三章節(jié)的功能分析,可以得出本系統(tǒng)總體結(jié)構(gòu)圖。如圖4.2所示登錄模塊搜索模塊購物車模塊支付模塊商品管理模塊公告模塊圖4.2網(wǎng)上購物系統(tǒng)總體模塊結(jié)構(gòu)圖5系統(tǒng)實現(xiàn)技術(shù)分模塊詳述系統(tǒng)各部分的實現(xiàn)方法.登錄經(jīng)過上述的各項步驟之后,基本上完成了一個網(wǎng)上購物系統(tǒng)的開發(fā)。本系統(tǒng)的登錄界面如下圖所示。輸入用戶名和密碼,單擊登錄按鈕,與數(shù)據(jù)庫的用戶信息表進(jìn)行驗證,核實身份后進(jìn)入系統(tǒng)主界面。登錄界面如圖5.1所示。

26、戶把圖5.1登錄界面對應(yīng)的部分程序代碼為:Overrideprotectedvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionrequest.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");Stringusername=request.getParameter("username&qu

27、ot;);Stringpassword=request.getParameter("password");PrintWriterout=response.getWriter();tryUseru=Userdao.getUser(username);if(u!=null)if(u.getUser_password().equals(password)request.getSession().setAttribute("user",u);response.sendRedirect("/dog_heaven/jsp/main.jsp");e

28、lseout.println("<script>alert('密碼錯誤');window.history.go(-1)</script>");elseout.println("<script>alert('用戶名不存在');window.history.go(-1)</script>");catch(SQLExceptione)e.printStackTrace();.注冊如果用戶還不是本網(wǎng)站會員,就只能瀏覽商品,沒有購物車功能,也不購買商品。這時就需要注冊會員。本系統(tǒng)注冊界

29、面如下圖所示。本界面采用Ajax驗證,即時更新驗證輸入的信息。完成個人信息的填寫后,單擊立即注冊按鈕,即可成為本網(wǎng)站會員。注冊界面如圖5.2所示圖5.2注冊界面123.搜索本系統(tǒng)搜索功能如下圖所示,大體提供了兩種搜索功能。第一種:關(guān)鍵字查找(模糊查找),會員輸入關(guān)鍵字,單擊搜索按鈕進(jìn)行搜索;第二種:條件查找,具體可分為價格區(qū)間查找和商品類別查找。搜索界面如圖5.3所示理對應(yīng)的部分程序代碼為:/關(guān)鍵字查找圖5.3搜索功能界面3,上學(xué)>>未全,*置4雋*5十:皿Ssr“崢幃tttvr卡手大tvr包,魚£玷,9疝的個人18Overrideprivatevoidkeywords(

30、HttpServletRequestrequest,HttpServletResponseresponse)throwsSQLException,IOExceptionStringkey=request.getParameter("keywords");ArrayList<Dog>dogs=(ArrayList)Dogdao.findKeyWordsDog(key);PrintWriterout=response.getWriter();out.println("<html>");out.println("<hea

31、d><title></title></head>");out.println("<body>");out.println("<divstyle="background-image:url('image/main/memu.jpg');height:600px;">");out.println("<tablealign="center">");if(dogs.size()=0)out.print

32、ln("<br><br><divalign="center"><h1>沒有符合條件的商品</h1></div><br>");out.println("<divalign="center"><h2><ahref="/dog_heaven/jsp/main.jsp">如有需要,請重新搜索</a></h2></div><br>");re

33、turn;elseout.println("<br><br><divalign="center"><h1>商品如下</h1></div><br>");out.println("<divalign="center"><h2><ahref="/dog_heaven/jsp/main.jsp">返回首頁</a></h2></div><br>&qu

34、ot;);for(inti=0;i<dogs.size();i+)Dogd=dogs.get(i);if(i=0)out.println("<tr>");if(i%4=0&&i!=0)out.println("</tr>");)out.println("<td>");out.println("<tablewidth="200px">");out.println("<tr><tdcolspan=&qu

35、ot;2"><ahref="detailServlet?id="+d.getDog_id()+""><imgwidth="180px"height="220px"src="image/dog/"+d.getDog_picture()+""/></a></td></tr>");out.println("<tr><tdcolspan="2">

36、"+d.getDog_describe()+"</td></tr>");out.println("<tr><td><imgsrc="image/main/price.jpg"/></td>");out.println("<td>"+d.getDog_now_price()+“</td></tr>");out.println("</table></td>&q

37、uot;);)out.println("</div>");out.println("</body>");out.println("</html>");out.flush();out.close();)4.購物車購物車模塊相當(dāng)于現(xiàn)實中的購物車,用于暫時存放用戶挑選的商品。顧客可以選擇單件商品數(shù)量或者刪除商品。小計表示同類商品的價格,總計表示所選商品的總計價格。確認(rèn)無誤后,點(diǎn)擊結(jié)算,生成訂單。購物車界面如圖5.4所示。導(dǎo)總東贓J物用的內(nèi)疥£tlF一點(diǎn)電向由.El曲占一工g3在一過740Ok;對

38、應(yīng)的部分程序代碼為:privateArrayList<CartItem>printCartItem(PrintWriterout,ShoppingCartcart)ArrayList<CartItem>items=cart.getCart();CartItemitem=null;out.println("<tablewidth="500"border="1">");out.println("<tr>");out.println("<thwidth=&q

39、uot;100">圖片</th>");out.println("<thwidth="100">價格</th>");out.println("<thwidth="100">數(shù)量</th>");out.println("<thwidth="100">小計</th>");out.println("<thwidth="100">操作&

40、lt;/th>");out.println("</tr>");for(inti=0;i<items.size();i+)item=items.get(i);out.println("<formaction="jsp/memu.jsp?price="+item.getPrice()+"&&number="+item.getQuantity()+&&dogid="+item.getId()+"">");out.p

41、rintln("<tr>");out.println("<td><imgwidth="100px"height="100px"src="image/dog/"+item.getPic()+""/></td>");out.println("<tdalign="center">"+item.getPrice()+"元</td>");out.print

42、ln("<tdalign="center"><fontsize="5">"+item.getQuantity()+"</font></td>");out.println("<tdalign="center">"+item.getSum()+"元</td>");out.println("<tdalign="center"><ahref=&q

43、uot;/dog_heaven/DelShoppingCartServlet?id="+item.getId()+""><fontcolor="red">刪除</font></a></td>");out.println("</tr>");out.println("<tr>");out.println("<tdcolspan="3"align="center">

44、;總計:<fontcolor="red"size="6">"+cart.getTotal()+"</font>元</td>");out.println("<tdalign="center"><ahref="/dog_heaven/RemoveAllServlet">¥青空</a></td>");out.println("<tdalign="cent

45、er"><inputtype="submit"value="結(jié)算"/></td>");out.println("</tr>");out.println("</form>");out.println("</table>");returnitems;5.2程序流程根據(jù)需求分析和詳細(xì)設(shè)計描述,能夠得出本系統(tǒng)的運(yùn)行流程,如圖5.5所示。(開始)購物網(wǎng)站亙但I(xiàn)句口口F公告管理加入購物車6性能測試與分析測試實例(測試集)的

46、研究與選擇該測試案例是以一個B/S的功能點(diǎn)為被測對象,該測試用例為黑盒測試用例。所謂黑盒測試就是在程序接口進(jìn)行測試,它是檢查功能是否按要求實現(xiàn)各個功能,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息。白盒測試與黑盒測試相反,測試根據(jù)被測程序的內(nèi)部結(jié)構(gòu)設(shè)計測試用例,測試者需事先了解程序的結(jié)構(gòu)。本系統(tǒng)的測試功能描述如下:.用戶登錄界面輸入密碼,進(jìn)入購物網(wǎng)站主界面。.選擇一件商品,放入購物車。.更改購物車中商品數(shù)量、種類,點(diǎn)擊結(jié)算按鈕,進(jìn)入訂單生成界面。.填寫訂單信息,點(diǎn)擊確定,完成訂單,等待賣家發(fā)貨。測試環(huán)境.硬件環(huán)境硬件配置主要包括硬件的選擇。網(wǎng)上購物系統(tǒng)的硬件配置要根據(jù)用戶對系統(tǒng)的穩(wěn)定性要求

47、、系統(tǒng)的容量來確定。.軟件環(huán)境網(wǎng)上購物系統(tǒng)的軟件配置要根據(jù)用戶對系統(tǒng)的穩(wěn)定性要求以及用戶的維護(hù)水平來確定。當(dāng)然,一般情況下,對微軟Windows界面比較熟悉,因此都使用WindowsXP操作系統(tǒng)。性能分析.對系統(tǒng)用戶進(jìn)行管理。.為了加強(qiáng)數(shù)據(jù)保密性,為用戶設(shè)置權(quán)限。.系統(tǒng)最大限度地實現(xiàn)了易安裝性、易維護(hù)性和易操作性。.系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。7結(jié)束語本系統(tǒng)是的設(shè)計與研發(fā)基于軟件工程學(xué),用來對網(wǎng)上商品等信息進(jìn)行有效的管理。大體可分為兩大功能模塊,前臺模塊和后臺模塊。往下又可分為許多子模塊。前臺模塊提供了商品展示功能和用戶購物功能。后臺模塊提供了管理用戶信息,管理商品信息,以及處理訂單信息等功能。本系統(tǒng)至上而下功能層次分明,為用戶和管理員的使用提供了便利。本次畢業(yè)設(shè)計中,也體現(xiàn)出了自身的不足。首先,在開發(fā)網(wǎng)上購物系統(tǒng)的前期,由于對開發(fā)工具的掌握還

溫馨提示

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

評論

0/150

提交評論