基于JSP的網(wǎng)上拍賣系統(tǒng)的分析與設(shè)計_第1頁
基于JSP的網(wǎng)上拍賣系統(tǒng)的分析與設(shè)計_第2頁
基于JSP的網(wǎng)上拍賣系統(tǒng)的分析與設(shè)計_第3頁
基于JSP的網(wǎng)上拍賣系統(tǒng)的分析與設(shè)計_第4頁
基于JSP的網(wǎng)上拍賣系統(tǒng)的分析與設(shè)計_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于JSP的網(wǎng)上拍賣系統(tǒng)的分析與設(shè)計摘要隨著Internet的日益普及和電子商務(wù)的發(fā)展,網(wǎng)上拍賣迅速成為一種非?;钴S的C2C電子商務(wù)模式。文中詳細(xì)介紹了JSP技術(shù)以及分析了基于JSP建立網(wǎng)上拍賣系統(tǒng)的技術(shù)手段,深入探討了如何利用JavaBean技術(shù)實現(xiàn)與SQL Server 2000數(shù)據(jù)庫連接的方法。系統(tǒng)采用界面與業(yè)務(wù)邏輯分離的三層結(jié)構(gòu)設(shè)計,將頁面顯示交由JSP控制,把業(yè)務(wù)邏輯封裝在JavaBean中,提高了系統(tǒng)的安全性、可維護性、重用性和可擴展性。系統(tǒng)的注冊模塊應(yīng)用了AJAX技術(shù),不但實現(xiàn)了無刷新提交數(shù)據(jù)而且減輕了服務(wù)器的負(fù)擔(dān);通過緩存系統(tǒng)配置信息減輕數(shù)據(jù)庫服務(wù)器的

2、壓力;對系統(tǒng)后臺模塊使用雙重密碼校驗和驗證碼技術(shù),進一步提升了系統(tǒng)的完全系數(shù),使它能即使在復(fù)雜的網(wǎng)絡(luò)環(huán)境也能以最小的系統(tǒng)開銷正常運行。關(guān)鍵詞:電子商務(wù),C2C, JavaBean,AJAXABSTRACTWith the increasing popularization of Internet and the development of electronic commerce, the net auction quickly becomes one kind of active C2C electronic commerce. The article detailedly introduc

3、es a JSP technique and analyzes the technique means of building a net auction system based on JSP, then deeply discusses how to use JavaBean technique to build connection with SQL Server 2000 databases.The system uses three structural designs which the contact surface and the service logic separates

4、, the page demonstrated hands over by the JSP control, the service logic seal in JavaBean, enhanced the system security, the maintainability, has entrusted with heavy responsibility the nature and may the extension.The system registration module has applied the AJAX technology, not only realized to

5、not renovates submits the data moreover but lighten the server burden; It has reduced the database server through the buffer system disposition information the pressure; The systerm uses dual password verification and the confirmation code technology in the system backstage module, has further promo

6、ted the system complete coefficient, and enables it work by the smallest system expenses normal operation in the complex network environment.Key words: Electronic Commerce,C2C,JavaBean,AJAX目錄附錄A 開題報告附錄B 外文資料原文附錄C 外文資料譯文附錄D 源程序代碼附錄 系統(tǒng)使用說明書專心-專注-專業(yè)第一章 緒論1.1 系統(tǒng)應(yīng)用背景與功能電子商務(wù)(electronic commerce)是計算機網(wǎng)絡(luò)所帶來的

7、又一次革命,它的發(fā)展將形成新的交換體制,產(chǎn)生新的市場規(guī)則,沖破時間與空間的限制,加快全球市場一體化的進程,電子商務(wù)還將有力地推動信息和信息服務(wù)業(yè)的發(fā)展。它不僅涉及電子技術(shù)和商業(yè)交易本身,而且涉及到諸如金融、稅務(wù)、教育等其他社會層面,是一個與社會大環(huán)境息息相關(guān)并且具有完整結(jié)構(gòu)體系的系統(tǒng)工程。電子商務(wù)的發(fā)展為網(wǎng)上拍賣帶來了勃勃生機,使得網(wǎng)上拍賣迅速成為一種非?;钴S的電子商務(wù)模式1。網(wǎng)上拍賣系統(tǒng)是一個C2C模式下的電子商務(wù)系統(tǒng),提供了一個網(wǎng)上拍賣的市場給買方和賣方,企業(yè)可以以拍賣的方式出售自己的產(chǎn)品。擁有商品展示、拍賣競投、用戶注冊、網(wǎng)上支付、信息反饋和新商品發(fā)布幾項基本功能。使得網(wǎng)上的用戶可以安全

8、、便捷的使用該系統(tǒng)。企業(yè)可以通過該系統(tǒng)觀察到消費者、客戶之間的買賣情況,從中獲取最直接的市場消息,掌握最詳細(xì)的市場動態(tài)。它與傳統(tǒng)的拍賣模式相比具有以下五個方面的主要優(yōu)勢。(1)降低了采購價格,借助EDI企業(yè)能夠完成自動的例行采購,可減少采購過程中人力、印刷和郵寄的費用。(2)采用“零庫存”管理方式,可大大縮短資金的周轉(zhuǎn)周期。(3)互聯(lián)網(wǎng)商務(wù)更有利于開拓全球市場。(4)實現(xiàn)24小時不問斷營業(yè),有利于提高營業(yè)額。(5)可使用多媒體手段進行促銷活動,可依靠客戶數(shù)據(jù)庫提供全新個人服務(wù)。隨著通信技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)上拍賣的開展勢在必行。應(yīng)該說網(wǎng)上拍賣發(fā)展的前景十分廣闊,作用越來越大。文中論述了構(gòu)

