網上商城管理系統(tǒng)

上傳人:good****022 文檔編號:116782386 上傳時間:2022-07-06 格式:DOC 頁數:46 大?。?.07MB
收藏 版權申訴 舉報 下載
網上商城管理系統(tǒng)_第1頁
第1頁 / 共46頁
網上商城管理系統(tǒng)_第2頁
第2頁 / 共46頁
網上商城管理系統(tǒng)_第3頁
第3頁 / 共46頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《網上商城管理系統(tǒng)》由會員分享,可在線閱讀,更多相關《網上商城管理系統(tǒng)(46頁珍藏版)》請在裝配圖網上搜索。

1、 XXXXXX大學本科生畢業(yè)論文(設計) 題 目 網上商城管理系統(tǒng) 學 院 計算機學院 專業(yè)班級 學生姓名 XXXXXXXXXXXXXXXXX 指導教師 XXXXXXXXX 撰寫日期:二XX年五月四日 42目 錄 1 引言11.1 系統(tǒng)開發(fā)的背景和現(xiàn)狀11.1.1 電子商務網站開發(fā)背景11.1.2 電子商務網站的現(xiàn)狀11.2 系統(tǒng)開發(fā)的目的和意義21.2.1 系統(tǒng)開發(fā)的目的21.2.2 系統(tǒng)開發(fā)的意義22 系統(tǒng)運行環(huán)境和開發(fā)平臺32.1 系統(tǒng)運行環(huán)境32.1.1 系統(tǒng)軟件環(huán)境32.1.2 系統(tǒng)硬件環(huán)境32.2 系統(tǒng)開發(fā)平臺42.2.1 開發(fā)語言環(huán)境42.2.2 開發(fā)所需工具簡介42.2.3 開

2、發(fā)所用到的技術簡介42.2.4 開發(fā)所需插件63 系統(tǒng)可行性研究和需求分析73.1 系統(tǒng)可行性分析73.1.1 市場可行性分析73.1.2 技術可行性分析73.1.3 時間可行性分析73.1.4 成本收益的可行性分析73.1.5 系統(tǒng)后續(xù)開發(fā)和維護的可行性73.2 系統(tǒng)需求分析83.2.1 系統(tǒng)架構設計83.2.2 用戶和管理員的功能需求93.2.3 性能需求104 系統(tǒng)概要設計114.1 系統(tǒng)總體功能流程圖114.2 系統(tǒng)數據庫設計134.3 系統(tǒng)頁面和模塊設計145 總體設計與實現(xiàn)155.1 數據庫設計與實現(xiàn)155.1.1 數據庫表設計155.1.2 數據庫的約束與關系165.2 系統(tǒng)主要

3、功能的設計與實現(xiàn)165.2.1 數據庫連接池類與數據庫工廠類簡介165.2.2 用戶注冊登錄模塊的實現(xiàn)方式205.2.3 管理員登錄和其功能范圍的實現(xiàn)245.2.4 商品購買及購物車的實現(xiàn)295.2.5 訂單和訂單管理的實現(xiàn)方式316 系統(tǒng)測試366.1 系統(tǒng)測試概述366.2 系統(tǒng)黑盒測試366.3 系統(tǒng)白盒測試377 結語397.1 本系統(tǒng)的優(yōu)點397.2 本系統(tǒng)的不足之處及發(fā)展意見397.3 在系統(tǒng)設計與實現(xiàn)過程中的收獲40參考文獻41致謝42附錄43網上商城管理系統(tǒng)XX信息與管理科學學院軟件工程專業(yè)摘要: 21世紀是電子商務蓬勃發(fā)展的世紀。社會經濟的發(fā)展使得人們的生活水平有了很大提高。

4、計算機科學的發(fā)展和互聯(lián)網的普及,電子商務在經濟發(fā)展中的作用也越來越明顯,因此很受大家的歡迎。本系統(tǒng)是以JAVA語言為基礎,用JSP Servlet技術來實現(xiàn)的一個在線購物及后臺管理系統(tǒng)。它實現(xiàn)了一個在線購物網站所需的基本功能,包括:商品展示,商品檢索,商品評論,購物車,商品添加,訂單管理等功能。它提供了友好的交互頁面和豐富的功能,通過頁面展示豐富多樣的產品,讓顧客流連忘返。本系統(tǒng)是一個B2C模式的在線購物平臺。B2C模式是電子商務領域發(fā)展較為成熟的平臺之一,典型代表為卓越、京東。本系統(tǒng)采用B2C模式,通過強大的后臺管理功能和后續(xù)研發(fā)優(yōu)勢,本系統(tǒng)必將更加完善,更加滿足電子商務發(fā)展要求。關鍵字:電

5、子商務、JSP Servlet、B2C E-commerce & Management SystemAbstract: We all believe that ,in the 21st the e-commerce will develop rapidly and greatly. The rapidly developing social economy contribute to the improvement of common human life.With the developing of Computer Science and the prevalence of Interne

6、t, electronic commerce is play a more and more important role in our social economy,and its advantages make it popular to us. This system is based on JAVA,and its was completed by JSP Servlet technology. It supplies many useful functions which almost all the online trading systems need, which includ

7、ing : goods displaying, goods searching, goods comment, goods add, order management,etc. The friendly front pages display a lot of goods of any kinds, this is the attraction of my system. Its a system in B2C mode.B2C mode is one of the maturest modes in e-commerce area, JingDong Online Mall is typic

8、al representative of this mode. Our excellent background management provides favorable support to our system. This will helps our system adapt to the development of e-commerce developing in the future.Keywords: Electronic commerce,JSP Servlet,B2C1 引言1.1 系統(tǒng)開發(fā)的背景和現(xiàn)狀1.1.1 電子商務網站開發(fā)背景 近年來,隨著Internet的迅速崛起

