網(wǎng)上商城管理系統(tǒng)
《網(wǎng)上商城管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《網(wǎng)上商城管理系統(tǒng)(46頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 XXXXXX大學(xué)本科生畢業(yè)論文(設(shè)計) 題 目 網(wǎng)上商城管理系統(tǒng) 學(xué) 院 計算機(jī)學(xué)院 專業(yè)班級 學(xué)生姓名 XXXXXXXXXXXXXXXXX 指導(dǎo)教師 XXXXXXXXX 撰寫日期:二XX年五月四日 42目 錄 1 引言11.1 系統(tǒng)開發(fā)的背景和現(xiàn)狀11.1.1 電子商務(wù)網(wǎng)站開發(fā)背景11.1.2 電子商務(wù)網(wǎng)站的現(xiàn)狀11.2 系統(tǒng)開發(fā)的目的和意義21.2.1 系統(tǒng)開發(fā)的目的21.2.2 系統(tǒng)開發(fā)的意義22 系統(tǒng)運(yùn)行環(huán)境和開發(fā)平臺32.1 系統(tǒng)運(yùn)行環(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ā)所用到的技術(shù)簡介42.2.4 開發(fā)所需插件63 系統(tǒng)可行性研究和需求分析73.1 系統(tǒng)可行性分析73.1.1 市場可行性分析73.1.2 技術(shù)可行性分析73.1.3 時間可行性分析73.1.4 成本收益的可行性分析73.1.5 系統(tǒng)后續(xù)開發(fā)和維護(hù)的可行性73.2 系統(tǒng)需求分析83.2.1 系統(tǒng)架構(gòu)設(shè)計83.2.2 用戶和管理員的功能需求93.2.3 性能需求104 系統(tǒng)概要設(shè)計114.1 系統(tǒng)總體功能流程圖114.2 系統(tǒng)數(shù)據(jù)庫設(shè)計134.3 系統(tǒng)頁面和模塊設(shè)計145 總體設(shè)計與實(shí)現(xiàn)155.1 數(shù)據(jù)庫設(shè)計與實(shí)現(xiàn)155.1.1 數(shù)據(jù)庫表設(shè)計155.1.2 數(shù)據(jù)庫的約束與關(guān)系165.2 系統(tǒng)主要
3、功能的設(shè)計與實(shí)現(xiàn)165.2.1 數(shù)據(jù)庫連接池類與數(shù)據(jù)庫工廠類簡介165.2.2 用戶注冊登錄模塊的實(shí)現(xiàn)方式205.2.3 管理員登錄和其功能范圍的實(shí)現(xiàn)245.2.4 商品購買及購物車的實(shí)現(xiàn)295.2.5 訂單和訂單管理的實(shí)現(xiàn)方式316 系統(tǒng)測試366.1 系統(tǒng)測試概述366.2 系統(tǒng)黑盒測試366.3 系統(tǒng)白盒測試377 結(jié)語397.1 本系統(tǒng)的優(yōu)點(diǎn)397.2 本系統(tǒng)的不足之處及發(fā)展意見397.3 在系統(tǒng)設(shè)計與實(shí)現(xiàn)過程中的收獲40參考文獻(xiàn)41致謝42附錄43網(wǎng)上商城管理系統(tǒng)XX信息與管理科學(xué)學(xué)院軟件工程專業(yè)摘要: 21世紀(jì)是電子商務(wù)蓬勃發(fā)展的世紀(jì)。社會經(jīng)濟(jì)的發(fā)展使得人們的生活水平有了很大提高。
4、計算機(jī)科學(xué)的發(fā)展和互聯(lián)網(wǎng)的普及,電子商務(wù)在經(jīng)濟(jì)發(fā)展中的作用也越來越明顯,因此很受大家的歡迎。本系統(tǒng)是以JAVA語言為基礎(chǔ),用JSP Servlet技術(shù)來實(shí)現(xiàn)的一個在線購物及后臺管理系統(tǒng)。它實(shí)現(xiàn)了一個在線購物網(wǎng)站所需的基本功能,包括:商品展示,商品檢索,商品評論,購物車,商品添加,訂單管理等功能。它提供了友好的交互頁面和豐富的功能,通過頁面展示豐富多樣的產(chǎn)品,讓顧客流連忘返。本系統(tǒng)是一個B2C模式的在線購物平臺。B2C模式是電子商務(wù)領(lǐng)域發(fā)展較為成熟的平臺之一,典型代表為卓越、京東。本系統(tǒng)采用B2C模式,通過強(qiáng)大的后臺管理功能和后續(xù)研發(fā)優(yōu)勢,本系統(tǒng)必將更加完善,更加滿足電子商務(wù)發(fā)展要求。關(guān)鍵字:電
5、子商務(wù)、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 電子商務(wù)網(wǎng)站開發(fā)背景 近年來,隨著Internet的迅速崛起
9、,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費(fèi)者展示出一種新穎的購物理念。 電子商務(wù)代表著未來貿(mào)易方式的發(fā)展方向,其應(yīng)用和推廣將給社會和經(jīng)濟(jì)帶來極大的效益。具有強(qiáng)大生命力的現(xiàn)代電子交易手段己越來越被人們所認(rèn)識,發(fā)達(dá)國家在這方面有很多年的發(fā)展歷史,發(fā)展中國家也正在加緊制定總體發(fā)展戰(zhàn)略,大力促進(jìn)電子商務(wù)在國民經(jīng)濟(jì)各個領(lǐng)域的應(yīng)用,力爭在越來越激烈的國際競爭中占據(jù)有利的地位。因此,對于網(wǎng)上購物技術(shù)的研究和實(shí)現(xiàn),以及搭建一個實(shí)用的網(wǎng)上商店是很重要的。1.1.2 電子商務(wù)網(wǎng)站的現(xiàn)狀 在美、日等信息化程度較高的國家和地區(qū),
10、網(wǎng)絡(luò)商店發(fā)展速度迅猛,美國的世界級超一流的零售商,如沃爾瑪凱瑪特、家庭倉儲、科羅格、J.C培尼等紛紛躋身于網(wǎng)絡(luò)經(jīng)商的行列。 在我國,網(wǎng)上購物從無到有也不過短短幾年時間。如今,在北京、上海、深圳等大城市,已有200多家商場,專賣店開設(shè)了網(wǎng)上商店,還有一些正處在觀望階段。真正意義上的網(wǎng)上購物,即貨款的結(jié)算在網(wǎng)上進(jìn)行,已在國內(nèi)實(shí)現(xiàn)。電子商務(wù)的發(fā)展也越來越多樣化,模式有B2B,B2C,C2C等,也涌現(xiàn)出一大批優(yōu)秀的電子商務(wù)網(wǎng)站,從淘寶,拍拍,阿里巴巴外貿(mào),卓越,貝塔斯曼,到現(xiàn)在的中關(guān)村在線,1號店,京東商城等?;陔娮由虅?wù)所連帶出的商品交易方案、電子結(jié)賬方案和信息安全方案等,已逐步成為國際信息技術(shù)市場
11、競爭的焦點(diǎn)。隨著電子商務(wù)的日益發(fā)展,產(chǎn)生了虛擬銀行、網(wǎng)絡(luò)營銷、網(wǎng)上購物、網(wǎng)絡(luò)廣告等新興信息產(chǎn)業(yè),從側(cè)面反應(yīng)了電子商務(wù)正在對社會和經(jīng)濟(jì)產(chǎn)生著深刻的影響。不僅如此,基于電子商務(wù)模式的擴(kuò)展,團(tuán)購網(wǎng)絡(luò)和其他電子商務(wù)輔助型網(wǎng)站的也正變得越來越熱,在未來,電子商務(wù)必定有著更廣闊的發(fā)展空間。1.2 系統(tǒng)開發(fā)的目的和意義1.2.1 系統(tǒng)開發(fā)的目的 電子商務(wù)主要包括網(wǎng)上廣告、訂貨、付款、客戶服務(wù)和貨物遞交等,售前、售中、售后以及市場調(diào)查分析、財務(wù)核算及生產(chǎn)安排等多項(xiàng)利用Internet開發(fā)的商業(yè)活動,它對人類社會進(jìn)行著全方位的改造,在企業(yè)競爭、政府部門、公共研究機(jī)構(gòu)、教育以及娛樂等方面改變著人類相互交往的方式,
12、為人們展示了一個全新、璀璨的世界。由于電子商務(wù)的出現(xiàn),傳統(tǒng)的經(jīng)營模式和經(jīng)營理念將發(fā)生巨大的變化。電子商務(wù)主要以飛速發(fā)展的遍及全球的 Internet 網(wǎng)絡(luò)為架構(gòu),以交易雙方為主體,以銀行支付和結(jié)算為手段,以客戶數(shù)據(jù)庫為依托的全新商業(yè)模式。電子商務(wù)將會創(chuàng)造巨大的效益和機(jī)會,會將市場的空間形態(tài)、時間形態(tài)和虛擬形態(tài)結(jié)合起來,將物流、資金流、信息流匯集成開放的、良性循環(huán)的環(huán)路,使經(jīng)營者以市場為紐帶,在市場上發(fā)揮最佳的作用,得到最大的效益。1.2.2 系統(tǒng)開發(fā)的意義 從電子商務(wù)的發(fā)展特點(diǎn)來看,可以看出開發(fā)一個網(wǎng)上購物系統(tǒng)有以下幾點(diǎn)重大的意義:l 投資少,回收快。 l 基本不需要占壓資金。 l 24小時營
13、業(yè)時間。l 不受店面空間的限制。 l 不受地理位置影響。從這些先天的優(yōu)勢可以看出,電子商務(wù)的進(jìn)一步蓬勃發(fā)展是時代的趨勢,盡早積極開發(fā)網(wǎng)上購物系統(tǒng)網(wǎng)站有著非常大的現(xiàn)實(shí)意義。2 系統(tǒng)運(yùn)行環(huán)境和開發(fā)平臺2.1 系統(tǒng)運(yùn)行環(huán)境 本系統(tǒng)的開發(fā)采用 Java 編程語言。由于 Java 語言具有跨平臺的特性,因此,本系統(tǒng)可以在 Windows、Linux、Unix 等不同環(huán)境下運(yùn)行。2.1.1 系統(tǒng)軟件環(huán)境 本購物網(wǎng)站系統(tǒng)為由JAVA語言和JSP技術(shù)開發(fā)的商業(yè)網(wǎng)站,運(yùn)用了B/S(Browser/Server)技術(shù),具有跨平臺的特性。本系統(tǒng)采用Browser/Web/Database是管理信息系統(tǒng)的三層體系結(jié)構(gòu)
14、,在這種體系結(jié)構(gòu)里,客戶端的瀏覽器程序不直接訪問位于服務(wù)器上的后臺數(shù)據(jù)庫,而是通過位于中間層的Web服務(wù)器或支持Web的應(yīng)用服務(wù)器訪問數(shù)據(jù)庫3。因此,系統(tǒng)對于客戶端的要求不高,而服務(wù)器端則要求安裝某些必需軟件。具體配置如下: 客戶端軟件環(huán)境要求:1 安裝web瀏覽器 2 安裝有圖片編輯軟件 3 安裝Adobe Flash IE插件 服務(wù)器端軟件環(huán)境要求:1 Windows Server2003或Windows Server2008操作系統(tǒng)2 安裝有MySQL和SQLServer 2005數(shù)據(jù)庫系統(tǒng)3 安裝有SQL Server Management Studio數(shù)據(jù)庫管理軟件4 安裝有MySQ
15、L Administrator和Navicat數(shù)據(jù)庫管理軟件5 安裝有J2SE 6.23版JDK開發(fā)工具包6 安裝有Apache WEB服務(wù)器Tomcat 6.02.1.2 系統(tǒng)硬件環(huán)境 系統(tǒng)對于客戶端的硬件環(huán)境也不高,但是服務(wù)器的性能一定要穩(wěn)定。具體基本配置如下: 客戶端硬件環(huán)境配置:1 CPU:奔騰 1.2 GHz2 內(nèi)存:256MB3 硬盤:40GB 服務(wù)器端硬件環(huán)境配置:1 CPU:至強(qiáng) Xeon 3.6 GHz2 內(nèi)存:8GB3 硬盤:2TB2.2 系統(tǒng)開發(fā)平臺2.2.1 開發(fā)語言環(huán)境 該網(wǎng)上購物系統(tǒng)是用JAVA語言開發(fā)的在線商務(wù)系統(tǒng)。Java是一種跨平臺的語言,可以在不同的操作系統(tǒng)
16、環(huán)境中運(yùn)行,只要有java解釋器和瀏覽器就可以運(yùn)行,java是面向?qū)ο缶幊讨械囊环N經(jīng)典語言2。2.2.2 開發(fā)所需工具簡介 J2SE開發(fā)人員工具包JDK簡介 J2SE開發(fā)人員工具集是SUN公司為JAVA程序開發(fā)人員提供的基礎(chǔ)工具集,它封裝了許多基礎(chǔ)JAVA類庫,并且提供了JVM,java程序的運(yùn)行是在JAVA虛擬機(jī)中運(yùn)行,在客戶端通過java解釋器來顯示信息。 Tomcat 簡介 Tomcat 是 Apache Group 在 Sun 的 JSWDK 基礎(chǔ)上開發(fā)的可直接提供 Web 服務(wù),并且支持 Servlet 的web服務(wù)器,是 Sun 官方推薦的 servlet 和 jsp 容器。Tom
17、cat服務(wù)器是完全的開源服務(wù)器,完全免費(fèi),有著非常廣泛的應(yīng)用10。 MyEclipse 簡介 MyEclipse 是由 Genuitec 發(fā)布的 eclipse 插件,同時也是一款功能強(qiáng)大的 J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。MyEclipse提供了許多非常有價值的jar插件,給開發(fā)人員提供了很大便利。 PowerDesigner 簡介 PowerDesigner模型設(shè)計工具是SyBase公司開的一個建模工具,它可以用于數(shù)據(jù)庫模型設(shè)計,并且兼容幾十種不同廠商的數(shù)據(jù)庫產(chǎn)品,并且可以自動轉(zhuǎn)換為SQL腳本語言,直接在數(shù)據(jù)庫中運(yùn)行即可,用戶使用時只需要建立正確的數(shù)據(jù)庫模型即可。除
18、此之外,PowerDesigner還可以用來建立其他模型,如用例圖,狀態(tài)圖,類圖等。還可以用來畫時序圖,活動圖等,并且可以用來生成JAVA源文件7。2.2.3 開發(fā)所用到的技術(shù)簡介 MVC思想 MVC是一個設(shè)計模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)8。 視圖是用戶看到并與之交互的界面。在新式的Web應(yīng)用程序中,JSP開始在 視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮。模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務(wù)??刂破鹘邮苡脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的需求。 M
19、VC的處理過程,首先控制器接收用戶的請求,并決定應(yīng)該調(diào)用哪個模型來進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來處理用戶的請求并返回數(shù)據(jù),最后控制器用視圖格式化模型返回的數(shù)據(jù),并呈現(xiàn)給用戶。如圖2-1所示:視 圖提供了用戶界面,將用戶輸入數(shù)據(jù)傳遞給控制器或?qū)⒛P蛿?shù)據(jù)顯示給用戶控 制 器連接了模型和視圖,判斷請求交給哪個模型,調(diào)用視圖顯示模型處理用戶請求結(jié)果模 型封裝了用戶數(shù)據(jù)和處理數(shù)據(jù)的業(yè)務(wù)邏輯狀態(tài)查詢狀態(tài)改變選 擇 視 圖用 戶 請 求業(yè)務(wù)請求圖2-1 MVC架構(gòu)模型JSP技術(shù)JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)
20、,該技術(shù)為創(chuàng)建顯示動態(tài)生成內(nèi)容的Web頁面提供了一個簡捷而快速的方法。JSP技術(shù)的設(shè)計目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開發(fā)工具共同工作。JSP技術(shù)的優(yōu)勢一次編寫,到處運(yùn)行,并且系統(tǒng)的多平臺支持。JSP還有強(qiáng)大的可伸縮性,被多樣化和功能強(qiáng)大的開發(fā)工具支持。 Servlet技術(shù)Servlet是使用Java Servlet應(yīng)用程序設(shè)計接口(API)及相關(guān)類和方法的Java程序。除了Java Servlet API,Servlet還可以用于擴(kuò)展和添加到API的Java類軟件包。它最常見的用途是擴(kuò)展Web服務(wù)器,提供非常安全的、
21、可移植的、易于使用的CGI替代品。它是一種動態(tài)加載的模塊,為來自Web服務(wù)器的請求提供服務(wù)。它完全運(yùn)行在Java虛擬機(jī)上14。由于它在服務(wù)器端運(yùn)行,因此它不依賴于瀏覽器的兼容性。2.2.4 開發(fā)所需插件 由于本系統(tǒng)是在eclipse中小組開發(fā),因此用到了CVS開發(fā)jar包,還用到了servlet-api.jar,mysql-jdbc.jar,commons-fileupload.jar等jar包,分別用于服務(wù)器與后臺的連接,后臺與數(shù)據(jù)庫的連接,文件上傳功能。3 系統(tǒng)可行性研究和需求分析3.1 系統(tǒng)可行性分析3.1.1 市場可行性分析 隨著信息化時代的加快,效率高、功能強(qiáng)的電子商務(wù)網(wǎng)站越來越受到
22、歡迎,電子商務(wù)是新型商務(wù)模式的典型代表,打破了地域的局限性,即使您身處北極,只要能上網(wǎng),照樣可以通過電子商務(wù)進(jìn)行交易。21世紀(jì)是電子商務(wù)蓬勃發(fā)展的實(shí)際,電子商務(wù)的市場份額只能是越來越大,市場上有很大的可行性。3.1.2 技術(shù)可行性分析 該系統(tǒng)基于web,采用現(xiàn)在非常流行的Servlet&JSP技術(shù)實(shí)現(xiàn)。數(shù)據(jù)庫用的Mysql數(shù)據(jù)庫。實(shí)現(xiàn)起來簡單,方便,易于操作。整體上與數(shù)據(jù)庫之間的操作用的是數(shù)據(jù)庫連接池,頁面顯示部分用的是struts提供的一些標(biāo)簽。整體技術(shù)難度適中,完全有能力完成整個開發(fā)過程,技術(shù)上有可行性。 3.1.3 時間可行性分析 從系統(tǒng)立項(xiàng)到項(xiàng)目開發(fā)完畢,有充足的時間來查閱文檔,解決開
23、發(fā)過程中遇到的問題,并且有項(xiàng)目完成前,有充足的時間來調(diào)試系統(tǒng),完全具有時間上的可行性。3.1.4 成本收益的可行性分析信息系統(tǒng)的開發(fā)過程中,最大的成本是人力成本,而人力成本在該項(xiàng)目開發(fā)中恰恰是最小的成本,相反,時間成本成了最大的成本。物力成本上,開發(fā)工具完全免費(fèi),不需要額外原材料,物力成本幾乎為零。這是個付出就有回報的過程,對于軟件開發(fā)的基本流程的進(jìn)一步熟悉,對于基本知識的進(jìn)一步鞏固就是整個系統(tǒng)開發(fā)的最大收益,也是最終的目的,因此該系統(tǒng)完全是非常有價值的一次嘗試。3.1.5 系統(tǒng)后續(xù)開發(fā)和維護(hù)的可行性 該系統(tǒng)基于JSP Servlet技術(shù)開發(fā),整個過程脈絡(luò)清晰。在整個開發(fā)過程中,保存了大量的文
24、檔及源碼備份,隨時可以為系統(tǒng)的再次開發(fā)提供強(qiáng)力的幫助。信息系統(tǒng)更新速度非???,如果不持續(xù)更新而固守陳舊,那么就會被時代所淘汰。該系統(tǒng)的開發(fā)正是基于這種思考,在開發(fā)過程中,盡量的降低整個系統(tǒng)的耦合度,業(yè)務(wù)邏輯放在實(shí)現(xiàn)類中去實(shí)現(xiàn),使得系統(tǒng)中所建立的模型相互之間耦合度很低,非常利于后續(xù)開發(fā)和代碼復(fù)用。3.2 系統(tǒng)需求分析3.2.1 系統(tǒng)架構(gòu)設(shè)計本系統(tǒng)采用 B/S(Browser/Server)模式體系結(jié)構(gòu)。B/S 模式結(jié)構(gòu),是 WEB 興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式。其統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器,從而簡化系統(tǒng)的開發(fā)、維護(hù)和使用。B/S 結(jié)構(gòu)采用星形拓?fù)浣Y(jié)構(gòu)建立企業(yè)內(nèi)部通信網(wǎng)絡(luò)或利用
25、 Internet 虛擬專網(wǎng)(VPN)。前者安全、快捷、準(zhǔn)確;后者有節(jié)省投資、跨地域廣等優(yōu)點(diǎn)。在本系統(tǒng)的設(shè)計中,要使用MVC模式,將前臺視圖,后臺和數(shù)據(jù)庫以及中間層分離開來。在編碼過程中要在不同的包中分別:建立模型,實(shí)現(xiàn)模型,Servlet連接,數(shù)據(jù)庫連接類和過濾器。系統(tǒng)的實(shí)現(xiàn)方式如圖3-1所示:圖3-1系統(tǒng)結(jié)構(gòu)流程圖通過上圖,可以很清晰的看到本系統(tǒng)的整體架構(gòu),通過將不同的功能模塊分離開來,利用Servlet容器和配置文件來實(shí)現(xiàn)用戶請求的選擇和調(diào)度,大大降低了不同模塊間的耦合度,增強(qiáng)了代碼重用度和健壯性。3.2.2 用戶和管理員的功能需求3.2.2.1 功能模塊劃分該網(wǎng)上購物系統(tǒng)從面向的用戶種
26、類上分共分兩個部分:一部分是商城會員,包括:顧客在線注冊、購物、提交訂單、付款等操作;另一部分是商城管理員,這部分的內(nèi)容包括:產(chǎn)品的添加、刪除、查詢、訂單的管理、操作員的管理、注冊用戶的管理等。 從模塊上劃分可分為:前臺模塊和后臺模塊兩大部分。 圖3-2顯示出前臺和后臺部分分別要實(shí)現(xiàn)的功能模塊。圖3-2 前臺與后臺模塊功能 狀態(tài)圖 在該系統(tǒng)中,前臺模塊與后臺模塊是獨(dú)立的兩個模塊,分別對應(yīng)不同的功能模塊,由不同的JSP頁面來完成頁面的功能控制。3.2.2.2 用戶模塊的功能劃分 (1) 注冊功能。顧客首先要注冊為網(wǎng)上商城的用戶。注冊時只要填寫登錄用戶名、密碼、聯(lián)系電子信箱3項(xiàng)信息即可。注冊后,用
27、戶可繼續(xù)如實(shí)填寫詳細(xì)個人信息及收貨人信息,同時可修改密碼、查詢及修改訂單。 (2) 選擇產(chǎn)品功能。顧客瀏覽網(wǎng)上商城,將自己需求的產(chǎn)品放入到購物車中(可在網(wǎng)上商城首頁、專柜首頁、產(chǎn)品小類、專賣店首頁、搜索結(jié)果頁面、產(chǎn)品詳細(xì)信息頁面進(jìn)行該操作),可連續(xù)添加商品。 (3) 管理購物車。顧客選擇完商品后可進(jìn)入購物車頁面,查看自己要購買的商品,可修改某一商品數(shù)量、取消購買某商品和清空整個購物車。 (4) 訂單功能。顧客確定購物車中的商品后提交訂單,如顧客已填寫收貨人信息,則頁面顯示該信息并由顧客確認(rèn)。如尚未填寫則顯示相應(yīng)表單請其填寫,系統(tǒng)記錄顧客提交的收貨人信息以便其下次購物時使用。顧客提交訂單后可在網(wǎng)
28、上商城查詢該訂單,并可對尚未處理的訂單進(jìn)行取消、修改等操作。 (5) 付款功能。顧客提交的訂單被確認(rèn)后,要選擇付款方式,在付款之后,管理員更改其狀態(tài)并選擇發(fā)貨。3.2.2.3 管理員模塊的功能劃分 (1) 管理用戶信息功能。負(fù)責(zé)用戶信息的監(jiān)控和刪除,并有凍結(jié)不良用戶的功能,但不能更改用戶信息。 (2) 管理訂單功能。管理員可以查詢并查看訂單,并可以批量查詢未處理的訂單,并且有更改訂單狀態(tài)的功能。 (3) 管理商品功能。管理員可以添加、修改、刪除商品。 (4) 留言管理功能。管理員可以查看和評論留言,并能刪除不良留言。 (5) 廣告管理功能??梢栽谇芭_設(shè)置友情鏈接,并且可以添加廣告。3.2.3
29、性能需求3.2.3.1 對數(shù)據(jù)精確度的要求 對于商品價格和用戶存款的數(shù)據(jù)要使用BigDecimal類來管理,防止出現(xiàn)因?yàn)榫葐栴}而無法購買商品的情況出現(xiàn)。 與CASH有關(guān)的數(shù)據(jù)在數(shù)據(jù)庫中的存儲也要保留2位小數(shù)。并且要保證在整個系統(tǒng)運(yùn)行過程中,精確度不能出現(xiàn)丟失和改變。3.2.3.2 對系統(tǒng)易用性、可移植性、健壯性的要求易用性:整個購物系統(tǒng)要簡單易用,用戶容易上手并且能很容易的找到用戶想找的功能模塊。購物流程要明白,公告和通知位置顯眼,能被用戶看到,產(chǎn)品圖片要清晰,產(chǎn)品信息描述要準(zhǔn)確??梢浦残裕赫麄€購物系統(tǒng)能符合服務(wù)器平臺的需要,可以保證在集群服務(wù)器上,在不同的服務(wù)器環(huán)境中都可以順利運(yùn)行。健壯性
30、:系統(tǒng)要具有較強(qiáng)的適應(yīng)能力,能承受住較多用戶同時訪問的需要,并且系統(tǒng)的相關(guān)文檔要保留完整,源碼標(biāo)注清晰,結(jié)構(gòu)合理,便于后續(xù)的開發(fā)和維護(hù)。4 系統(tǒng)概要設(shè)計4.1 系統(tǒng)總體功能流程圖系統(tǒng)總體分為前臺模塊和后臺模塊兩個部分。圖4-1描述前臺模塊的整體流程:圖4-1 購物系統(tǒng)前臺模塊流程圖圖4-2描述的是后臺模塊的整體流程:圖4-2 購物系統(tǒng)后臺模塊流程圖4.2 系統(tǒng)數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫的設(shè)計非常重要,直接關(guān)系著系統(tǒng)的整體穩(wěn)定性。數(shù)據(jù)庫的設(shè)計過程中要參照以下規(guī)范:1. 數(shù)據(jù)庫表設(shè)計時,表名稱要采用英文單詞+下劃線+tb的形式。采用這種命名方式的含義是:user_tb用戶表。表達(dá)意思簡單明確。2. 表中字段
31、的命名方式采用表名稱縮寫+下劃線+英文單詞的形式。采用這種命名方式的含義是:u_name用戶名稱 u_truename用戶真實(shí)姓名。3. 數(shù)據(jù)庫設(shè)計主要要劃分為四個核心模塊:用戶,管理員,商品,訂單。表的設(shè)計要結(jié)構(gòu)清晰、有條理,還要高效。具體設(shè)計為以下14張表,存儲內(nèi)容如下所示: 用戶表:用戶ID,用戶等級ID,用戶名,密碼,真實(shí)姓名,郵箱,性別,年齡,地址,電話,消費(fèi)額,密碼問題。 收藏表:用戶ID,商品ID,收藏時間,收藏地址。 用戶等級折扣表:等級折扣表ID,等級名稱,消費(fèi)額,折扣。 訂單表:訂單ID,用戶ID,訂單號,品種數(shù),地址,收件人,訂單日期,聯(lián)系電話,說明,貨物位置。 訂單詳細(xì)
32、表:訂單詳細(xì)ID,訂單ID,商品ID,商品數(shù)量,價格。 商品表:商品ID,品牌ID,名稱,價格,圖片名稱,上架時間,簡介,庫存,成交量,點(diǎn)擊量。 品牌表:品牌ID,品牌名,品牌編號,狀態(tài)。 商品種類:編號,總分類ID,類別名稱,狀態(tài)。 商品總分類:總分類ID,分類名稱,狀態(tài)。 管理員表:管理員ID,用戶名,密碼,類型。 留言表:用戶ID,留言內(nèi)容,留言時間。 留言回復(fù)表:留言表ID,管理員ID,回復(fù)留言內(nèi)容,回復(fù)時間。 商品評價表:商品評價ID,商品ID,用戶ID,評價內(nèi)容,評價時間。 打折表:打折ID,消費(fèi)金額起點(diǎn),折扣。數(shù)據(jù)庫的外鍵設(shè)計: 可以通過訂單表查看用戶信息和商品信息。 可以根據(jù)留
33、言回復(fù)表查看到管理員信息和用戶留言信息。 可以通過用戶等級折扣表查看打折水平。 可以通過商品表查詢到商品小分類和總分類。4.3 系統(tǒng)頁面和模塊設(shè)計系統(tǒng)的頁面包括前臺部分和后臺部分,前臺部分包括前臺商品部分和用戶部分,通過JSP頁面來實(shí)現(xiàn)系統(tǒng)的功能。商品部分:404.jsp 作用:提示請求頁面沒有找到。 405.jsp 作用:提示服務(wù)器繁忙。 goodsdetailssub.jsp 作用:商品詳細(xì)信息描述。 goodsdisplay.jsp 作用:前臺商品展示。 register.jsp 作用:用戶注冊頁面。 top.jsp 作用:嵌入frame.jsp中,為首頁面的頂部描述。 bottom.j
34、sp 作用:嵌入frame.jsp中,為首頁面的底部說明。用戶部分:collectshow.jsp 作用:顯示會員的收藏夾。 gouwuche.jsp 作用:顯示用戶的購物車信息。 Memberinfo.jsp 作用:會員信息。 userReplymessage.jsp 作用:顯示管理員回復(fù)信息。后臺部分:Error.jsp 作用:登錄錯誤跳轉(zhuǎn)頁面。 Login.jsp 作用:登錄頁面。 Menu.jsp 作用:左側(cè)菜單頁面。 Newadd.jsp 作用:增加管理員。 Showgoods.jsp 作用:商品檢索頁面。 Lookorder.jsp 作用:訂單查看頁面。 Goodsadd.jsp
35、作用:增加商品頁面。5 總體設(shè)計與實(shí)現(xiàn)5.1 數(shù)據(jù)庫設(shè)計與實(shí)現(xiàn)5.1.1 數(shù)據(jù)庫表設(shè)計根據(jù)4.2中對數(shù)據(jù)庫設(shè)計的要求,在該系統(tǒng)中建立了14張表,定義了14個外鍵約束,用PowerDesigner設(shè)計數(shù)據(jù)庫模型如圖5-1所示:圖5-1 PowerDesigner設(shè)計數(shù)據(jù)庫表和外鍵關(guān)系 根據(jù)數(shù)據(jù)庫設(shè)計要求,數(shù)據(jù)庫設(shè)計中一共要建表14張,分別為: 商品表 品牌表 商品種類 商品總分類 商品評價 用戶表 收藏表 用戶登記表 留言表 訂單表 訂單詳細(xì)表 管理員表 回復(fù)留言表 打折表 在數(shù)據(jù)庫的設(shè)計中,通過以上14張表存放商城商品和交易信息。14張表主要分為用戶部分,訂單部分,商品部分,和管理員部分4大塊
36、。通過外鍵約束實(shí)現(xiàn)了對于不同表的相互關(guān)聯(lián)和約束。例如:收藏表作為從表,外鍵關(guān)聯(lián)于商品表和用戶信息表,通過設(shè)置外鍵用戶id可以得到某用戶信息,通過設(shè)置外鍵商品id可以查詢到用戶收藏的商品信息,而且在外部發(fā)出更新和刪除請求時,通過設(shè)置CASCADE級聯(lián)刪除,可以強(qiáng)制更新商品信息。注:關(guān)于該系統(tǒng)數(shù)據(jù)庫創(chuàng)建的SQL腳本和模型均存放在附錄中。腳本為MySQL版和SQLServer版共兩份。5.1.2 數(shù)據(jù)庫的約束與關(guān)系 在該系統(tǒng)數(shù)據(jù)庫中,共定義了14個外鍵約束。主要的外鍵關(guān)系如下:u 訂單表 user_id 關(guān)聯(lián) 用戶表 user_id;u 收藏表 user_id 關(guān)聯(lián) 用戶表 user_id;u 訂單
37、詳細(xì)表 o_id 關(guān)聯(lián) 訂單表 o_id;u 商品表 g_id 關(guān)聯(lián) 品牌表 g_id;u 品牌表 t1_id 關(guān)聯(lián) 商品種類表 t1_id;u 回復(fù)留言表 m_id 關(guān)聯(lián)管理員表 m_id; 以上外間關(guān)系中各字段名稱注釋如下:user_id表示用戶ID,o_id表示訂單ID,g_id表示商品ID,t1_id表示商品種類ID,m_id表示管理員ID。 其他字段詳細(xì)描述請參照附錄中數(shù)據(jù)庫表與字段注釋。5.2 系統(tǒng)主要功能的設(shè)計與實(shí)現(xiàn)5.2.1 數(shù)據(jù)庫連接池類與數(shù)據(jù)庫工廠類簡介5.2.1.1 DBConnectionPool類詳解 DBConnectionPool類是本項(xiàng)目中的數(shù)據(jù)庫連接池類,是按
38、照線程創(chuàng)建和調(diào)度的思路創(chuàng)建一個數(shù)據(jù)庫連接池,通過泛型隊列 Vector 來創(chuàng)建一個固定連接數(shù)的連接池,系統(tǒng)發(fā)送出連接數(shù)據(jù)庫的請求時,通過調(diào)用該類中的getConnection()方法來釋放一個連接,同時在隊列中減去1,從而實(shí)現(xiàn)了對連接數(shù)的控制,并且極大的提高了數(shù)據(jù)庫的訪問效率。 DBFactory類是本項(xiàng)目中的數(shù)據(jù)庫工廠類。它實(shí)現(xiàn)了DBConnectionPool中的getConnection() 方法,當(dāng)外部類調(diào)用時將 它封裝了一些對數(shù)據(jù)庫進(jìn)行SQL操作的方法,供外部類來實(shí)現(xiàn)對數(shù)據(jù)庫的訪問。例如:外部類要執(zhí)行數(shù)據(jù)庫查詢,它只需通過調(diào)用executeQuery(sql)方法,傳進(jìn)SQL語句作為
39、參數(shù)即可返回ResultSet結(jié)果集,然后在結(jié)果集中檢索即可。同理,外部類執(zhí)行數(shù)據(jù)庫插入和刪除操作,它只需要調(diào)用executeOperate(sql) 方法,傳進(jìn)SQL語句作為參數(shù)即可返回ResultSet結(jié)果集,查詢完畢后要釋放資源時,通過調(diào)用DBConnectionPool的release()方法來釋放資源。 DBConnectionPool 類和 DBFactory類工作方式如圖5-2所示: 圖5-2 UserImpl與GoodsImpl操縱數(shù)據(jù)庫 類圖DBConnectionPool類的具體實(shí)現(xiàn)方式(核心代碼):/返回當(dāng)前連接池的一個對象public static DBConnecti
40、onPool getInstance() if (null = instance) instance = new DBConnectionPool();return instance;通過getInstance()方法獲取一個DBConnectionPool類實(shí)例/獲取連接池中的一個連接 public synchronized Connection getConnection() if (pool.size() 0) conn = pool.get(0);/ 獲取連接pool.remove(conn);/ 將連接從連接池中移除return conn;通過getConnection()方法返回一
41、個數(shù)據(jù)庫連接/ 釋放連接public synchronized void release(Connection conn) pool.add(conn);通過release()方法釋放數(shù)據(jù)庫連接以下簡要介紹 Java與數(shù)據(jù)庫建立連接的實(shí)現(xiàn)方式:/初始化連接池、讀取配置文件(存放著數(shù)據(jù)庫連接信息)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();/ 定義一個屬性實(shí)例prop.load(pool.properties);/ 加載屬性文件this.setDriver(prop.getProperty(driver); 在創(chuàng)建連接池時,用到的JAVA Collection 為Vector,Vector可以實(shí)現(xiàn)動態(tài)數(shù)組,
43、并且是線程安全的,非常適合與創(chuàng)建數(shù)據(jù)庫連接池。 以上核心代碼可以分解為如下的過程:數(shù)據(jù)庫連接池類被JVM加載時,先執(zhí)行了類的默認(rèn)構(gòu)造函數(shù)。我在構(gòu)造函數(shù)中調(diào)用了init()初始化方法,類的初始化包括讀取配置文件和初始化連接池和添加連接3個方法即new Vector(poolSize)、readConfig()、addConnection()這三個方法,通過這三個方法,可以滿足數(shù)據(jù)庫連接池創(chuàng)建的基本條件。在該系統(tǒng)中只是實(shí)現(xiàn)了數(shù)據(jù)庫連接池的基本功能,線程池還要具備線程休眠和用戶連接過載時自動添加額定數(shù)量的連接的技術(shù),來控制連接安全。通過自動添加固定的連接數(shù),可以實(shí)現(xiàn)連接池的自動控制,從而避免了連接過
44、載導(dǎo)致系統(tǒng)崩潰的情況發(fā)生。 連接池的基本工作原理如圖5-3所示:圖5-3 連接池的基本工作原理數(shù)據(jù)庫連接池這種設(shè)計模式屬于應(yīng)用共享資源的開發(fā)中非常著名的一種設(shè)計模式:資源池(Resource Pool)。該模式正式為了解決資源的頻繁分配、釋放所造成的一系列問題而設(shè)計的。這種模式通過設(shè)定連接池的最大連接數(shù)來防止系統(tǒng)無控制的與數(shù)據(jù)庫系統(tǒng)的連接,減小了數(shù)據(jù)庫系統(tǒng)因過載而崩潰的可能,大大提高了對系統(tǒng)與數(shù)據(jù)庫連接控制的靈活性。數(shù)據(jù)庫連接池在高效性和穩(wěn)定性上也具有極大的優(yōu)勢。例:在eclipse中新建兩個類DBTest.java和DBPoolTest.java 在DBTest中,利用for循環(huán)控制類與數(shù)據(jù)
45、庫建立1000次連接,同樣,在DBPoolTest中通過for循環(huán),利用線程池與數(shù)據(jù)庫建立1000次連接。圖5-4是類運(yùn)行結(jié)果的截圖:圖5-4 兩種連接方式的比較 從圖5-4可以很明顯地看出,當(dāng)并發(fā)連接數(shù)為1000時,用傳統(tǒng)方式連接的DBTest類已經(jīng)崩潰,拋出“連接異常,端口被占用”的異常,而利用數(shù)據(jù)庫連接池的DBPoolTest類建立1000次連接僅耗時422毫秒。 下面進(jìn)行一次連接數(shù)為百萬次的測試。 把連接數(shù)改成1000000次,由于第一個類在1000次連接已經(jīng)崩潰,因此此次只測試DBPoolTest類:圖5-5 DBPoolTest進(jìn)行一百萬次連接 通過圖5-5可以看到利用線程池進(jìn)行一
46、百萬次連接僅耗時484毫秒,由此很明顯就可以看出數(shù)據(jù)庫連接池的高效率和穩(wěn)定性。5.2.1.2 DBFactory類的實(shí)現(xiàn)方式和功能 DBFactory類是數(shù)據(jù)庫連接的工廠類,它封裝了一系列執(zhí)行數(shù)據(jù)庫操作的方法,如圖5-6所示:圖5-6 其他類對DBFactory的調(diào)用 DBFactory類通過DBConnectionPool類釋放的連接來與數(shù)據(jù)庫取得連接。該類對外只提供一些接口,供其他類來調(diào)用,通過調(diào)用工廠方法使得數(shù)據(jù)庫的連接變得規(guī)則有序并且效率極高,極大的方便了數(shù)據(jù)庫操作代碼的編寫。 DBFactory類獨(dú)立使用時一般效率不高,與數(shù)據(jù)庫連接池聯(lián)合使用時才有著強(qiáng)大的威力,這樣做大大的簡化了數(shù)據(jù)
47、庫操作。5.2.2 用戶注冊登錄模塊的實(shí)現(xiàn)方式 任何的購物網(wǎng)站,用戶都是最主要的對象,用戶模塊的實(shí)現(xiàn)關(guān)系到系統(tǒng)的易用性和被接受程度,本購物網(wǎng)站管理系統(tǒng)也不例外。在本系統(tǒng)中用戶主要分為了游客和商城注冊會員兩種。這兩種角色分別對應(yīng)著不同的功能和訪問范圍。 下面分類介紹一下本系統(tǒng)所面對的主要對象的功能范圍和用戶注冊登錄模塊的實(shí)現(xiàn)方式。5.2.2.1 會員與游客的功能范圍 在該系統(tǒng)中,用戶分為游客和商城注冊會員兩種: 游客:可以在商城內(nèi)留言商品,查詢商品信息,查看商品評價,可以比較同類不同品牌商品之間差別,但游客不能下訂單,不能將商品添加到購物車,游客也不能對商品下訂單。 會員:該購物網(wǎng)站會員可以自由
48、購買商品,查看商品信息,查看其他用戶的評論,并且可以發(fā)表評論。 圖5-7為用PowerDesigner設(shè)計的展示游客和商城會員功能的用例圖:圖5-7 游客與會員功能用例圖 通過圖5-7可以很清楚的看到游客和會員所分別具有的功能模塊??梢钥吹?,只有商城的注冊會員才擁有下訂單、使用購物車和購買商品的權(quán)限。在后兩部分中將會具體說明用戶注冊模塊和用戶登錄模塊的實(shí)現(xiàn)方式。 除此之外,商城的注冊會員還可以根據(jù)購買商品獲得的積分,獲得一定的等級,可以以一定打折扣購買商品,如圖5-8所示。圖5-8 會員等級圖示 會員的等級劃分方法如表所示:表5-1 商城會員積分折扣映射表用戶等級積分設(shè)定折扣率新手01.0初級
49、5000.95中級15000.9高級50000.85終極100000.8 如表5-1所示,商品的折扣情況實(shí)際在后臺控制,這一模塊在5.2.3管理員功能實(shí)現(xiàn)中將講到。5.2.2.2 用戶注冊模塊的實(shí)現(xiàn) 用戶注冊模塊,核心部分就是注冊驗(yàn)證和服務(wù)器端驗(yàn)證。 用戶注冊模塊在瀏覽器端的驗(yàn)證主要是通過JavaScript腳本,在JS腳本中添加驗(yàn)證函數(shù),然后在input輸入框中onBlur屬性中添加checkusername()函數(shù),當(dāng)用戶輸入完用戶名后會激發(fā)checkusername()函數(shù)來檢驗(yàn)用戶名是否合法,該校驗(yàn)核心部分代碼如下:function checkusername() var userna
50、me =document.getElementById(u_name).value; if(username.length16) var sp= document.getElementById(sp); sp.innerHTML=用戶名長度不合要求; return false; 為了安全起見,一般要在服務(wù)器端在進(jìn)行一次校驗(yàn),如果需要還會進(jìn)行框架校驗(yàn),在服務(wù)器端的校驗(yàn)一般是通過導(dǎo)入xwork JAR包,然后在通過繼承于ActionSupport類,重寫其中的validate()方法來校驗(yàn),校驗(yàn)部分核心代碼如下: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之間!); 密碼和其他部分校驗(yàn)的校驗(yàn)結(jié)果如圖5-9所示:圖5-9 瀏覽器端用戶信息校驗(yàn) 通過兩次校驗(yàn),數(shù)據(jù)庫接受的將會是符合數(shù)據(jù)庫設(shè)計的準(zhǔn)確信息,避免了拋出一堆異常代碼給用戶瀏覽器端的情況的出現(xiàn)。5.2.2.3 用戶登錄模塊的實(shí)現(xiàn) 用戶注冊完
52、成后即可返回首頁面通過點(diǎn)擊登錄按鈕進(jìn)行登錄。登錄模塊采用了隱藏DIV,點(diǎn)擊登錄后,將會激發(fā)displayloginboard()函數(shù),該函數(shù)將控制顯示一個登錄窗,實(shí)現(xiàn)了懸浮的效果。登錄窗實(shí)際上是一個form表單,在登錄窗中輸入用戶名和密碼后,點(diǎn)擊登錄按鈕,系統(tǒng)將會根據(jù)form中的action,在web.xml配置文件中去尋找UserControl.do對應(yīng)的JAVA校驗(yàn)類,用戶輸入的用戶名和密碼將通過POST方法傳入到doPost()方法中,在該方法中通過連接數(shù)據(jù)庫進(jìn)行校驗(yàn),并且返回登錄信息。如圖5-10所示:圖5-10 登錄后用戶名顯示 在首頁面底部同時也將出現(xiàn)懸浮提示框:歡迎用戶XX登錄物
53、美校園。如圖5-11所示:圖5-11懸浮框提示 用戶注冊與登錄模塊 主要實(shí)現(xiàn)了兩個功能: 實(shí)現(xiàn)了用戶注冊校驗(yàn)和數(shù)據(jù)庫存儲用戶信息。 實(shí)現(xiàn)了用戶登錄時的信息查詢和校驗(yàn)。 因此,這一環(huán)節(jié)的復(fù)雜度基本體現(xiàn)在雙層校驗(yàn)上,在這里說明一種校驗(yàn)方式-漢字校驗(yàn)。 漢字校驗(yàn)的原理是UTF-8編碼中某幾個區(qū)間內(nèi)編碼為漢字,基本上覆蓋了常用到的可以遇到的2萬多個漢字,漢字在UTF-8中的區(qū)間為u4E00到u9FA5和uF900到uFA2D,漢字校驗(yàn)流程如圖5-12所示:圖5-12 漢字校驗(yàn)狀態(tài)圖 通過以上代碼可以看到,校驗(yàn)函數(shù)傳進(jìn)的參數(shù)為用戶輸入的字符串,通過將字符串解析為字符數(shù)組,從而完成了字符校驗(yàn),在實(shí)際應(yīng)用中
54、,通過類方法調(diào)用此函數(shù),即可完成校驗(yàn)。5.2.3 管理員登錄和其功能范圍的實(shí)現(xiàn) 管理員是網(wǎng)站后臺的主角,任何網(wǎng)站都需要管理員默默無聞的維護(hù)著整個網(wǎng)站的正常運(yùn)行。B2C購物網(wǎng)站,商品的添加修改刪除,訂單的管理,用戶信息的管理,廣告系統(tǒng)的管理,留言管理等都需要管理員來管理。管理員是整個后臺的核心部分。5.2.3.1 管理員登錄模塊的實(shí)現(xiàn) 在較有規(guī)模的管理系統(tǒng)中,為了安全起見,一般不在前臺頁面中顯示出后臺的管理登陸入口,后臺管理模塊應(yīng)該是完全獨(dú)立于前臺頁面之外的一個模塊。在該系統(tǒng)中為了便于調(diào)試,在前臺頁面底部留下了登錄入口。管理員通過點(diǎn)擊“后臺管理”即可連接到后臺登錄的JSP頁面,該頁面為系統(tǒng)中的a
55、dmin/login.jsp。管理員登錄頁面效果如圖5-13所示:圖5-13 管理員登錄頁面 管理員用戶名和密碼輸入完畢后,點(diǎn)擊登錄按鈕,tomcat服務(wù)器將會根據(jù)form表單中聲明的action地址在web.xml中尋找對應(yīng)的,隨后又會尋找中對應(yīng)的處理類地址。在最終的Servlet處理類Control.java在該servlet類中,可以看到,通過將傳進(jìn)的username和password加入到一個ManagerModel對象中,然后將該對象傳到ManagerDao類中的login方法體中,順利的完成了校驗(yàn)。 該系統(tǒng)的管理員校驗(yàn)方法屬于常規(guī)的校驗(yàn)方法。由于管理員的權(quán)限很大,所以管理員賬號的安
56、全問題也是非常重要。關(guān)鍵數(shù)據(jù)保存時,最好不要以明文的方式保存。各數(shù)據(jù)庫廠商也提供了一系列的方法來用于數(shù)據(jù)加密。以MySQL為例,MySQL內(nèi)建函數(shù)中提供了:ENCRYPT(str,salt),ENCODE(str,pass_str),MD5(string),SHA1(string),SHA(string) ,AES_ENCRYPT(string,key_string)這幾種加密方式,供用戶使用。5.2.3.2 管理員功能范圍的實(shí)現(xiàn)方式 一般來講,在一個大的管理系統(tǒng)中,管理員角色并非唯一,不同的管理員對應(yīng)不同的職位或部門,有用特定模塊的管理權(quán)限。還應(yīng)有一個超級管理員,該角色具有添加修改刪除其他模
57、塊管理員的權(quán)限。在該系統(tǒng)中管理員功能模塊如圖5-14所示:圖5-14 管理員功能模塊用例圖 管理員登錄后,在主界面上將提示出登錄的管理員的有關(guān)信息,包括:管理員名稱,管理員注冊時間,管理員上次登錄時間,管理員賬戶有效登錄時間等相關(guān)信息,管理員登錄的首頁面如圖5-15所示:圖5-15 管理員登錄首頁面 管理員功能: 商城介紹信息的更改 商品管理包括(商品添加,商品信息更新,商品下架,商品分類管理) 客戶管理包括(查看用戶信息,用戶級別管理,用戶刪除) 訂單管理包括(查看訂單,搜索訂單,訂單狀態(tài)更新,訂單取消,訂單數(shù)據(jù)分析) 留言管理包括(查看留言,留言回復(fù),留言評論管理) 廣告管理包括(友情鏈接
58、添加,廣告信息發(fā)布,廣告信息刪除,廣告排序和時限管理) 支付方式管理包括(在線支付設(shè)置,支付寶設(shè)置,銀行賬號設(shè)置,貨到付款設(shè)置) 管理員的功能的實(shí)現(xiàn)通過admin文件夾的多個JSP頁面來實(shí)現(xiàn),每個頁面都對應(yīng)一個具體的管理員功能,以商品管理為例,在該系統(tǒng)中,商品管理由goodsadd.jsp,goodsupdate.jsp,showgoods.jsp,showsearchgoods.jsp這幾個頁面來完成。分別對應(yīng)商品的添加、修改、展示、商品檢索功能。其它各部分的實(shí)現(xiàn)方式相同。圖5-16 添加商品界面管理系統(tǒng)中,管理員的功能范圍和權(quán)限控制非常重要,特別是功能范圍,實(shí)際可能遇到的所有查詢功能都要在系統(tǒng)的開發(fā)過程中有所體現(xiàn)。5.3.3.3 管理員管理在后臺設(shè)置了管理員選項(xiàng),在這里可以添加、修改和刪除管理員信息。圖5-17是管理員添加的頁面:圖5-17 管理員添加 由于在該系統(tǒng)的設(shè)計中,沒有采用超級管理員來管理普通管理員,因此,任何管理員都是超級管理員。 管理員還可以通過修改管理員信息頁面來修改密碼。5.3.3.4 管理員留言回復(fù)功能的實(shí)現(xiàn) 當(dāng)用戶在前臺頁面上留言后,管理員在后臺就可以看到。管理員若需要回復(fù)留言時,點(diǎn)回復(fù)按鈕,即可顯現(xiàn)出一個textarea文本輸入框,在其中輸入回復(fù)內(nèi)容即可。這一功能是通過JS來實(shí)現(xiàn)的,核心代碼如下:
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。