9、建網(wǎng)上拍賣系統(tǒng)的技術(shù)手段及其實現(xiàn)的關(guān)鍵方法。本次課程設(shè)計完成的系統(tǒng)主要實現(xiàn)的功能包括用戶注冊、發(fā)布商品、競拍商品、查看商品的詳細(xì)信息以及管理員通過Web方式對系統(tǒng)的數(shù)據(jù)進行管理。1.2 系統(tǒng)預(yù)覽用戶進入系統(tǒng)后的第一個界面如圖1.1所示。從圖中可以看出,用戶進入系統(tǒng)后就可以注冊成為會員、查看商品信息,可以按關(guān)鍵字或者分類來查詢商品,還可以方便快捷地通過導(dǎo)航欄轉(zhuǎn)到系統(tǒng)的其他功能模塊。圖1.1用戶進入系統(tǒng)后的頁面圖1.2是用戶登錄系統(tǒng)后的頁面,通過左側(cè)的工具條可以快速切換到要進行的操作頁面。而通過頂部的頁面可以進入系統(tǒng)幫助、退出系統(tǒng)、快速發(fā)布商品、購買商品等功能。中間的頁面一開始顯示了用戶是否有未讀

10、的新短信,如果有新信息則可以通過鏈接快速閱讀,系統(tǒng)顯示的“上次登錄時間和IP”則可以使用戶提早發(fā)現(xiàn)是否有人在盜用你的帳號。在用戶選擇了左側(cè)相應(yīng)的功能后則出現(xiàn)實現(xiàn)此功能的頁面。1.3 系統(tǒng)特點本次畢業(yè)設(shè)計的拍賣系統(tǒng)具有以下特點。(1)頁面模塊化:本系統(tǒng)在界面設(shè)計上采用了模塊化處理的思想,把很多頁面共有的部分集成一個模塊,例如頁面的頭、尾,這樣在開發(fā)的時候遇到這類相似的頁面部分就不再需要重新編寫,而只要以一句:就可以重用這部分的內(nèi)容,大大提高了系統(tǒng)的開發(fā)效率。圖1.2用戶登錄系統(tǒng)后的頁面(2)三層結(jié)構(gòu)設(shè)計:本系統(tǒng)采用三層結(jié)構(gòu)設(shè)計,將不同的復(fù)雜的數(shù)據(jù)庫操作或是業(yè)務(wù)邏輯計算劃分為獨立的模塊封裝于Bea

11、n中,作為用戶界面和數(shù)據(jù)庫之間的中間件,所有的數(shù)據(jù)庫操作由用戶界面通過調(diào)用Bean來完成,提高了系統(tǒng)的安全性和可移植性。(3)部分頁面采用AJAX技術(shù):在系統(tǒng)的關(guān)鍵性頁面應(yīng)用AJAX技術(shù)能夠減輕服務(wù)器的負(fù)擔(dān)。(4)管理員模塊采用雙重密碼認(rèn)證:進一步提高系統(tǒng)的安全性。(5)面向?qū)ο笤O(shè)計:在系統(tǒng)中將用戶、商品、管理員等都封裝成了類,同時每個類都有相應(yīng)的操作類,從而提高了對數(shù)據(jù)庫操作的安全性和程序的可擴展性。(6)人性化設(shè)計:本系統(tǒng)的開發(fā)借鑒了淘寶網(wǎng)的導(dǎo)航樣式,使系統(tǒng)的導(dǎo)航系統(tǒng)清晰明朗,這樣不管用戶位于系統(tǒng)的哪個位置,都能找到需要的功能。第二章 系統(tǒng)要解決的技術(shù)問題2.1 連接SQL Server

12、2000JDBC是一種用于執(zhí)行SQL語句的Java API,由一組用 Java 編程語言編寫的類和接口組成。JDBC 為數(shù)據(jù)庫開發(fā)人員提供了一組標(biāo)準(zhǔn)的API,使他們能夠用純Java API 來編寫數(shù)據(jù)庫應(yīng)用程序2。數(shù)據(jù)庫廠商一般會提供一組API訪問數(shù)據(jù)庫,在安裝完SQL Server 2000后再去微軟官方網(wǎng)站下載JDBC驅(qū)動程序,然后將下載到的三個JAR包(mssqlserver.jar;msbase.jar;msutil.jar)放入WEB應(yīng)用的WEB-INF/lib/下。再將SQL Server 2000升級到sp3 ,便能將SQL Server 2000默認(rèn)的1433端口打開,這樣Ja

13、vaBean才可以順利地訪問數(shù)據(jù)庫3。連接數(shù)據(jù)庫的JavaBean程序片段如下。Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver).newInstance();Stringurl=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=Vendue;Stringuser=sa; /連接數(shù)據(jù)庫的用戶名Stringpassword=sa; /密碼Connectionconn=DriverManager.getConnection(url,user,password);Statem

14、entstmt=conn.createStatement();總之,JDBC訪問SQL Server 2000的問題,關(guān)鍵涉及到sp3補?。ǘ丝陂_放)還有用戶問題,解決這兩個問題之后,剩余的便是操作問題了,還有就是在遠(yuǎn)程操作的時候,要把用戶組設(shè)置一下,在安全性設(shè)置里亦將身份驗證更改為由SQL Server 2000 驗證。2.2 安裝jspSmartUpload文件上傳組件本系統(tǒng)在發(fā)布商品的時候需要上傳商品的圖片,基于安全方面的因素選用jspSmartUpload這個安全系數(shù)比較高的文件上傳組件。而且此組件是可免費使用的多功能的文件上傳下載組件,適用于嵌入執(zhí)行上傳下載操作的JSP文件中。該組件