9、,互聯(lián)網已日益成為收集提供信息的最佳渠道并逐步進入傳統(tǒng)的流通領域。于是電子商務開始流行起來,越來越多的商家在網上建起在線商店,向消費者展示出一種新穎的購物理念。 電子商務代表著未來貿易方式的發(fā)展方向,其應用和推廣將給社會和經濟帶來極大的效益。具有強大生命力的現(xiàn)代電子交易手段己越來越被人們所認識,發(fā)達國家在這方面有很多年的發(fā)展歷史,發(fā)展中國家也正在加緊制定總體發(fā)展戰(zhàn)略,大力促進電子商務在國民經濟各個領域的應用,力爭在越來越激烈的國際競爭中占據有利的地位。因此,對于網上購物技術的研究和實現(xiàn),以及搭建一個實用的網上商店是很重要的。1.1.2 電子商務網站的現(xiàn)狀 在美、日等信息化程度較高的國家和地區(qū),

10、網絡商店發(fā)展速度迅猛,美國的世界級超一流的零售商,如沃爾瑪凱瑪特、家庭倉儲、科羅格、J.C培尼等紛紛躋身于網絡經商的行列。 在我國,網上購物從無到有也不過短短幾年時間。如今,在北京、上海、深圳等大城市,已有200多家商場,專賣店開設了網上商店,還有一些正處在觀望階段。真正意義上的網上購物,即貨款的結算在網上進行,已在國內實現(xiàn)。電子商務的發(fā)展也越來越多樣化,模式有B2B,B2C,C2C等,也涌現(xiàn)出一大批優(yōu)秀的電子商務網站,從淘寶,拍拍,阿里巴巴外貿,卓越,貝塔斯曼,到現(xiàn)在的中關村在線,1號店,京東商城等?;陔娮由虅账B帶出的商品交易方案、電子結賬方案和信息安全方案等,已逐步成為國際信息技術市場

11、競爭的焦點。隨著電子商務的日益發(fā)展,產生了虛擬銀行、網絡營銷、網上購物、網絡廣告等新興信息產業(yè),從側面反應了電子商務正在對社會和經濟產生著深刻的影響。不僅如此,基于電子商務模式的擴展,團購網絡和其他電子商務輔助型網站的也正變得越來越熱,在未來,電子商務必定有著更廣闊的發(fā)展空間。1.2 系統(tǒng)開發(fā)的目的和意義1.2.1 系統(tǒng)開發(fā)的目的 電子商務主要包括網上廣告、訂貨、付款、客戶服務和貨物遞交等,售前、售中、售后以及市場調查分析、財務核算及生產安排等多項利用Internet開發(fā)的商業(yè)活動,它對人類社會進行著全方位的改造,在企業(yè)競爭、政府部門、公共研究機構、教育以及娛樂等方面改變著人類相互交往的方式,

12、為人們展示了一個全新、璀璨的世界。由于電子商務的出現(xiàn),傳統(tǒng)的經營模式和經營理念將發(fā)生巨大的變化。電子商務主要以飛速發(fā)展的遍及全球的 Internet 網絡為架構,以交易雙方為主體,以銀行支付和結算為手段,以客戶數據庫為依托的全新商業(yè)模式。電子商務將會創(chuàng)造巨大的效益和機會,會將市場的空間形態(tài)、時間形態(tài)和虛擬形態(tài)結合起來,將物流、資金流、信息流匯集成開放的、良性循環(huán)的環(huán)路,使經營者以市場為紐帶,在市場上發(fā)揮最佳的作用,得到最大的效益。1.2.2 系統(tǒng)開發(fā)的意義 從電子商務的發(fā)展特點來看,可以看出開發(fā)一個網上購物系統(tǒng)有以下幾點重大的意義:l 投資少,回收快。 l 基本不需要占壓資金。 l 24小時營

13、業(yè)時間。l 不受店面空間的限制。 l 不受地理位置影響。從這些先天的優(yōu)勢可以看出,電子商務的進一步蓬勃發(fā)展是時代的趨勢,盡早積極開發(fā)網上購物系統(tǒng)網站有著非常大的現(xiàn)實意義。2 系統(tǒng)運行環(huán)境和開發(fā)平臺2.1 系統(tǒng)運行環(huán)境 本系統(tǒng)的開發(fā)采用 Java 編程語言。由于 Java 語言具有跨平臺的特性,因此,本系統(tǒng)可以在 Windows、Linux、Unix 等不同環(huán)境下運行。2.1.1 系統(tǒng)軟件環(huán)境 本購物網站系統(tǒng)為由JAVA語言和JSP技術開發(fā)的商業(yè)網站,運用了B/S(Browser/Server)技術,具有跨平臺的特性。本系統(tǒng)采用Browser/Web/Database是管理信息系統(tǒng)的三層體系結構

14、,在這種體系結構里,客戶端的瀏覽器程序不直接訪問位于服務器上的后臺數據庫,而是通過位于中間層的Web服務器或支持Web的應用服務器訪問數據庫3。因此,系統(tǒng)對于客戶端的要求不高,而服務器端則要求安裝某些必需軟件。具體配置如下: 客戶端軟件環(huán)境要求:1 安裝web瀏覽器 2 安裝有圖片編輯軟件 3 安裝Adobe Flash IE插件 服務器端軟件環(huán)境要求:1 Windows Server2003或Windows Server2008操作系統(tǒng)2 安裝有MySQL和SQLServer 2005數據庫系統(tǒng)3 安裝有SQL Server Management Studio數據庫管理軟件4 安裝有MySQ

15、L Administrator和Navicat數據庫管理軟件5 安裝有J2SE 6.23版JDK開發(fā)工具包6 安裝有Apache WEB服務器Tomcat 6.02.1.2 系統(tǒng)硬件環(huán)境 系統(tǒng)對于客戶端的硬件環(huán)境也不高,但是服務器的性能一定要穩(wěn)定。具體基本配置如下: 客戶端硬件環(huán)境配置:1 CPU:奔騰 1.2 GHz2 內存:256MB3 硬盤:40GB 服務器端硬件環(huán)境配置:1 CPU:至強 Xeon 3.6 GHz2 內存:8GB3 硬盤:2TB2.2 系統(tǒng)開發(fā)平臺2.2.1 開發(fā)語言環(huán)境 該網上購物系統(tǒng)是用JAVA語言開發(fā)的在線商務系統(tǒng)。Java是一種跨平臺的語言,可以在不同的操作系統(tǒng)

16、環(huán)境中運行,只要有java解釋器和瀏覽器就可以運行,java是面向對象編程中的一種經典語言2。2.2.2 開發(fā)所需工具簡介 J2SE開發(fā)人員工具包JDK簡介 J2SE開發(fā)人員工具集是SUN公司為JAVA程序開發(fā)人員提供的基礎工具集,它封裝了許多基礎JAVA類庫,并且提供了JVM,java程序的運行是在JAVA虛擬機中運行,在客戶端通過java解釋器來顯示信息。 Tomcat 簡介 Tomcat 是 Apache Group 在 Sun 的 JSWDK 基礎上開發(fā)的可直接提供 Web 服務,并且支持 Servlet 的web服務器,是 Sun 官方推薦的 servlet 和 jsp 容器。Tom

17、cat服務器是完全的開源服務器,完全免費,有著非常廣泛的應用10。 MyEclipse 簡介 MyEclipse 是由 Genuitec 發(fā)布的 eclipse 插件,同時也是一款功能強大的 J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。MyEclipse提供了許多非常有價值的jar插件,給開發(fā)人員提供了很大便利。 PowerDesigner 簡介 PowerDesigner模型設計工具是SyBase公司開的一個建模工具,它可以用于數據庫模型設計,并且兼容幾十種不同廠商的數據庫產品,并且可以自動轉換為SQL腳本語言,直接在數據庫中運行即可,用戶使用時只需要建立正確的數據庫模型即可。除

18、此之外,PowerDesigner還可以用來建立其他模型,如用例圖,狀態(tài)圖,類圖等。還可以用來畫時序圖,活動圖等,并且可以用來生成JAVA源文件7。2.2.3 開發(fā)所用到的技術簡介 MVC思想 MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務8。 視圖是用戶看到并與之交互的界面。在新式的Web應用程序中,JSP開始在 視圖中扮演著重要的角色,但一些新的技術已層出不窮。模型表示企業(yè)數據和業(yè)務規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務。控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求。 M

19、VC的處理過程,首先控制器接收用戶的請求,并決定應該調用哪個模型來進行處理,然后模型用業(yè)務邏輯來處理用戶的請求并返回數據,最后控制器用視圖格式化模型返回的數據,并呈現(xiàn)給用戶。如圖2-1所示:視 圖提供了用戶界面,將用戶輸入數據傳遞給控制器或將模型數據顯示給用戶控 制 器連接了模型和視圖,判斷請求交給哪個模型,調用視圖顯示模型處理用戶請求結果模 型封裝了用戶數據和處理數據的業(yè)務邏輯狀態(tài)查詢狀態(tài)改變選 擇 視 圖用 戶 請 求業(yè)務請求圖2-1 MVC架構模型JSP技術JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準

20、,該技術為創(chuàng)建顯示動態(tài)生成內容的Web頁面提供了一個簡捷而快速的方法。JSP技術的設計目的是使得構造基于Web的應用程序更加容易和快捷,而這些應用程序能夠與各種Web服務器,應用服務器,瀏覽器和開發(fā)工具共同工作。JSP技術的優(yōu)勢一次編寫,到處運行,并且系統(tǒng)的多平臺支持。JSP還有強大的可伸縮性,被多樣化和功能強大的開發(fā)工具支持。 Servlet技術Servlet是使用Java Servlet應用程序設計接口(API)及相關類和方法的Java程序。除了Java Servlet API,Servlet還可以用于擴展和添加到API的Java類軟件包。它最常見的用途是擴展Web服務器,提供非常安全的、

21、可移植的、易于使用的CGI替代品。它是一種動態(tài)加載的模塊,為來自Web服務器的請求提供服務。它完全運行在Java虛擬機上14。由于它在服務器端運行,因此它不依賴于瀏覽器的兼容性。2.2.4 開發(fā)所需插件 由于本系統(tǒng)是在eclipse中小組開發(fā),因此用到了CVS開發(fā)jar包,還用到了servlet-api.jar,mysql-jdbc.jar,commons-fileupload.jar等jar包,分別用于服務器與后臺的連接,后臺與數據庫的連接,文件上傳功能。3 系統(tǒng)可行性研究和需求分析3.1 系統(tǒng)可行性分析3.1.1 市場可行性分析 隨著信息化時代的加快,效率高、功能強的電子商務網站越來越受到

22、歡迎,電子商務是新型商務模式的典型代表,打破了地域的局限性,即使您身處北極,只要能上網,照樣可以通過電子商務進行交易。21世紀是電子商務蓬勃發(fā)展的實際,電子商務的市場份額只能是越來越大,市場上有很大的可行性。3.1.2 技術可行性分析 該系統(tǒng)基于web,采用現(xiàn)在非常流行的Servlet&JSP技術實現(xiàn)。數據庫用的Mysql數據庫。實現(xiàn)起來簡單,方便,易于操作。整體上與數據庫之間的操作用的是數據庫連接池,頁面顯示部分用的是struts提供的一些標簽。整體技術難度適中,完全有能力完成整個開發(fā)過程,技術上有可行性。 3.1.3 時間可行性分析 從系統(tǒng)立項到項目開發(fā)完畢,有充足的時間來查閱文檔,解決開