15、有以下幾個特點。 (1)使用簡單。在JSP文件中書寫簡單的JAVA代碼就可以實現(xiàn)文件的上傳。 (2)能全程控制上傳。利用jspSmartUpload組件提供的對象及其操作方法,可以獲得全部上傳文件的信息(包括文件名,大小,類型,擴展名,文件數(shù)據(jù)等),方便存取。 (3)能對上傳的文件在大小、類型等方面做出限制。如此可以濾掉不符合要求的文件。 jspSmartUpload組件可以從網(wǎng)站上自由下載,壓縮包的名字是jspSmartUpload.zip。下載后,用WinZip或WinRAR將其解壓到Tomcat的webapps目錄下。解壓后,將webapps/jspsmartupload目錄下的子目錄W

16、eb-inf名字改為全大寫的WEB-INF,這樣一改jspSmartUpload類才能使用。因為Tomcat對文件名大小寫敏感,它要求Web應(yīng)用程序相關(guān)的類所在目錄為WEB-INF,且必須是大寫。接著重新啟動Tomcat,這樣就可以在JSP文件中使用jspSmartUpload組件了4。jspSmartUpload常用方法的說明:SmartUpload su = new SmartUpload();/ 新建一個SmartUpload對象。su.initialize(pageContext); / 上傳初始化。/ 設(shè)定上傳限制。 su.setMaxFileSize(10000); / 限制每個上

17、傳文件的最大長度。 su.setTotalMaxFileSize(20000); / 限制總上傳數(shù)據(jù)的長度。su.setAllowedFilesList(doc,txt);/ 設(shè)定允許上傳的文件(通過擴展名限制)/僅允許doc,txt文件。su.setDeniedFilesList(jsp,); / 設(shè)定禁止上傳的文件(通過擴展名限制)/禁止上傳jsp擴展名和沒有擴展名的文件。su.upload();/ 上傳文件。 int count = su.save(/upload); / 將上傳文件全部保存到指定目錄 。out.println(count+個文件上傳成功!);/顯示處理結(jié)果。2.3 JS

18、P中文亂碼問題的處理在JSP開發(fā)中,經(jīng)常出現(xiàn)亂碼的問題。亂碼問題可以分為兩種,一種是頁面顯示的中文為亂碼,第二種是對于請求的表單中的中文數(shù)據(jù)為亂碼。解決頁面顯示的中文為亂碼的方法是在JSP頁面中指定編碼的方式即在JSP頁面的開始位置加入如下代碼:對于第二種亂碼問題,可以通過request.setCharacterEncoding(“GB2312”)對請求進行統(tǒng)一的編碼實現(xiàn)中文的正常顯示5。2.4頁面無刷新地提交數(shù)據(jù)傳統(tǒng)的 Web 應(yīng)用采用同步交互過程,這種情況下,用戶首先向 HTTP 服務(wù)器觸發(fā)一個行為或請求的需求。反過來,服務(wù)器執(zhí)行某些任務(wù),再向發(fā)出請求的用戶返回一個 HTML頁面。這是一種

19、不連貫的用戶體驗,服務(wù)器在處理請求的時候,用戶多數(shù)時間處于等待的狀態(tài),屏幕內(nèi)容也是一片空白,即使我們只需要提交一部分?jǐn)?shù)據(jù)也不得不刷新整個頁面,為了解決這種狀況,AJAX技術(shù)就應(yīng)運而生。AJAX(Asynchronous JavaScript and XML)其實是多種技術(shù)的綜合,包括 Javascript、XHTML 和 CSS、DOM、XML 和 XSTL、XMLHttpRequest。其中:使用 XHTML 和 CSS 標(biāo)準(zhǔn)化呈現(xiàn),使用 DOM 實現(xiàn)動態(tài)顯示和交互,使用 XML 和 XSTL 進行數(shù)據(jù)交換與處理,使用 XMLHttpRequest 對象進行異步數(shù)據(jù)讀取,使用 Javascr

20、ipt 綁定和處理所有數(shù)據(jù)。與傳統(tǒng)的 Web 應(yīng)用不同,AJAX 采用異步交互過程。AJAX 在用戶與服務(wù)器之間引入一個中間媒介,從而消除了網(wǎng)絡(luò)交互過程中 “處理等待處理等待” 的缺點。用戶的瀏覽器在執(zhí)行任務(wù)時即裝載了 AJAX 引擎。AJAX 引擎用 JavaScript 語言編寫,通常藏在一個隱藏的框架中。它負(fù)責(zé)編譯用戶界面及與服務(wù)器之間的交互。AJAX 引擎允許用戶與應(yīng)用軟件之間的交互過程異步進行,獨立于用戶與網(wǎng)絡(luò)服務(wù)器間的交流?,F(xiàn)在,可以用Javascript調(diào)用AJAX引擎來代替產(chǎn)生一個 HTTP 的用戶動作,內(nèi)存中的數(shù)據(jù)編輯、頁面導(dǎo)航、數(shù)據(jù)校驗這些不需要重新載入整個頁面的需求可以交