23、發(fā)過程中遇到的問題,并且有項目完成前,有充足的時間來調試系統(tǒng),完全具有時間上的可行性。3.1.4 成本收益的可行性分析信息系統(tǒng)的開發(fā)過程中,最大的成本是人力成本,而人力成本在該項目開發(fā)中恰恰是最小的成本,相反,時間成本成了最大的成本。物力成本上,開發(fā)工具完全免費,不需要額外原材料,物力成本幾乎為零。這是個付出就有回報的過程,對于軟件開發(fā)的基本流程的進一步熟悉,對于基本知識的進一步鞏固就是整個系統(tǒng)開發(fā)的最大收益,也是最終的目的,因此該系統(tǒng)完全是非常有價值的一次嘗試。3.1.5 系統(tǒng)后續(xù)開發(fā)和維護的可行性 該系統(tǒng)基于JSP Servlet技術開發(fā),整個過程脈絡清晰。在整個開發(fā)過程中,保存了大量的文

24、檔及源碼備份,隨時可以為系統(tǒng)的再次開發(fā)提供強力的幫助。信息系統(tǒng)更新速度非???,如果不持續(xù)更新而固守陳舊,那么就會被時代所淘汰。該系統(tǒng)的開發(fā)正是基于這種思考,在開發(fā)過程中,盡量的降低整個系統(tǒng)的耦合度,業(yè)務邏輯放在實現(xiàn)類中去實現(xiàn),使得系統(tǒng)中所建立的模型相互之間耦合度很低,非常利于后續(xù)開發(fā)和代碼復用。3.2 系統(tǒng)需求分析3.2.1 系統(tǒng)架構設計本系統(tǒng)采用 B/S(Browser/Server)模式體系結構。B/S 模式結構,是 WEB 興起后的一種網絡結構模式。其統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器,從而簡化系統(tǒng)的開發(fā)、維護和使用。B/S 結構采用星形拓撲結構建立企業(yè)內部通信網絡或利用

25、 Internet 虛擬專網(VPN)。前者安全、快捷、準確;后者有節(jié)省投資、跨地域廣等優(yōu)點。在本系統(tǒng)的設計中,要使用MVC模式,將前臺視圖,后臺和數據庫以及中間層分離開來。在編碼過程中要在不同的包中分別:建立模型,實現(xiàn)模型,Servlet連接,數據庫連接類和過濾器。系統(tǒng)的實現(xiàn)方式如圖3-1所示:圖3-1系統(tǒng)結構流程圖通過上圖,可以很清晰的看到本系統(tǒng)的整體架構,通過將不同的功能模塊分離開來,利用Servlet容器和配置文件來實現(xiàn)用戶請求的選擇和調度,大大降低了不同模塊間的耦合度,增強了代碼重用度和健壯性。3.2.2 用戶和管理員的功能需求3.2.2.1 功能模塊劃分該網上購物系統(tǒng)從面向的用戶種

26、類上分共分兩個部分:一部分是商城會員,包括:顧客在線注冊、購物、提交訂單、付款等操作;另一部分是商城管理員,這部分的內容包括:產品的添加、刪除、查詢、訂單的管理、操作員的管理、注冊用戶的管理等。 從模塊上劃分可分為:前臺模塊和后臺模塊兩大部分。 圖3-2顯示出前臺和后臺部分分別要實現(xiàn)的功能模塊。圖3-2 前臺與后臺模塊功能 狀態(tài)圖 在該系統(tǒng)中,前臺模塊與后臺模塊是獨立的兩個模塊,分別對應不同的功能模塊,由不同的JSP頁面來完成頁面的功能控制。3.2.2.2 用戶模塊的功能劃分 (1) 注冊功能。顧客首先要注冊為網上商城的用戶。注冊時只要填寫登錄用戶名、密碼、聯(lián)系電子信箱3項信息即可。注冊后,用

27、戶可繼續(xù)如實填寫詳細個人信息及收貨人信息,同時可修改密碼、查詢及修改訂單。 (2) 選擇產品功能。顧客瀏覽網上商城,將自己需求的產品放入到購物車中(可在網上商城首頁、專柜首頁、產品小類、專賣店首頁、搜索結果頁面、產品詳細信息頁面進行該操作),可連續(xù)添加商品。 (3) 管理購物車。顧客選擇完商品后可進入購物車頁面,查看自己要購買的商品,可修改某一商品數量、取消購買某商品和清空整個購物車。 (4) 訂單功能。顧客確定購物車中的商品后提交訂單,如顧客已填寫收貨人信息,則頁面顯示該信息并由顧客確認。如尚未填寫則顯示相應表單請其填寫,系統(tǒng)記錄顧客提交的收貨人信息以便其下次購物時使用。顧客提交訂單后可在網

28、上商城查詢該訂單,并可對尚未處理的訂單進行取消、修改等操作。 (5) 付款功能。顧客提交的訂單被確認后,要選擇付款方式,在付款之后,管理員更改其狀態(tài)并選擇發(fā)貨。3.2.2.3 管理員模塊的功能劃分 (1) 管理用戶信息功能。負責用戶信息的監(jiān)控和刪除,并有凍結不良用戶的功能,但不能更改用戶信息。 (2) 管理訂單功能。管理員可以查詢并查看訂單,并可以批量查詢未處理的訂單,并且有更改訂單狀態(tài)的功能。 (3) 管理商品功能。管理員可以添加、修改、刪除商品。 (4) 留言管理功能。管理員可以查看和評論留言,并能刪除不良留言。 (5) 廣告管理功能??梢栽谇芭_設置友情鏈接,并且可以添加廣告。3.2.3

29、性能需求3.2.3.1 對數據精確度的要求 對于商品價格和用戶存款的數據要使用BigDecimal類來管理,防止出現(xiàn)因為精度問題而無法購買商品的情況出現(xiàn)。 與CASH有關的數據在數據庫中的存儲也要保留2位小數。并且要保證在整個系統(tǒng)運行過程中,精確度不能出現(xiàn)丟失和改變。3.2.3.2 對系統(tǒng)易用性、可移植性、健壯性的要求易用性:整個購物系統(tǒng)要簡單易用,用戶容易上手并且能很容易的找到用戶想找的功能模塊。購物流程要明白,公告和通知位置顯眼,能被用戶看到,產品圖片要清晰,產品信息描述要準確??梢浦残裕赫麄€購物系統(tǒng)能符合服務器平臺的需要,可以保證在集群服務器上,在不同的服務器環(huán)境中都可以順利運行。健壯性

30、:系統(tǒng)要具有較強的適應能力,能承受住較多用戶同時訪問的需要,并且系統(tǒng)的相關文檔要保留完整,源碼標注清晰,結構合理,便于后續(xù)的開發(fā)和維護。4 系統(tǒng)概要設計4.1 系統(tǒng)總體功能流程圖系統(tǒng)總體分為前臺模塊和后臺模塊兩個部分。圖4-1描述前臺模塊的整體流程:圖4-1 購物系統(tǒng)前臺模塊流程圖圖4-2描述的是后臺模塊的整體流程:圖4-2 購物系統(tǒng)后臺模塊流程圖4.2 系統(tǒng)數據庫設計數據庫的設計非常重要,直接關系著系統(tǒng)的整體穩(wěn)定性。數據庫的設計過程中要參照以下規(guī)范:1. 數據庫表設計時,表名稱要采用英文單詞+下劃線+tb的形式。采用這種命名方式的含義是:user_tb用戶表。表達意思簡單明確。2. 表中字段

31、的命名方式采用表名稱縮寫+下劃線+英文單詞的形式。采用這種命名方式的含義是:u_name用戶名稱 u_truename用戶真實姓名。3. 數據庫設計主要要劃分為四個核心模塊:用戶,管理員,商品,訂單。表的設計要結構清晰、有條理,還要高效。具體設計為以下14張表,存儲內容如下所示: 用戶表:用戶ID,用戶等級ID,用戶名,密碼,真實姓名,郵箱,性別,年齡,地址,電話,消費額,密碼問題。 收藏表:用戶ID,商品ID,收藏時間,收藏地址。 用戶等級折扣表:等級折扣表ID,等級名稱,消費額,折扣。 訂單表:訂單ID,用戶ID,訂單號,品種數,地址,收件人,訂單日期,聯(lián)系電話,說明,貨物位置。 訂單詳細

32、表:訂單詳細ID,訂單ID,商品ID,商品數量,價格。 商品表:商品ID,品牌ID,名稱,價格,圖片名稱,上架時間,簡介,庫存,成交量,點擊量。 品牌表:品牌ID,品牌名,品牌編號,狀態(tài)。 商品種類:編號,總分類ID,類別名稱,狀態(tài)。 商品總分類:總分類ID,分類名稱,狀態(tài)。 管理員表:管理員ID,用戶名,密碼,類型。 留言表:用戶ID,留言內容,留言時間。 留言回復表:留言表ID,管理員ID,回復留言內容,回復時間。 商品評價表:商品評價ID,商品ID,用戶ID,評價內容,評價時間。 打折表:打折ID,消費金額起點,折扣。數據庫的外鍵設計: 可以通過訂單表查看用戶信息和商品信息。 可以根據留

33、言回復表查看到管理員信息和用戶留言信息。 可以通過用戶等級折扣表查看打折水平。 可以通過商品表查詢到商品小分類和總分類。4.3 系統(tǒng)頁面和模塊設計系統(tǒng)的頁面包括前臺部分和后臺部分,前臺部分包括前臺商品部分和用戶部分,通過JSP頁面來實現(xiàn)系統(tǒng)的功能。商品部分:404.jsp 作用:提示請求頁面沒有找到。 405.jsp 作用:提示服務器繁忙。 goodsdetailssub.jsp 作用:商品詳細信息描述。 goodsdisplay.jsp 作用:前臺商品展示。 register.jsp 作用:用戶注冊頁面。 top.jsp 作用:嵌入frame.jsp中,為首頁面的頂部描述。 bottom.j

34、sp 作用:嵌入frame.jsp中,為首頁面的底部說明。用戶部分:collectshow.jsp 作用:顯示會員的收藏夾。 gouwuche.jsp 作用:顯示用戶的購物車信息。 Memberinfo.jsp 作用:會員信息。 userReplymessage.jsp 作用:顯示管理員回復信息。后臺部分:Error.jsp 作用:登錄錯誤跳轉頁面。 Login.jsp 作用:登錄頁面。 Menu.jsp 作用:左側菜單頁面。 Newadd.jsp 作用:增加管理員。 Showgoods.jsp 作用:商品檢索頁面。 Lookorder.jsp 作用:訂單查看頁面。 Goodsadd.jsp

35、作用:增加商品頁面。5 總體設計與實現(xiàn)5.1 數據庫設計與實現(xiàn)5.1.1 數據庫表設計根據4.2中對數據庫設計的要求,在該系統(tǒng)中建立了14張表,定義了14個外鍵約束,用PowerDesigner設計數據庫模型如圖5-1所示:圖5-1 PowerDesigner設計數據庫表和外鍵關系 根據數據庫設計要求,數據庫設計中一共要建表14張,分別為: 商品表 品牌表 商品種類 商品總分類 商品評價 用戶表 收藏表 用戶登記表 留言表 訂單表 訂單詳細表 管理員表 回復留言表 打折表 在數據庫的設計中,通過以上14張表存放商城商品和交易信息。14張表主要分為用戶部分,訂單部分,商品部分,和管理員部分4大塊