21、給 AJAX 來執(zhí)行。使用 AJAX給開發(fā)人員、終端用戶帶來可見的便捷6。(1)減輕服務(wù)器的負(fù)擔(dān)。AJAX 的原則是“按需取數(shù)據(jù)”,可以最大程度的減少冗余請求,和響應(yīng)對服務(wù)器造成的負(fù)擔(dān)。(2)無刷新更新頁面,減少用戶心理和實際的等待時間。特別的,當(dāng)要讀取大量的數(shù)據(jù)的時候,不用像 Reload 那樣出現(xiàn)白屏的情況,AJAX 使用 XMLHTTP 對象發(fā)送請求并得到服務(wù)器響應(yīng),在不重新載入整個頁面的情況下用 Javascript 操作 DOM 最終更新頁面。所以在讀取數(shù)據(jù)的過程中,用戶所面對的不再是白屏,而是原來的頁面內(nèi)容,只有當(dāng)數(shù)據(jù)接收完畢之后才更新相應(yīng)部分的內(nèi)容。這種更新是瞬間的,用戶幾乎感覺

22、不到。(3)帶來更好的用戶體驗。(4)可以把以前一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來處理,減輕服務(wù)器和帶寬的負(fù)擔(dān),節(jié)約空間和寬帶租用成本。(5)可以調(diào)用外部數(shù)據(jù)。(6)基于標(biāo)準(zhǔn)化的并被廣泛支持的技術(shù),不需要下載插件或者小程序。(7)進一步促進頁面呈現(xiàn)和數(shù)據(jù)的分離。AJAX 雖然可以實現(xiàn)無刷新更新頁面內(nèi)容,但是也不是什么地方都可以用,主要應(yīng)用在交互較多、頻繁讀數(shù)據(jù)、數(shù)據(jù)分類良好的 Web 應(yīng)用中。第三章 系統(tǒng)設(shè)計3.1 系統(tǒng)設(shè)計思想系統(tǒng)設(shè)計思想決定了一個系統(tǒng)設(shè)計的成敗也從某種角度反映了一個系統(tǒng)的生命力。此系統(tǒng)采用了三層架構(gòu)的設(shè)計思想做到了功能的獨立化和模塊化。3.1.1功能的

23、獨立化、模塊化。JSP是嵌入了Java代碼的HTML,兩種標(biāo)記混雜在一定程序上使開發(fā)更為方便,但也存在混雜的代碼容易出錯,且出錯時不方便使用開發(fā)工具來設(shè)置斷點排查。三層架構(gòu)設(shè)計使用JavaBean專注開發(fā)邏輯層,JSP頁面專注開發(fā)應(yīng)用表達層,最大限度地提高了開發(fā)效率7。同時系統(tǒng)將涉及復(fù)雜操作的不同功能獨立出來,作為一個模塊來設(shè)計,在需要用到特定功能的程序中,僅僅做出調(diào)用即可。這種做法不僅避免了程序代碼中一些不必要的重復(fù)更重要的是使整個系統(tǒng)層次結(jié)構(gòu)更為清晰,方便了以后系統(tǒng)功能的增加,縮減了開發(fā)成本。3.1.2三層架構(gòu)設(shè)計思想此次設(shè)計采用“用戶界面業(yè)務(wù)處理層數(shù)據(jù)存儲層”的三層架構(gòu)設(shè)計,它的工作原理

24、如圖3.1所示。采用三層架構(gòu)以后,用戶界面層通過統(tǒng)一的接口向業(yè)務(wù)層發(fā)送請求,業(yè)務(wù)層按自己的邏輯規(guī)則將請求處理后進行數(shù)據(jù)庫操作,然后將數(shù)據(jù)庫返回的數(shù)據(jù)封裝成類的形式返回給用戶界面層。這樣用戶界面層甚至可以不知道數(shù)據(jù)庫的結(jié)構(gòu),它只要維護與業(yè)務(wù)層之間的接口即可。這種方式在一定程序上增加了數(shù)據(jù)庫的安全性,同時也降低了對用戶界面層開發(fā)人員的要求,因為它根本不需要進行任何數(shù)據(jù)庫操作。用戶界面業(yè)務(wù)處理層數(shù)據(jù)存儲層數(shù)據(jù)庫拍賣系統(tǒng)操作界面JavaBeans瀏覽器TomcatSQL語句結(jié)果集對象操作圖3.1基于瀏覽器/服務(wù)器模式的三層結(jié)構(gòu)系統(tǒng)功能模塊圖3.1.3 系統(tǒng)實現(xiàn)的功能(1)用戶界面部分。產(chǎn)品選購,出價(

25、可以按各種不同的分類進行查詢)。根據(jù)關(guān)鍵字和類別搜索商品。查看商品的詳細(xì)信息。用戶注冊、登錄、密碼找回、查看和修改個人信息。發(fā)布和修改拍賣商品信息向用戶發(fā)送短信。(2)后臺管理部分。對現(xiàn)有商品的管理:查看、刪除商品。用戶管理:修改、刪除、查看、增加用戶。分類管理:添加、修改、刪除商品分類。系統(tǒng)管理:查看、刪除系統(tǒng)配置信息。向用戶發(fā)送短信。根據(jù)以上的功能分析可以畫出系統(tǒng)用戶界面部分的功能模塊如圖3.2所示,系統(tǒng)后臺管理的模塊如圖3.3所示。3.2 系統(tǒng)層次概框圖系統(tǒng)分為前臺和后臺兩個模塊,前臺主要用來提供給系統(tǒng)注冊用戶或者游客瀏覽、查看商品,并提供注冊的模塊,系統(tǒng)注冊用戶通過登錄后還能管理自己的

26、信息和對指定的商品參與競拍。圖3.2用戶界面功能模塊圖圖3.3系統(tǒng)后臺管理功能模塊圖后臺是系統(tǒng)管理員對拍賣系統(tǒng)設(shè)置、管理用戶和管理商品的地方。系統(tǒng)的系統(tǒng)層次概框劃分如圖3.4所示。用戶注冊(regedit.jsp)商品分類(sort.jsp)拍賣系統(tǒng)搜索商品(search.jsp)查看商品(viewcat.jsp)發(fā)布商品(sell.jsp)系統(tǒng)幫助(help.jsp)登錄(login.jsp)管理用戶(users.jsp)管理商品(cat.jsp)管理短信(message.jsp)系統(tǒng)配置(config.jsp)后臺前臺用戶操作(User_home.jsp)用戶登錄(login.jsp)圖3

27、.4系統(tǒng)層次概框圖3.3 系統(tǒng)模塊詳細(xì)介紹通過上面的分析可以對系統(tǒng)的模塊做進一步的細(xì)分。3.3.1 前臺模塊(1)用戶登錄模塊。已經(jīng)注冊的用戶進入系統(tǒng),必須先進行登錄,并且在該頁面提供了用戶密碼找回的功能。(2)用戶注冊模塊。首先申請用戶名,這個用戶名必須是惟一的(系統(tǒng)使用AJAX技術(shù)無刷新地提交信息進行的用戶名的判斷),然后填寫姓名、密碼、Email、用戶所在地等用戶信息。填好后提交資料就會被保存到用戶數(shù)據(jù)表中。(3)用戶操作模塊。此模塊需要用戶登錄后才能操作。用戶登錄后才可以進行商品的發(fā)布和對指定的商品出價了。同時還包括了向用戶發(fā)送短消息,以及修改用戶的登錄密碼的功能。(4)商品查看模塊。

28、實現(xiàn)查看商品詳細(xì)信息的功能,商品的詳細(xì)信息包括商品的名稱,介紹,發(fā)布時間,拍賣情況,查看發(fā)布此商品的用戶的信用記錄以及出價情況,并且用戶能通過這個頁面進入商品出價的模塊。(5)查看用戶信用模塊。實現(xiàn)查看發(fā)布商品的用戶的詳細(xì)信用的功能。(6)商品出價模塊。此模塊需要用戶登錄后才能進入,可以根據(jù)商品的拍賣方式選擇“拍賣”還是“一口價”的模式出價。3.3.2 后臺模塊(1)管理員登錄模塊。為了系統(tǒng)的安全,進入后臺管理頁面要進行管理員身份的雙重驗證,并且使用了驗證碼的技術(shù)。(2)用戶管理模塊。管理員可以添加、刪除用戶以及修改已經(jīng)注冊的用戶的密碼。(3)商品管理模塊。對已經(jīng)發(fā)布的商品進行管理。(4)系統(tǒng)

29、配置模塊。對拍賣系統(tǒng)的相關(guān)信息進行管理,以擴大此系統(tǒng)的應(yīng)用范圍。(5)商品分類管理模塊。對商品分類進行管理。(6)短信管理模塊。對用戶發(fā)出的短信查看或者刪除。第四章 數(shù)據(jù)庫設(shè)計4.1 數(shù)據(jù)庫需求分析根據(jù)系統(tǒng)的需求,數(shù)據(jù)庫中需要創(chuàng)建以下數(shù)據(jù)表。(1)用戶信息表:用于存放注冊用戶的資料以及用戶登錄情況。(2)管理員信息表:用于存放管理員的信息和權(quán)限。(3)商品主分類信息表:商品的主要分類。(4)商品子分類信息表:商品的子分類,和子類的父類。(5)短消息信息表:記錄用戶之間互發(fā)的短信。(6)用戶評價信息表:交易結(jié)束后用戶的評價信息。(7)商品信息表:記錄用戶發(fā)布的商品的信息。(8)用戶出價信息表:用

30、于記錄用戶對相關(guān)商品的出價信息。(9)系統(tǒng)配置信息表:用于存放系統(tǒng)相關(guān)配置信息。4.2 數(shù)據(jù)庫邏輯設(shè)計數(shù)據(jù)庫需求分析設(shè)計完畢后,現(xiàn)在可以將上面的需求分析轉(zhuǎn)化為數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu),可以作出各表的關(guān)系圖8,如圖4.1所示。網(wǎng)上拍賣系統(tǒng)數(shù)據(jù)庫中各個表的設(shè)計結(jié)果如下面的表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。如表4-1所示為用戶信息表,記錄了系統(tǒng)中所有用戶的詳細(xì)信息。表中uId為主鍵并被設(shè)置為IDENTITY (1, 1),這樣當(dāng)插入一條記錄且uId字段的數(shù)據(jù)為空(null)時,新記錄的uId值將由系統(tǒng)自動給出,且給出的值將比表中曾經(jīng)曾在的最大的uId值在1(若是

31、一張新表,則從1開始)。這樣可以保證整個表中的uId字段在其數(shù)據(jù)類型允許的范圍之內(nèi)沒有重復(fù)的值9。圖4.1表關(guān)系圖表4-1users用戶信息表FieldTypeNullKeyDefaultCommentuIdbigintPRI用戶標(biāo)識isAllowLoginint0是否允許用戶登錄isLoginInint0用戶是否已經(jīng)登錄lastLoginTimedatetimeYes最后一次登錄時間lastLoginIpvarcharYes最后一次登錄IPmsgCountint0收到的新消息數(shù)nickNamevarcharYes用戶的昵稱passwordvarcharYes用戶密碼usernamevarch