36、。通過外鍵約束實現(xiàn)了對于不同表的相互關聯(lián)和約束。例如:收藏表作為從表,外鍵關聯(lián)于商品表和用戶信息表,通過設置外鍵用戶id可以得到某用戶信息,通過設置外鍵商品id可以查詢到用戶收藏的商品信息,而且在外部發(fā)出更新和刪除請求時,通過設置CASCADE級聯(lián)刪除,可以強制更新商品信息。注:關于該系統(tǒng)數據庫創(chuàng)建的SQL腳本和模型均存放在附錄中。腳本為MySQL版和SQLServer版共兩份。5.1.2 數據庫的約束與關系 在該系統(tǒng)數據庫中,共定義了14個外鍵約束。主要的外鍵關系如下:u 訂單表 user_id 關聯(lián) 用戶表 user_id;u 收藏表 user_id 關聯(lián) 用戶表 user_id;u 訂單

37、詳細表 o_id 關聯(lián) 訂單表 o_id;u 商品表 g_id 關聯(lián) 品牌表 g_id;u 品牌表 t1_id 關聯(lián) 商品種類表 t1_id;u 回復留言表 m_id 關聯(lián)管理員表 m_id; 以上外間關系中各字段名稱注釋如下:user_id表示用戶ID,o_id表示訂單ID,g_id表示商品ID,t1_id表示商品種類ID,m_id表示管理員ID。 其他字段詳細描述請參照附錄中數據庫表與字段注釋。5.2 系統(tǒng)主要功能的設計與實現(xiàn)5.2.1 數據庫連接池類與數據庫工廠類簡介5.2.1.1 DBConnectionPool類詳解 DBConnectionPool類是本項目中的數據庫連接池類,是按

38、照線程創(chuàng)建和調度的思路創(chuàng)建一個數據庫連接池,通過泛型隊列 Vector 來創(chuàng)建一個固定連接數的連接池,系統(tǒng)發(fā)送出連接數據庫的請求時,通過調用該類中的getConnection()方法來釋放一個連接,同時在隊列中減去1,從而實現(xiàn)了對連接數的控制,并且極大的提高了數據庫的訪問效率。 DBFactory類是本項目中的數據庫工廠類。它實現(xiàn)了DBConnectionPool中的getConnection() 方法,當外部類調用時將 它封裝了一些對數據庫進行SQL操作的方法,供外部類來實現(xiàn)對數據庫的訪問。例如:外部類要執(zhí)行數據庫查詢,它只需通過調用executeQuery(sql)方法,傳進SQL語句作為

39、參數即可返回ResultSet結果集,然后在結果集中檢索即可。同理,外部類執(zhí)行數據庫插入和刪除操作,它只需要調用executeOperate(sql) 方法,傳進SQL語句作為參數即可返回ResultSet結果集,查詢完畢后要釋放資源時,通過調用DBConnectionPool的release()方法來釋放資源。 DBConnectionPool 類和 DBFactory類工作方式如圖5-2所示: 圖5-2 UserImpl與GoodsImpl操縱數據庫 類圖DBConnectionPool類的具體實現(xiàn)方式(核心代碼):/返回當前連接池的一個對象public static DBConnecti

40、onPool getInstance() if (null = instance) instance = new DBConnectionPool();return instance;通過getInstance()方法獲取一個DBConnectionPool類實例/獲取連接池中的一個連接 public synchronized Connection getConnection() if (pool.size() 0) conn = pool.get(0);/ 獲取連接pool.remove(conn);/ 將連接從連接池中移除return conn;通過getConnection()方法返回一