32、arYes用戶名addressvarcharYes地址emailvarcharYes郵箱creditint0信用等級degradeint0等級haopingint0好評zhongpingint0中評chapingint0差評如表4-2所示為管理員信息表,記錄了系統(tǒng)管理員的相關(guān)信息。表中adminid為主鍵且設(shè)為自動增長,priv為管理員的權(quán)限字段代表著此管理員在系統(tǒng)中可以管理的模塊,isLoginIn用來臨時記錄管理員的登錄信息,當(dāng)用戶登錄系統(tǒng)后此字段被設(shè)置為1,退出系統(tǒng)時重置為0,防止用戶重復(fù)登錄。表4-2fh_admin管理員信息表FieldTypeNullKeyDefaultCommen

33、tadminidintPRI管理員標(biāo)識admin_namevarchar管理員名字admin_pwdvarcharYes管理員的密碼privint0權(quán)限位isLoginInsmallint0是否已經(jīng)登錄如表4-3所示為商品主分類信息表,記錄了系統(tǒng)中所有商品的分類信息。這個表的信息將被寫入到/include/sort.inc文件中,以減少數(shù)據(jù)庫的操作次數(shù),提高系統(tǒng)的性能。表4-3 sort商品主分類信息表FieldTypeNullKeyDefaultCommentsidintPRI主分類標(biāo)識sortnamevarcharYes主分類名稱如表4-4所示為商品子分類信息表,記錄了主分類下的所有子分類

34、的信息。這個表的信息亦將寫入到/include/sort.inc文件中,表中的ssid被設(shè)為sort表中sid的外鍵,防止在subsort表中出現(xiàn)沒有父類的子分類。表4-4 subsort商品子分類信息表FieldTypeNullKeyDefaultCommentssidintPRI子分類的標(biāo)識subsortnamevarcharYes子分類的名稱sidintYesFK上級分類的標(biāo)識如表4-5所示為短消息信息表,記錄了用戶之間傳遞的信息的詳細(xì)信息。表中mid為主鍵并設(shè)為自動增長。isread代表此短信息是否已經(jīng)被收件人閱讀,0代表未讀,1代表已讀。from_name和to_name分別代表發(fā)件

35、人和收件人的名字。isall代表此信息是否為群發(fā)的信息,0代表不是群發(fā)的信息,1表示是,并且只是管理員有權(quán)限發(fā)群發(fā)的信息,其isread被設(shè)置了過期時間,即過了isread的天數(shù)后信息不再提示為未讀信息。表4-5 message短消息信息表FieldTypeNullKeyDefaultCommentmidintPRI短信息標(biāo)識titlevarchar標(biāo)題contentvarchar內(nèi)容send_timetimestamp發(fā)送時間isreadint0是否已讀from_namevarchar發(fā)送者to_namevarchar接受者isallsmallint0是否發(fā)給每個人如表4-6所示為用戶評價數(shù)

36、據(jù)表,記錄了交易結(jié)束所用戶對買家或賣家所做出的評價的詳細(xì)信息。表中pjID為主鍵設(shè)為自動增長。uId為users表中uid的外鍵,保證每一條評價都是由系統(tǒng)用戶發(fā)表的。credit為評價的得分,分為三種:中評得0分,好評得1分,差評得-1分。content是由評價者發(fā)表的。表4-6 pingjia用戶評價數(shù)據(jù)表FieldTypeNullKeyDefaultCommentpjIdintPRI評價的標(biāo)識uIdintFK評價者標(biāo)識leixingvarchar評價類型pjDatetimestamp發(fā)表評價的時間creditint0評價的得分contentvarchar附加內(nèi)容recuidint評價接受者

37、catidint0此評價針對的商品如表4-7所示為記錄用戶所發(fā)布的商品的詳細(xì)信息的表。表中cid為主鍵設(shè)為自動增長。uId為users表中uid的外鍵,cmain為sort表中sid的外鍵,csub為subsort表中ssid的外鍵,這些外鍵能保證商品的完整性。cend表示商品的拍賣是否已經(jīng)結(jié)束。climit用來限制出價用戶的等級也就是說只是當(dāng)用戶的好評數(shù)達到climit的限制時才能對商品出價,這樣可以維護賣方的利益。model代表商品出售的方式是拍賣還是一價成交的方式。chot用來記錄商品被用戶瀏覽的次數(shù),作為熱點商品的參考。表4-7 cat商品信息表FieldTypeNullKeyDefa

38、ultCommentcidbigintPRI主鍵,遞增uidintFK0發(fā)布者的標(biāo)識cnamevarchar0商品名稱cnewvarcharYes商品新舊程序cmainintFK0商品主分類csubintFK0商品子分類cpicvarcharYes商品圖片地址ctimedatetimeYes發(fā)布商品的時間cdaysint0出售的天數(shù)cendsmallint0是否已經(jīng)結(jié)束chotint0商品關(guān)注的程序cwhobuyitint0請買了這個商品climitint0用戶的等級startbidint0開始價incrementint0增加等級ykjint0一口價modelsmallint0商品出售的模式如

39、表4-8所示為記錄用戶對商品出價情況的信息表。表中pid為主鍵設(shè)為自動增長。cid為商品表cat中cid的外鍵,這樣可以保證用戶的出價都是針對已經(jīng)發(fā)布的商品發(fā)出的。username為出價的用戶名稱。howmuch代表用戶對此商品出了多少錢。表4-8bid用戶出價信息表FieldTypeNullKeyDefaultCommentbidintPRI出價的標(biāo)識cidintFK對就的商品標(biāo)識usernamevarchar出價的用戶名btimedatetime出價的時間howmuchfloat出了多少錢如表4-9所示為記錄系統(tǒng)配置的信息表。表中name為主鍵,它對應(yīng)著系統(tǒng)配置項的名稱,value為這個配

40、置項的值。這個表中的所有項都以“String name=value”的形式被寫入/include/common.inc文件中如圖4.2所示,從而減少數(shù)據(jù)庫操作次數(shù),提高系統(tǒng)性能。表4-9fh_config系統(tǒng)配置信息表FieldTypeNullKeyDefaultCommentnamevarcharPRI配置的名稱valuevarcharYes對應(yīng)的值圖4.2 文件common.inc內(nèi)容示例第五章 詳細(xì)設(shè)計5.1 系統(tǒng)JavaBean的實現(xiàn)在創(chuàng)建數(shù)據(jù)庫后,打開Jbuilder,創(chuàng)建工程和Web模塊。(1) File-New Project創(chuàng)建一個名為Vendue的工程。(2) File-Ne

41、w-Web-雙擊Web Module(WAR)圖標(biāo)創(chuàng)建一個Web模塊,名稱取為webModule。選用Tomcat 5.0作為Web應(yīng)用服務(wù)器10。(3) 再在工程中添加所需的類,如圖5.1所示。圖5.1 系統(tǒng)類圖如圖5.1所示,在Vendue下有四個類,其中各個類的作用如下。(1)Bid類:用戶出價相關(guān)的信息。(2)Cat類:商品類。(3)Message類:短信息類。(4)DataBase類:該類用于實現(xiàn)與數(shù)據(jù)庫的連接。在Admin包下有一個Login類,它的主要作用是處理管理員登錄和退出。在Search包下有兩個類,其中各個類的作用如下。(1)Search類:處理搜索操作。(2)Sort類

42、:處理指定分類下的商品信息。在UserLogin包下有七個類,這是系統(tǒng)中最重要的一個包,其中各類的作用如下。(1)Buy類:管理用戶出價的信息,包括增加出價和管理出價。(2)ChangInfo類:更改用戶信息。(3)Credit類:查看用戶信用信息。(4)Login類:處理用戶登錄。(5)op_Cat類:管理商品,包括添加、刪除。(6)Regedit類:處理用戶注冊。(7)op_Message類:對短信息進行管理,包括發(fā)送、查看、刪除。下面詳細(xì)說明系統(tǒng)中這些類的作用和方法。5.1.1 用戶出價、商品、短信Bean的功能分析應(yīng)用面向?qū)ο蟮乃枷氚丫哂泄残缘膶嶓w抽象成一個類11,這些用戶出價、商品、

43、短信Bean就是分別對用戶出價實體、商品實體、短信實體的抽象,它們分別包含了實體的所有屬性及對象的初始化構(gòu)造的方法12(具體實現(xiàn)見附錄中的相應(yīng)源代碼)。5.1.2 數(shù)據(jù)庫連接類的功能分析這個類的名稱是Database,它是一個公共類,如果其他類需要連接數(shù)據(jù)庫,只需要構(gòu)造這個類的對象或者繼承這個類,然后調(diào)用這個類的connect()方法就可以得到Connection對象。其中main()函數(shù)是用來調(diào)試,測試與數(shù)據(jù)庫的連接是否正常的方法。這個類中的屬性和方法的UML圖,如圖5.2所示。圖5.2 DataBase類的屬性和方法5.1.3 管理員登錄類的功能分析這個類的名稱是Login位于Vendue

44、.Admin包中,主要處理管理員登錄和退出系統(tǒng)的事件。Check()用于檢查輸入的用戶名和密碼是否和數(shù)據(jù)庫中的相符,logOut()方法在數(shù)據(jù)表中記錄用戶退出系統(tǒng)的事件,upInfo()方法用于在管理員登錄系統(tǒng)成功后更新fh_admin表中的對應(yīng)記錄。主要功能函數(shù)如下。public boolean check()/檢查用戶的用戶名和密碼。public void upInfo()/ 更新登錄信息。public void logOut()/用戶退出系統(tǒng)的函數(shù)。這個類中的屬性和方法的UML圖如圖5.3所示。圖5.3包Vendue.Admin中的Login類的屬性和方法5.1.4 商品搜索類的功能分析

45、這個類的名稱是Search位于Vendue.Search包中,主要是處理搜索商品操作的所有事件,其中最重要的方法是doSearch(),它會根據(jù)用戶指定的信息在商品表中找到對應(yīng)的商品,對于每一個符合要求的商品生成一個Cat類,再把這些類作為一個Collection對象返回。Sort類的原理與此相同。這個兩個類中的屬性和方法如圖5.4所示。5.1.5 用戶登錄類的功能分析該類的主要功能是對用戶登錄系統(tǒng)時進行驗證和記錄登錄的相關(guān)信息,如登錄時間和登錄時的IP地址。用戶登錄時調(diào)用函數(shù)check()檢驗用戶的合法性,如果用戶輸入的用戶名和密碼是正確那么再次檢查isAllowLogin()的返回值,判斷