41、個數據庫連接/ 釋放連接public synchronized void release(Connection conn) pool.add(conn);通過release()方法釋放數據庫連接以下簡要介紹 Java與數據庫建立連接的實現(xiàn)方式:/初始化連接池、讀取配置文件(存放著數據庫連接信息)private void init() pool = new Vector(poolSize);/ 初始化連接池/在連接池中添加連接private void addConnection() Connection conn = null;Class.forName(driver); for (int i

42、= 0; i poolSize; i+) conn = DriverManager.getConnection(url, username, password);pool.add(conn);/讀取配置文件private void readConfig() Properties prop = new Properties();/ 定義一個屬性實例prop.load(pool.properties);/ 加載屬性文件this.setDriver(prop.getProperty(driver); 在創(chuàng)建連接池時,用到的JAVA Collection 為Vector,Vector可以實現(xiàn)動態(tài)數組,

43、并且是線程安全的,非常適合與創(chuàng)建數據庫連接池。 以上核心代碼可以分解為如下的過程:數據庫連接池類被JVM加載時,先執(zhí)行了類的默認構造函數。我在構造函數中調用了init()初始化方法,類的初始化包括讀取配置文件和初始化連接池和添加連接3個方法即new Vector(poolSize)、readConfig()、addConnection()這三個方法,通過這三個方法,可以滿足數據庫連接池創(chuàng)建的基本條件。在該系統(tǒng)中只是實現(xiàn)了數據庫連接池的基本功能,線程池還要具備線程休眠和用戶連接過載時自動添加額定數量的連接的技術,來控制連接安全。通過自動添加固定的連接數,可以實現(xiàn)連接池的自動控制,從而避免了連接過

44、載導致系統(tǒng)崩潰的情況發(fā)生。 連接池的基本工作原理如圖5-3所示:圖5-3 連接池的基本工作原理數據庫連接池這種設計模式屬于應用共享資源的開發(fā)中非常著名的一種設計模式:資源池(Resource Pool)。該模式正式為了解決資源的頻繁分配、釋放所造成的一系列問題而設計的。這種模式通過設定連接池的最大連接數來防止系統(tǒng)無控制的與數據庫系統(tǒng)的連接,減小了數據庫系統(tǒng)因過載而崩潰的可能,大大提高了對系統(tǒng)與數據庫連接控制的靈活性。數據庫連接池在高效性和穩(wěn)定性上也具有極大的優(yōu)勢。例:在eclipse中新建兩個類DBTest.java和DBPoolTest.java 在DBTest中,利用for循環(huán)控制類與數據

45、庫建立1000次連接,同樣,在DBPoolTest中通過for循環(huán),利用線程池與數據庫建立1000次連接。圖5-4是類運行結果的截圖:圖5-4 兩種連接方式的比較 從圖5-4可以很明顯地看出,當并發(fā)連接數為1000時,用傳統(tǒng)方式連接的DBTest類已經崩潰,拋出“連接異常,端口被占用”的異常,而利用數據庫連接池的DBPoolTest類建立1000次連接僅耗時422毫秒。 下面進行一次連接數為百萬次的測試。 把連接數改成1000000次,由于第一個類在1000次連接已經崩潰,因此此次只測試DBPoolTest類:圖5-5 DBPoolTest進行一百萬次連接 通過圖5-5可以看到利用線程池進行一

46、百萬次連接僅耗時484毫秒,由此很明顯就可以看出數據庫連接池的高效率和穩(wěn)定性。5.2.1.2 DBFactory類的實現(xiàn)方式和功能 DBFactory類是數據庫連接的工廠類,它封裝了一系列執(zhí)行數據庫操作的方法,如圖5-6所示:圖5-6 其他類對DBFactory的調用 DBFactory類通過DBConnectionPool類釋放的連接來與數據庫取得連接。該類對外只提供一些接口,供其他類來調用,通過調用工廠方法使得數據庫的連接變得規(guī)則有序并且效率極高,極大的方便了數據庫操作代碼的編寫。 DBFactory類獨立使用時一般效率不高,與數據庫連接池聯(lián)合使用時才有著強大的威力,這樣做大大的簡化了數據

47、庫操作。5.2.2 用戶注冊登錄模塊的實現(xiàn)方式 任何的購物網站,用戶都是最主要的對象,用戶模塊的實現(xiàn)關系到系統(tǒng)的易用性和被接受程度,本購物網站管理系統(tǒng)也不例外。在本系統(tǒng)中用戶主要分為了游客和商城注冊會員兩種。這兩種角色分別對應著不同的功能和訪問范圍。 下面分類介紹一下本系統(tǒng)所面對的主要對象的功能范圍和用戶注冊登錄模塊的實現(xiàn)方式。5.2.2.1 會員與游客的功能范圍 在該系統(tǒng)中,用戶分為游客和商城注冊會員兩種: 游客:可以在商城內留言商品,查詢商品信息,查看商品評價,可以比較同類不同品牌商品之間差別,但游客不能下訂單,不能將商品添加到購物車,游客也不能對商品下訂單。 會員:該購物網站會員可以自由

48、購買商品,查看商品信息,查看其他用戶的評論,并且可以發(fā)表評論。 圖5-7為用PowerDesigner設計的展示游客和商城會員功能的用例圖:圖5-7 游客與會員功能用例圖 通過圖5-7可以很清楚的看到游客和會員所分別具有的功能模塊。可以看到,只有商城的注冊會員才擁有下訂單、使用購物車和購買商品的權限。在后兩部分中將會具體說明用戶注冊模塊和用戶登錄模塊的實現(xiàn)方式。 除此之外,商城的注冊會員還可以根據購買商品獲得的積分,獲得一定的等級,可以以一定打折扣購買商品,如圖5-8所示。圖5-8 會員等級圖示 會員的等級劃分方法如表所示:表5-1 商城會員積分折扣映射表用戶等級積分設定折扣率新手01.0初級

49、5000.95中級15000.9高級50000.85終極100000.8 如表5-1所示,商品的折扣情況實際在后臺控制,這一模塊在5.2.3管理員功能實現(xiàn)中將講到。5.2.2.2 用戶注冊模塊的實現(xiàn) 用戶注冊模塊,核心部分就是注冊驗證和服務器端驗證。 用戶注冊模塊在瀏覽器端的驗證主要是通過JavaScript腳本,在JS腳本中添加驗證函數,然后在input輸入框中onBlur屬性中添加checkusername()函數,當用戶輸入完用戶名后會激發(fā)checkusername()函數來檢驗用戶名是否合法,該校驗核心部分代碼如下:function checkusername() var userna

50、me =document.getElementById(u_name).value; if(username.length16) var sp= document.getElementById(sp); sp.innerHTML=用戶名長度不合要求; return false; 為了安全起見,一般要在服務器端在進行一次校驗,如果需要還會進行框架校驗,在服務器端的校驗一般是通過導入xwork JAR包,然后在通過繼承于ActionSupport類,重寫其中的validate()方法來校驗,校驗部分核心代碼如下:public void validate() if(username=null|.eq

51、uals(username)this.addFieldError(username, 姓名不能為空!);if(username.length()16|username.length()4)this.addFieldError(username, 姓名長度不符合要求!);if(age100)this.addFieldError(age, 年齡必須在1到100之間!); 密碼和其他部分校驗的校驗結果如圖5-9所示:圖5-9 瀏覽器端用戶信息校驗 通過兩次校驗,數據庫接受的將會是符合數據庫設計的準確信息,避免了拋出一堆異常代碼給用戶瀏覽器端的情況的出現(xiàn)。5.2.2.3 用戶登錄模塊的實現(xiàn) 用戶注冊完

52、成后即可返回首頁面通過點擊登錄按鈕進行登錄。登錄模塊采用了隱藏DIV,點擊登錄后,將會激發(fā)displayloginboard()函數,該函數將控制顯示一個登錄窗,實現(xiàn)了懸浮的效果。登錄窗實際上是一個form表單,在登錄窗中輸入用戶名和密碼后,點擊登錄按鈕,系統(tǒng)將會根據form中的action,在web.xml配置文件中去尋找UserControl.do對應的JAVA校驗類,用戶輸入的用戶名和密碼將通過POST方法傳入到doPost()方法中,在該方法中通過連接數據庫進行校驗,并且返回登錄信息。如圖5-10所示:圖5-10 登錄后用戶名顯示 在首頁面底部同時也將出現(xiàn)懸浮提示框:歡迎用戶XX登錄物

53、美校園。如圖5-11所示:圖5-11懸浮框提示 用戶注冊與登錄模塊 主要實現(xiàn)了兩個功能: 實現(xiàn)了用戶注冊校驗和數據庫存儲用戶信息。 實現(xiàn)了用戶登錄時的信息查詢和校驗。 因此,這一環(huán)節(jié)的復雜度基本體現(xiàn)在雙層校驗上,在這里說明一種校驗方式-漢字校驗。 漢字校驗的原理是UTF-8編碼中某幾個區(qū)間內編碼為漢字,基本上覆蓋了常用到的可以遇到的2萬多個漢字,漢字在UTF-8中的區(qū)間為u4E00到u9FA5和uF900到uFA2D,漢字校驗流程如圖5-12所示:圖5-12 漢字校驗狀態(tài)圖 通過以上代碼可以看到,校驗函數傳進的參數為用戶輸入的字符串,通過將字符串解析為字符數組,從而完成了字符校驗,在實際應用中

54、,通過類方法調用此函數,即可完成校驗。5.2.3 管理員登錄和其功能范圍的實現(xiàn) 管理員是網站后臺的主角,任何網站都需要管理員默默無聞的維護著整個網站的正常運行。B2C購物網站,商品的添加修改刪除,訂單的管理,用戶信息的管理,廣告系統(tǒng)的管理,留言管理等都需要管理員來管理。管理員是整個后臺的核心部分。5.2.3.1 管理員登錄模塊的實現(xiàn) 在較有規(guī)模的管理系統(tǒng)中,為了安全起見,一般不在前臺頁面中顯示出后臺的管理登陸入口,后臺管理模塊應該是完全獨立于前臺頁面之外的一個模塊。在該系統(tǒng)中為了便于調試,在前臺頁面底部留下了登錄入口。管理員通過點擊“后臺管理”即可連接到后臺登錄的JSP頁面,該頁面為系統(tǒng)中的a

55、dmin/login.jsp。管理員登錄頁面效果如圖5-13所示:圖5-13 管理員登錄頁面 管理員用戶名和密碼輸入完畢后,點擊登錄按鈕,tomcat服務器將會根據form表單中聲明的action地址在web.xml中尋找對應的,隨后又會尋找中對應的處理類地址。在最終的Servlet處理類Control.java在該servlet類中,可以看到,通過將傳進的username和password加入到一個ManagerModel對象中,然后將該對象傳到ManagerDao類中的login方法體中,順利的完成了校驗。 該系統(tǒng)的管理員校驗方法屬于常規(guī)的校驗方法。由于管理員的權限很大,所以管理員賬號的安

56、全問題也是非常重要。關鍵數據保存時,最好不要以明文的方式保存。各數據庫廠商也提供了一系列的方法來用于數據加密。以MySQL為例,MySQL內建函數中提供了:ENCRYPT(str,salt),ENCODE(str,pass_str),MD5(string),SHA1(string),SHA(string) ,AES_ENCRYPT(string,key_string)這幾種加密方式,供用戶使用。5.2.3.2 管理員功能范圍的實現(xiàn)方式 一般來講,在一個大的管理系統(tǒng)中,管理員角色并非唯一,不同的管理員對應不同的職位或部門,有用特定模塊的管理權限。還應有一個超級管理員,該角色具有添加修改刪除其他模

57、塊管理員的權限。在該系統(tǒng)中管理員功能模塊如圖5-14所示:圖5-14 管理員功能模塊用例圖 管理員登錄后,在主界面上將提示出登錄的管理員的有關信息,包括:管理員名稱,管理員注冊時間,管理員上次登錄時間,管理員賬戶有效登錄時間等相關信息,管理員登錄的首頁面如圖5-15所示:圖5-15 管理員登錄首頁面 管理員功能: 商城介紹信息的更改 商品管理包括(商品添加,商品信息更新,商品下架,商品分類管理) 客戶管理包括(查看用戶信息,用戶級別管理,用戶刪除) 訂單管理包括(查看訂單,搜索訂單,訂單狀態(tài)更新,訂單取消,訂單數據分析) 留言管理包括(查看留言,留言回復,留言評論管理) 廣告管理包括(友情鏈接

58、添加,廣告信息發(fā)布,廣告信息刪除,廣告排序和時限管理) 支付方式管理包括(在線支付設置,支付寶設置,銀行賬號設置,貨到付款設置) 管理員的功能的實現(xiàn)通過admin文件夾的多個JSP頁面來實現(xiàn),每個頁面都對應一個具體的管理員功能,以商品管理為例,在該系統(tǒng)中,商品管理由goodsadd.jsp,goodsupdate.jsp,showgoods.jsp,showsearchgoods.jsp這幾個頁面來完成。分別對應商品的添加、修改、展示、商品檢索功能。其它各部分的實現(xiàn)方式相同。圖5-16 添加商品界面管理系統(tǒng)中,管理員的功能范圍和權限控制非常重要,特別是功能范圍,實際可能遇到的所有查詢功能都要在系統(tǒng)的開發(fā)過程中有所體現(xiàn)。5.3.3.3 管理員管理在后臺設置了管理員選項,在這里可以添加、修改和刪除管理員信息。圖5-17是管理員添加的頁面:圖5-17 管理員添加 由于在該系統(tǒng)的設計中,沒有采用超級管理員來管理普通管理員,因此,任何管理員都是超級管理員。 管理員還可以通過修改管理員信息頁面來修改密碼。5.3.3.4 管理員留言回復功能的實現(xiàn) 當用戶在前臺頁面上留言后,管理員在后臺就可以看到。管理員若需要回復留言時,點回復按鈕,即可顯現(xiàn)出一個textarea文本輸入框,在其中輸入回復內容即可。這一功能是通過JS來實現(xiàn)的,核心代碼如下:

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!