46、系統(tǒng)是否允許用戶登錄進入系統(tǒng)中,然后再檢查getIsLoginIn()的屬性判斷用戶是否已經(jīng)是登錄系統(tǒng)了,如果這一系列的檢查都通過了的話,就調(diào)用upInfo()來更新用戶登錄的信息。圖5.4 Search類的屬性和方法在處理用戶退出的操作則比較簡單直接調(diào)用logOut(),將用戶數(shù)據(jù)表里相關(guān)用戶的isLoginIn字段設(shè)置為0,表示用戶已經(jīng)退出系統(tǒng)了。主要功能函數(shù)如下。public boolean check()/檢查用戶的用戶名和密碼。public void upInfo()/ 更新登錄信息。public void logOut()/用戶退出系統(tǒng)的函數(shù)。這個類中的屬性和方法的UML圖如圖5.

47、5所示。5.1.6 操作商品類的功能分析該類的功能是操作商品的屬性,是普通用戶和管理員共用的類,其中通過設(shè)置屬性priv來約定用戶的身份是普通用戶還是管理員。用戶發(fā)布商品時,通過JavaBean的自省機制設(shè)置了商品類Cat的所有屬性字段,再賦值給此類的cat屬性,通過調(diào)用add()方法就能發(fā)布一條新的商品信息。當(dāng)用戶需要更新自己發(fā)布的商品的信息時,函數(shù)update()就可以提供這樣的功能,它能夠修改商品在數(shù)據(jù)庫的相關(guān)屬性。函數(shù)getInfo()是用來取得指定cid的商品的相關(guān)信息。管理員操作商品時可以通過設(shè)置權(quán)限位priv為自己的權(quán)限,delete()函數(shù)的功能就是提供給管理員刪除商品信息的接

48、口。主要功能函數(shù)如下。public boolean update()/更新對應(yīng)商品的信息。public boolean getInfo()/得到指定商品的信息。public boolean delete()/刪除指定商品。public boolean add()/增加新商品。這個類中的屬性和方法的UML圖如圖5.6所示。圖5.5 Login類的屬性和方法圖5.6 op_cat類的屬性和方法5.1.7 操作用戶類的功能分析用戶操作的類包括三個,分別是Credit.java、ChangeInfo.java和Regedit.java。其功能分別是查看指定用戶的信用記錄、更改用戶信息、注冊及刪除用戶的

49、功能。Credit類中的主要函數(shù)是fillCredit(),通過得到的用戶uid從用戶數(shù)據(jù)表users中取得用戶的信用記錄的詳細(xì)情況。主要功能函數(shù)如下。public boolean fillCredit()/得到用戶的詳細(xì)信用記錄。這個類中的屬性和方法的UML圖,如圖5.7所示。圖5.7 Credit類的屬性和方法ChangeInfo類中的主要函數(shù)是change(),通過得到的用戶uid更改用戶數(shù)據(jù)表users中取得用戶的注冊信息。其中的priv屬性使管理員可以更改所有用戶的信息。主要功能函數(shù)如下。public boolean change()/更改用戶的注冊信息。這個類中的屬性和方法的UML

50、圖,如圖5.8所示。圖5.8 ChangInfo類的屬性和方法Regedit類中的主要函數(shù)是createUser(),在用戶數(shù)據(jù)表users中添加新用戶。其中的priv屬性使管理員可以無限制地操作用戶。主要功能函數(shù)如下。public void check_user()/檢查用戶名是否已經(jīng)被注冊。public void creatUser()/在用戶表users中添加新用戶。public voiddeleteUser()/ 這是提供給管理員使用的方法,刪除指定用戶。這個類中的屬性和方法的UML圖,如圖5.9所示。5.1.8 操作短信息類的功能分析短信息的操作通過類op_Message實現(xiàn),對短信

51、息的操作包括發(fā)送、刪除(管理員)、查看。在這個類中使用了add()方法來向數(shù)據(jù)表message中加入記錄來實現(xiàn)發(fā)送短信。delete()方法必須有管理員的權(quán)限才能使用,作用是刪除短信息。read()方法是實現(xiàn)閱讀短信。其中的priv屬性標(biāo)識用戶為管理員,使其能使用delete()方法。主要功能函數(shù)如下。public void add()/發(fā)送一條短信息。public void read()/閱讀短信息。public void delete()/當(dāng)用戶為管理員是可以刪除一條短信息。這個類中的屬性和方法的UML圖,如圖5.10所示。圖5.9 Regedit類的屬性和方法圖5.10 op_Messa

52、ge類的屬性和方法5.1.9 操作出價信息類的功能分析商品出價的操作通過類Buy實現(xiàn),對商品出價的操作包括出價、查看。在這個類中使用了add()方法來向數(shù)據(jù)表bid中加入一條記錄來實現(xiàn)用戶對商品的出價。view()方法是實現(xiàn)查看出價信息。主要功能函數(shù)如下。public void add()/添加一條商品出價信息。public void view()/查看商品出價信息。這個類中的屬性和方法的UML圖,如圖5.11所示。圖5.11 Buy類的屬性和方法5.2 用戶界面實現(xiàn)界面的設(shè)計使用Dreamweaver開發(fā),它的可視化編輯功能,可以快速的創(chuàng)建頁面而無需編寫任何代碼。同時,提供了強大的設(shè)計功能來確保高質(zhì)量網(wǎng)頁的完成,設(shè)計環(huán)境也使用了CSS樣式表來進行網(wǎng)頁樣式的統(tǒng)一管理,可以迅速高效的開發(fā)出代碼簡潔、專業(yè)規(guī)范的站點13。為了提高代碼的重用性,我們把用戶界面部分相同的頭和尾做成兩個模塊,代表頭部的頁面有top.jsp和top_nosearch.jsp,top.jsp帶有導(dǎo)般欄和搜索工具條用在普通的頁面,top_nosearch.j

溫馨提示

  • 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

提交評論