版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(論文)基于Java的在線購物系統(tǒng)的設(shè)計與實現(xiàn)論文作者姓名:申請學(xué)位專業(yè):申請學(xué)位類別:指導(dǎo)教師姓名職稱:論文提交日期:基于Java的在線購物系統(tǒng)的設(shè)計與實現(xiàn)摘 要電子商務(wù)(Electronic Commerce)是互聯(lián)網(wǎng)上出現(xiàn)的新概念。它是利用計算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和遠(yuǎn)程通信技術(shù),實現(xiàn)整個商務(wù)(買賣)過程中的電子化、數(shù)字化和網(wǎng)絡(luò)化。隨著它的廣泛使用,給人們帶來了便利,并逐漸改變了人們的生活方式. 國內(nèi)在線購物網(wǎng)站多數(shù)是用ASP,PHP技術(shù)實現(xiàn)的,而基于JSP的優(yōu)秀網(wǎng)站較少。本系統(tǒng)網(wǎng)上圖書超市采用JSP+JavaBean+ SQL Server數(shù)據(jù)庫三層模式設(shè)計并實現(xiàn)。本論文詳細(xì)地闡述了
2、系統(tǒng)的需求分析、系統(tǒng)總體架構(gòu)、詳細(xì)設(shè)計以及模塊的實現(xiàn)過程,主要實現(xiàn)了以下模塊功能:會員注冊、登錄/注銷;用戶管理;瀏覽圖書詳細(xì)信息;圖書搜索;圖書管理;購物車;訂單;訂單管理等。關(guān)鍵詞: JSP;SQL Server;JavaBean;在線購物Design and Implementation of online shopping system based on JavaAbstractElectronic commence over Internet is a new concept. To realize electronic, digital and networking commerc
3、e, computer technology, network technology and HYPERLINK :/dict /dict_result.aspx?r=1&t=telecommunications&searchword=%e8%bf%9c%e7%a8%8b%e9%80%9a%e4%bf%a1%e6%8a%80%e6%9c%af telecommunications are used. With its widely used, it brings people with a lot of convenience, and is changing the way of peopl
4、es life.Most domestic online shopping websites are implemented with ASP, PHP, and few are based on JSP. This systemweb-based bookstore is implemented with JSP, JavaBean, and SQL Server database in three-tier model. In the paper, HYPERLINK :/dict /dict_result.aspx?r=1&t=requirements+analysis&searchwo
5、rd=%e9%9c%80%e6%b1%82%e5%88%86%e6%9e%90 requirements analysis, general framework, HYPERLINK :/dict /dict_result.aspx?r=1&t=detailed+design&searchword=%e8%af%a6%e7%bb%86%e8%ae%be%e8%ae%a1 detailed design and realization of each module are introduced. These modules includes member registration, login
6、in/login out, user management, browsing books detailed information, searching book, library management, the shopping car, orders and orders management etc. Key words: JSP;SQL Server;JavaBean; Online Shopping目 錄論文總頁數(shù):29頁 TOC o 1-3 h z u HYPERLINK l _Toc169604652 1引言 PAGEREF _Toc169604652 h 1 HYPERLIN
7、K l _Toc169604653 1.1課題背景 PAGEREF _Toc169604653 h 1 HYPERLINK l _Toc169604654 1.2國內(nèi)外研究現(xiàn)狀 PAGEREF _Toc169604654 h 1 HYPERLINK l _Toc169604655 1.3本課題的研究方法 PAGEREF _Toc169604655 h 2 HYPERLINK l _Toc169604656 2關(guān)于JSP PAGEREF _Toc169604656 h 2 HYPERLINK l _Toc169604657 2.1JSP簡介 PAGEREF _Toc169604657 h 2 H
8、YPERLINK l _Toc169604658 2.2JSP的運(yùn)行原理 PAGEREF _Toc169604658 h 2 HYPERLINK l _Toc169604659 2.3JSP頁面的組成 PAGEREF _Toc169604659 h 3 HYPERLINK l _Toc169604660 2.4JSP的運(yùn)行環(huán)境 PAGEREF _Toc169604660 h 3 HYPERLINK l _Toc169604661 2.5JavaBean技術(shù)介紹 PAGEREF _Toc169604661 h 4 HYPERLINK l _Toc169604662 3需求分析 PAGEREF _
9、Toc169604662 h 4 HYPERLINK l _Toc169604663 3.1系統(tǒng)說明 PAGEREF _Toc169604663 h 4 HYPERLINK l _Toc169604664 3.2系統(tǒng)功能簡介 PAGEREF _Toc169604664 h 4 HYPERLINK l _Toc169604665 4系統(tǒng)設(shè)計 PAGEREF _Toc169604665 h 5 HYPERLINK l _Toc169604666 4.1功能模塊 PAGEREF _Toc169604666 h 5 HYPERLINK l _Toc169604667 4.2系統(tǒng)設(shè)計思想 PAGEREF
10、 _Toc169604667 h 6 HYPERLINK l _Toc169604668 4.3系統(tǒng)總體流程 PAGEREF _Toc169604668 h 6 HYPERLINK l _Toc169604669 4.4網(wǎng)站架設(shè) PAGEREF _Toc169604669 h 7 HYPERLINK l _Toc169604670 4.4.1開發(fā)環(huán)境 PAGEREF _Toc169604670 h 7 HYPERLINK l _Toc169604671 4.4.2建立站點(diǎn) PAGEREF _Toc169604671 h 7 HYPERLINK l _Toc169604672 4.5數(shù)據(jù)庫設(shè)計
11、PAGEREF _Toc169604672 h 7 HYPERLINK l _Toc169604673 5系統(tǒng)實現(xiàn) PAGEREF _Toc169604673 h 9 HYPERLINK l _Toc169604674 5.1編寫JavaBean PAGEREF _Toc169604674 h 9 HYPERLINK l _Toc169604675 5.1.1數(shù)據(jù)庫操作的JavaBean的實現(xiàn) PAGEREF _Toc169604675 h 10 HYPERLINK l _Toc169604676 5.1.2字符串處理的JavaBean的實現(xiàn) PAGEREF _Toc169604676 h 1
12、0 HYPERLINK l _Toc169604677 5.1.3保存購物信息的JavaBean的實現(xiàn) PAGEREF _Toc169604677 h 10 HYPERLINK l _Toc169604679 5.2網(wǎng)站前臺主要功能模塊實現(xiàn) PAGEREF _Toc169604679 h 11 HYPERLINK l _Toc169604680 5.2.1網(wǎng)站前臺首頁設(shè)計 PAGEREF _Toc169604680 h 11 HYPERLINK l _Toc169604681 5.2.2重點(diǎn)推薦展臺的實現(xiàn)過程 PAGEREF _Toc169604681 h 11 HYPERLINK l _To
13、c169604682 5.2.3新書上架實現(xiàn)過程 PAGEREF _Toc169604682 h 13 HYPERLINK l _Toc169604683 5.2.4圖書分類實現(xiàn)過程 PAGEREF _Toc169604683 h 13 HYPERLINK l _Toc169604684 5.2.5用戶管理實現(xiàn)過程 PAGEREF _Toc169604684 h 14 HYPERLINK l _Toc169604685 5.2.6購物車實現(xiàn)過程 PAGEREF _Toc169604685 h 15 HYPERLINK l _Toc169604686 5.2.7生成訂單實現(xiàn)過程 PAGEREF
14、_Toc169604686 h 19 HYPERLINK l _Toc169604687 5.2.8訂單查詢實現(xiàn)過程 PAGEREF _Toc169604687 h 20 HYPERLINK l _Toc169604688 5.2.9銷售排行實現(xiàn)過程 PAGEREF _Toc169604688 h 20 HYPERLINK l _Toc169604689 5.3網(wǎng)站后臺主要功能模塊設(shè)計 PAGEREF _Toc169604689 h 21 HYPERLINK l _Toc169604690 5.3.1后臺登錄實現(xiàn)過程 PAGEREF _Toc169604690 h 21 HYPERLINK l
15、 _Toc169604691 5.3.2圖書管理頁面實現(xiàn)過程 PAGEREF _Toc169604691 h 21 HYPERLINK l _Toc169604692 5.3.3用戶管理實現(xiàn)過程 PAGEREF _Toc169604692 h 23 HYPERLINK l _Toc169604693 5.3.4訂單管理實現(xiàn)過程 PAGEREF _Toc169604693 h 24 HYPERLINK l _Toc169604694 5.3.5公告管理實現(xiàn)過程 PAGEREF _Toc169604694 h 25 HYPERLINK l _Toc169604695 5.3.6退出系統(tǒng)實現(xiàn)過程 P
16、AGEREF _Toc169604695 h 25 HYPERLINK l _Toc169604696 6系統(tǒng)測試 PAGEREF _Toc169604696 h 25 HYPERLINK l _Toc169604697 6.1測試環(huán)境 PAGEREF _Toc169604697 h 25 HYPERLINK l _Toc169604698 6.2測試結(jié)果 PAGEREF _Toc169604698 h 26 HYPERLINK l _Toc169604699 總 結(jié) PAGEREF _Toc169604699 h 26 HYPERLINK l _Toc169604700 參考文獻(xiàn) PAGER
17、EF _Toc169604700 h 27 HYPERLINK l _Toc169604701 致 謝 PAGEREF _Toc169604701 h 28 HYPERLINK l _Toc169604702 聲 明 PAGEREF _Toc169604702 h 29 引言課題背景隨著Internet國際互聯(lián)網(wǎng)的開展,越來越多的企業(yè)開始建造自己的網(wǎng)站?;贗nternet的信息效勞,商務(wù)效勞已經(jīng)成為現(xiàn)代企業(yè)一項不可缺少的內(nèi)容。很多企業(yè)都已不滿足于建立一個簡單的僅僅能夠發(fā)布信息的靜態(tài)網(wǎng)站。現(xiàn)代企業(yè)需要的是一個功能強(qiáng)大的,能提供完善的電子商務(wù)效勞的動態(tài)商務(wù)網(wǎng)站。JSP是Sun公司推出的一種網(wǎng)站開
18、發(fā)技術(shù),Sun公司借助自己在Java上的非凡造詣,又把人們引進(jìn)JSP時代,JSP即Java Server Page,它可以在Servlet和JavaBean的支持下,完成功能強(qiáng)大的Web應(yīng)用程序。JSP網(wǎng)站架設(shè)將成為未來網(wǎng)站架設(shè)的趨勢,而國內(nèi)電子購物網(wǎng)站多數(shù)是用ASP,PHP技術(shù)實現(xiàn)的,而基于JSP的優(yōu)秀網(wǎng)站較少。所以,在我的畢業(yè)設(shè)計中,我采用了JSP作為開發(fā)工具,構(gòu)建了一個能實現(xiàn)簡單的電子商務(wù)的小型動態(tài)商務(wù)網(wǎng)站網(wǎng)上圖書超市銷售系統(tǒng)。該系統(tǒng)能實現(xiàn)用戶的注冊、登錄功能;能夠?qū)崿F(xiàn)商品的查詢,訂購等功能。該系統(tǒng)根本上具備一個網(wǎng)上商品銷售系統(tǒng)應(yīng)該具備的功能,該設(shè)計工程根本上表達(dá)了構(gòu)建一個動態(tài)商務(wù)網(wǎng)站所
19、需要的技術(shù),可以說,目前的大型商務(wù)網(wǎng)站也就是我們這個小型網(wǎng)站在內(nèi)容上的擴(kuò)充和重復(fù)。國內(nèi)外研究現(xiàn)狀伴隨著Internet向我們大踏步走來,國內(nèi)外網(wǎng)上交易已開始逐步普及,電子商務(wù)將成為21世紀(jì)主流的商業(yè)模式。網(wǎng)上圖書超市作為電子商務(wù)中的一種,是隨著這些網(wǎng)絡(luò)技術(shù)的開展而出現(xiàn)的一種新型圖書銷售渠道。它通過人與電子通信方式的結(jié)合,依靠計算機(jī)網(wǎng)絡(luò),以通訊技術(shù)為根底,實現(xiàn)圖書銷售的網(wǎng)上交易。網(wǎng)上圖書超市同傳統(tǒng)的店面書店相比,網(wǎng)上圖書超市的經(jīng)營方式和銷售渠道是全新的;它24小時的全天候和全方位效勞是店面書店所不能比及的;本錢低廉更是開設(shè)網(wǎng)上圖書超市的主要原因。而與其他商品相比,書籍運(yùn)送幾乎不怕碰撞碎裂,不具時
20、效性;同時書本具有功能單一,形式簡單,易于判斷和選擇而獨(dú)具優(yōu)勢,最適合于網(wǎng)上交易;再次是單價低,降低了消費(fèi)者第一次在網(wǎng)絡(luò)購物的門檻,所以網(wǎng)上圖書超市成了電子商務(wù)的先鋒?,F(xiàn)在這一切正在朝著更人性化的方向開展。隨著Internet技術(shù)的迅速開展和日益普及,市場競爭日益劇烈,利用網(wǎng)絡(luò)進(jìn)行效勞和管理已經(jīng)成為一種趨勢.網(wǎng)絡(luò)的開展給用戶帶來了很大的方便, 風(fēng)起云涌的網(wǎng)站在炒足了概念之后,都紛紛轉(zhuǎn)向了務(wù)實,而務(wù)實比擬鮮明的特點(diǎn)之一:是絕大多數(shù)的網(wǎng)站都在試圖做實實在在的網(wǎng)上交易,所謂網(wǎng)上交易就是利用計算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和遠(yuǎn)程通信技術(shù),實現(xiàn)整個商務(wù)(買賣)過程中的電子化、數(shù)字化和網(wǎng)絡(luò)化,它具有如下優(yōu)勢:(1)更
21、廣闊的環(huán)境:人們不受時間的限制,不受空間的限制,不受傳統(tǒng)購物的諸多限制,可以隨時隨地在網(wǎng)上交易。(2)更廣闊的市場:在網(wǎng)上這個世界將會變得很小,一個商家可以面對全球的消費(fèi)者,而一個消費(fèi)者可以在全球的任何一家超市購物。 (3)更快速的流通和低廉的價格:網(wǎng)上超市減少了商品流通的中間環(huán)節(jié),節(jié)省了大量的開支,從而也大大降低了商品流通和交易的本錢。(4)更符合時代的要求:如今人們越來越追求時尚、講究個性,注重購物的環(huán)境, 網(wǎng)上購物,更能表達(dá)個性化的購物過程。本課題的研究方法本次畢業(yè)設(shè)計應(yīng)首先分析淘寶網(wǎng)、易趣網(wǎng)等購物網(wǎng)站的相關(guān)功能,結(jié)合本次畢業(yè)設(shè)計的相關(guān)要求寫出需求分析;其次,綜合運(yùn)用以前所學(xué)的相關(guān)知識包
22、括計算機(jī)網(wǎng)絡(luò)技術(shù)、相關(guān)協(xié)議、信息平安、JSP等相關(guān)知識等,選擇所熟悉的開發(fā)工具進(jìn)行本畢業(yè)設(shè)計的開發(fā);在設(shè)計中以需求分析為根底,寫出系統(tǒng)開發(fā)方案、實現(xiàn)流程及相關(guān)問題的實現(xiàn)方法。關(guān)于JSPJSP簡介JSPJava Server Pages是一種建立在Servlet標(biāo)準(zhǔn)提供的功能之上的動態(tài)網(wǎng)頁技術(shù),和ASP類似,它們都是在通常的網(wǎng)頁文件中嵌入腳本代碼,用于產(chǎn)生動態(tài)內(nèi)容,不過JSP文件中嵌入的是JAVA代碼和JSP標(biāo)記。JSP文件在用戶第一次請求時,會被編譯成Servlet,然后由這個Servlet處理用戶的請求,所以JSP也可以看成是運(yùn)行時的Servlet。Servlet是JAVA對CGI的回應(yīng)。它
23、們在效勞器上執(zhí)行和解釋瀏覽器的請求,承當(dāng)客戶端和其他應(yīng)用程序之間的中間層的角色。Servlet主要是把動態(tài)的內(nèi)容混合到靜態(tài)的內(nèi)容中以產(chǎn)生HTML。JSP頁面在HTML元素中潛入JAVA腳本代碼和JSP標(biāo)記,使得文件長度變短,格式更加清晰。另一方面,JSP把靜態(tài)和動態(tài)的內(nèi)容別離開來,實現(xiàn)了內(nèi)容和表示的別離。使用JSP,不需要單獨(dú)配置每一個文件,只要擴(kuò)展名是.jsp,JSP容器也是Servlet容器就會自動識別,將其轉(zhuǎn)換為Servlet為客戶端效勞。術(shù)語WEB容器和JSP容器是同義的。JSP的運(yùn)行原理在JSP第一次獲得來自于客戶端瀏覽器的請求時,JSP文件將被JSP引擎JSP engine轉(zhuǎn)換成一
24、個Servlet,即將.jsp文件編譯成Java Class文件。當(dāng)Servlet引擎接收到請求后,如果設(shè)置了使用最新的JSP,它就會去找JSP文件,檢查該文件在上次編譯后是否改動過。如果改動過,就會重新編譯生成新的Servlet,最終將請求轉(zhuǎn)交給編譯好的Servlet引擎執(zhí)行。在編譯時如果發(fā)現(xiàn)JSP文件有任何語法錯誤,轉(zhuǎn)換過程將中斷,并向客戶端發(fā)出出錯信息;如果編譯成功,那么所轉(zhuǎn)換產(chǎn)生的Servlet代碼被編譯,然后該Servlet被JSP引擎加載到內(nèi)存中。此時JSP引擎還請求了jspInit()方法的執(zhí)行,并對此Servlet初始化。JspInit()方法在Servlet的生命周期中只被請
25、求一次,然后將被調(diào)用來處理客戶端的請求和回復(fù)操作。對于所有隨后對該JSP文件的請求,效勞器將檢查該JSP文件自最后一次被存取后是否經(jīng)過修改。如果沒有修改,那么將請求交還給還在內(nèi)存中的Servlet的jspService()方法,執(zhí)行回復(fù)操作。由于Servlet始終駐于內(nèi)存,所以響應(yīng)是非??斓?。Jsp頁面在第一次訪問時由于要轉(zhuǎn)化和編譯,運(yùn)行速度較慢,但是當(dāng)?shù)诙卧L問該頁時,由于文件已經(jīng)被編譯成字節(jié)碼文件了,所以速度非常得快。JSP頁面的組成JSP頁面看上去像標(biāo)準(zhǔn)的HTML和XML頁面,并附帶有JSP引擎能夠處理和解析執(zhí)行的代碼與組件。通常,JSP代碼和組件用于創(chuàng)立在最終頁面上顯示的文本。通常來說
26、,JSP頁面包括編譯指令,聲明,表達(dá)式等內(nèi)容。(1)編譯指令:使用JSP編譯指令% 和 %內(nèi)的來指定所使用的腳本語言,Servlet實現(xiàn)的接口,Servlet擴(kuò)展的類,Servlet導(dǎo)入的軟件包。JSP指令的一般語法形式為:。 (2)聲明:用于聲明合法的變量和方法。與任何語言相同,JSP語言使用變量來保存數(shù)據(jù)。這些變量用declaration元素聲明,聲明的語法為。當(dāng)頁面被初始化的時候,JSP頁面中的所有聲明都被初始化。除了簡單的變量,方法也能被聲明。聲明不對當(dāng)前的輸出流產(chǎn)生任何影響。(3)表達(dá)式:通過計算表達(dá)式所得到的結(jié)果來表示某個值。表達(dá)式的形式為:。表達(dá)式求值的結(jié)果被強(qiáng)制轉(zhuǎn)換為一個字符串
27、,并插入到當(dāng)前的輸出流中。JSP的運(yùn)行環(huán)境要運(yùn)行Jsp注意,不是瀏覽Jsp頁面,需要有支持Jsp的效勞器。這里分2種情況:一種是自身就支持Jsp的效勞器,如Jrun,Weblogic,JSWDK等;而另一種那么是在不支持Jsp的效勞器上安裝Jsp引擎的插件,如在IIS,Apache等效勞器上安裝WebSphere,tomcat,Resin等插件。其中主流效勞器是Weblogic和tomcat.Tomcat效勞器是Apache Group Jakarta小組開發(fā)的一個免費(fèi)效勞器軟件,適合于嵌入Apache中使用,而且,它的源代碼可以免費(fèi)獲得,你可以自由地對它進(jìn)行擴(kuò)充。訪問的地址 :/jakart
28、a. /tomacat/index.html, Tomcat效勞器的兼容性很好,如WebLogic效勞器采用其為Web效勞器引擎,Jbuilder將其作為標(biāo)準(zhǔn)的測試效勞器,Sun公司也將其作為JSP技術(shù)應(yīng)用的例如效勞器。缺乏之處是它的配置比擬麻煩,而且有一些平安性的問題沒有解決。但是Tomcat效勞器有眾多大軟件公司的支持,而且效勞器的性能穩(wěn)定,其開展前景很好。JavaBean技術(shù)介紹JavaBean技術(shù)是一種基于Java的組件技術(shù),JavaBean組件可以用來執(zhí)行復(fù)雜的計算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫的交互以及數(shù)據(jù)的提取等,是解決代碼重用問題的一種策略。以前的組件無法實現(xiàn)真正的代碼重用,其主要原因就
29、是它們對于處理平臺的依賴和對開發(fā)語言的依賴過重。由于Java語言在這些方面所具有的特點(diǎn)和優(yōu)勢,使得基于它的軟件JavaBean組件技術(shù)倍受人們的關(guān)注。它的任務(wù)就是:一次編寫,可以在任何地方執(zhí)行,可以在任何地方重用。JavaBean組件可以在任何地方?jīng)_用包括了可以在應(yīng)用程序、其他組件、文檔、Web站點(diǎn)和應(yīng)用程序構(gòu)造器工具等多種方案中再利用。為了創(chuàng)立和使用Java軟件組件,JavaBean被實現(xiàn)為一種獨(dú)立于平臺和結(jié)構(gòu)的應(yīng)用程序接口,它的實現(xiàn)可忽略內(nèi)部的結(jié)構(gòu)及細(xì)節(jié)問題,只需要定義其外部的特征及對外功能就行。其中,屬性、方法和事件三種接口可以獨(dú)立對外進(jìn)行開發(fā)。JavaBean的實質(zhì)就是一個.class
30、文件,也可以成為類文件。JavaBean以binary格式保存,可以保護(hù)Java源代碼不容易被他人抄襲。需求分析系統(tǒng)說明本系統(tǒng)是一個中小型的電子商務(wù)系統(tǒng)網(wǎng)上圖書超市,可以為各類用戶提供方便的在線買書環(huán)境,符合目前國內(nèi)流行的電子商務(wù)模式。用戶可以在系統(tǒng)中實現(xiàn)注冊、瀏覽圖書、搜索查詢圖書、下訂單、處理訂單等功能;管理員可以通過用戶管理、訂單管理、圖書管理、公告管理、投票管理等管理功能來對系統(tǒng)進(jìn)行維護(hù)更新。系統(tǒng)功能簡介網(wǎng)上圖書超市系統(tǒng)是一個典型的JSP數(shù)據(jù)庫開發(fā)應(yīng)用程序,由前臺商品展示及銷售、后臺管理2局部組成。前臺商品展示及銷售該局部主要包括新書上架、重點(diǎn)推薦、銷售排行、購物車、會員管理、收銀臺及
31、訂單查詢、商品查詢等。后臺管理該局部主要對商城內(nèi)的一些根底數(shù)據(jù)進(jìn)行有效管理,包括圖書管理、用戶管理、訂單管理、公告管理等。系統(tǒng)設(shè)計功能模塊網(wǎng)上圖書超市的前臺功能結(jié)構(gòu)如圖1所示圖書超市前臺圖書展臺收銀臺會員管理購物車網(wǎng)上調(diào)查重點(diǎn)推薦新書上架訂單查詢銷售排行圖書分類瀏覽網(wǎng)上調(diào)查查看調(diào)查結(jié)果添加至購物車清空購物車移出圖書查看購物車填寫訂單信息購書結(jié)帳會員注冊會員資料修改會員登錄訂單查詢圖1前臺功能結(jié)構(gòu)圖網(wǎng)上圖書超市的后臺功能結(jié)構(gòu)如圖2所示 圖書超市后臺圖書管理用戶管理訂單管理公告管理投票管理退出查看圖書信息添加圖書信息修改圖書信息刪除圖書信息查看用戶信息凍結(jié)/解凍查看訂單信息執(zhí)行訂單查看公告信息添加
32、公告信息刪除公告信息瀏覽投票工程添加投票工程刪除投票工程退出后臺管理圖2 后臺功能結(jié)構(gòu)圖系統(tǒng)設(shè)計思想本系統(tǒng)采用三層架構(gòu)設(shè)計,它的工作原理如圖3所示。圖3三層架構(gòu)拓?fù)鋱D采用三層構(gòu)架以后,用戶界面層通過統(tǒng)一的接口向業(yè)務(wù)層發(fā)送請求,業(yè)務(wù)層按自己的邏輯規(guī)那么將請求處理之后進(jìn)行數(shù)據(jù)庫操作,然后將數(shù)據(jù)庫返回的數(shù)據(jù)封裝成類的形式返回給用戶界面層。這樣用戶界面層甚至可以不知道數(shù)據(jù)庫的結(jié)構(gòu),它只要維護(hù)與業(yè)務(wù)層之間的接口即可。系統(tǒng)總體流程圖4 用戶流程圖由于后臺管理流程圖與用戶流程圖根本相同,因此只例出如圖4用戶流程圖網(wǎng)站架設(shè)4.4.1開發(fā)環(huán)境硬件平臺:CPU:P41.8GHz;內(nèi)存:256MB以上。軟件平臺:操
33、作系統(tǒng):Windows 2000 Server;數(shù)據(jù)庫:SQL Server 2000;開發(fā)工具包:JDK Version1.5JSP效勞器:Tomcat 5.5瀏覽器:IE5.0及以上版本,推薦使用IE6.0;分辨率:最正確效果1024768。JDBC驅(qū)動: JDBCODBC Driver4.4.2建立站點(diǎn)在Tomcat 5.5webapps文件夾下以網(wǎng)上圖書超市系統(tǒng)的名稱BookSupermarket建立文件夾,然后在BookSupermarket下建立WEB-INF注意全部是大寫文件夾,最后在WEB-INF下建立classes文件夾,lib文件夾及web.xml保存類文件,需要的包保存儲
34、信息及站點(diǎn)的信息。數(shù)據(jù)庫設(shè)計本系統(tǒng)數(shù)據(jù)庫采用SQL Server 2000數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為db_bookmanage,共包含8張表,根據(jù)工程的需求建立相應(yīng)的數(shù)據(jù)表的設(shè)計結(jié)果如下面所示:表1圖書信息表tb_bookinfo字段名數(shù)據(jù)類型長度允許空說明ISBNvarchar15圖書ISBN號,主鍵BookNamevarchar200圖書名Typevarchar50圖書類別名稱publishervarchar100出版社名稱Writervarchar100作者Introducetext16yes圖書簡介Pricemoney8價格pDatevarchar50yes出版日期covervarcha
35、r100yes圖書的封面文件名稱INTimedatetime8圖書信息錄入時間newbookint4標(biāo)志是否為新書commendint4yes標(biāo)志是否推薦該圖書,1為推薦,默認(rèn)值為0表不推薦表2用戶信息表tb_Member字段名數(shù)據(jù)類型長度允許空說明IDint4主鍵自動編號,用戶ID號usernamevarchar4no用戶名TrueNamevarchar20no用戶的真實姓名PassWordvarchar20用戶密碼cityvarchar20所在城市addressvarchar100 Postcodevarchar6郵政編碼CardNOvarchar24yes證件號碼CardTypevarc
36、har20yes證件類型gradeint4yes用戶等級Amount money8yes消費(fèi)金額Telvarchar20yes聯(lián)系 Emailvarchar100Email地址freezeint4yes是否被凍結(jié),為1表示被凍結(jié),為0表示未被凍結(jié)表3訂單信息主表tb_Order字段名數(shù)據(jù)類型長度允許空說明Order IDbigint8自動編號,訂單編號bnumbersmallint2品種數(shù)usernamevarchar15用戶名Truenamevarchar15用戶真實姓名addressvarchar100 postcodevarchar10郵政編碼telvarchar20聯(lián)系 emailva
37、rchar100E-mail地址payvarchar20付款方式carryvarchar20運(yùn)送方式rebatefloat8折扣OrderDatesmalldatetin4訂單日期bzvarchar200yes備注信息enforceint4yes標(biāo)志是否被執(zhí)行,值1表示已被執(zhí)行,為0表示未被執(zhí)行表4訂單信息明細(xì)表tb_order_detail字段名數(shù)據(jù)類型長度允許空說明IDbigint8訂單信息明細(xì)的自動編號orderIDbigint8訂單號ISBNvarchar20圖書ISBN號pricemoney8單價numerint4購置數(shù)量表5折扣信息表tb_rebate字段名數(shù)據(jù)類型長度允許空說明g
38、radevarchar20自動編號,等級Amountmoney8消費(fèi)金額rebatefloat8打折比率表6管理員信息表tb_manager字段名數(shù)據(jù)類型長度允許空說明IDint4自動編號managervarchar30管理員名稱PWDvarchar30 密碼表7公告信息表tb_BBS字段名數(shù)據(jù)類型長度允許空說明IDint4自動編號contentvarchar4000公告內(nèi)容INTimedatetime8 yes公告的內(nèi)容,默認(rèn)值為getdate()表8投票信息表tb_Poll字段名數(shù)據(jù)類型長度允許空說明IDint4自動編號optionNamevarchar50投票工程pollint4票數(shù),默
39、認(rèn)為0系統(tǒng)實現(xiàn)編寫JavaBean根據(jù)系統(tǒng)的需求編寫需要的JavaBean。下面將給出網(wǎng)上圖書超市需要的JavaBean的編寫過程。5.1.1數(shù)據(jù)庫操作的JavaBean的實現(xiàn)在系統(tǒng)開發(fā)過程中經(jīng)常需要對數(shù)據(jù)庫操作,這就需要連接數(shù)據(jù)庫和操作數(shù)據(jù)庫包括數(shù)據(jù)的插入,更新,刪除和查詢等,數(shù)據(jù)庫操作的JavaBean是一個公共類,通常包括連接數(shù)據(jù)庫的方法getConnection、執(zhí)行查詢語句的方法executeQuery、執(zhí)行更新操作的方法executeUpdate、關(guān)閉數(shù)據(jù)庫連接的方法close。因此程序開發(fā)就可以將連接數(shù)據(jù)庫和操作數(shù)據(jù)庫的代碼寫成了一個JavaBean “connDB.java,編
40、寫完成后將其源代碼放到Tomcat 5.5webappsBookSupermarketWEB-INFsrcbeans文件夾中。1指定JavaBean“connDB保存的包,并導(dǎo)入所需的類包,并將其保存到“beans包中。2在構(gòu)造方法connDB中定義該類中所需的變量。通常將方法中常用的變量均放在構(gòu)造方法中。3創(chuàng)立執(zhí)行查詢語句的方法executeQuery,返回值為ResultSet結(jié)果集。4創(chuàng)立執(zhí)行更新操作的方法executeUpdate,返回值為int型的整數(shù),代表更新的行數(shù)。5創(chuàng)立執(zhí)行更新操作,并返回該操作中自動編號字段的自動編號的方法executeUpdate_id。6創(chuàng)立關(guān)閉數(shù)據(jù)庫連接
41、的方法close。7編譯connDB.java,用“javac connDB.java,生成connDB.class,將其放到Tomcat 5.5webappsBookSupermarketWEB-INFclassesbeans文件夾中。5.1.2字符串處理的JavaBean的實現(xiàn)字符串處理的JavaBean是解決程序中經(jīng)常出現(xiàn)的有關(guān)字符串處理問題的方法的類。包括將數(shù)據(jù)庫中及頁面中有中文問題的字符串進(jìn)行正確的顯示和存儲的方法chStr和將字符串中的回車換行、空格及HTML標(biāo)記符正確顯示的方法convertStr兩個方法。下面是編寫網(wǎng)上圖書超市的字符串處理的JavaBean“chStr的詳細(xì)過程
42、。1編寫解決輸出中文亂碼問題的方法chStr。2接著編寫顯示文本中的回車換行、空格及保證HTML標(biāo)記的正常輸出的方法convertStr。5.1.3保存購物信息的JavaBean的實現(xiàn)在購物車程序中需要使用一個bookelement對象保存所選圖書信息,生成該對象的JavaBean “bookelenent.java程序代碼。網(wǎng)站前臺主要功能模塊實現(xiàn)5.2.1網(wǎng)站前臺首頁設(shè)計根據(jù)前期的分析及客戶的要求,網(wǎng)上圖書超市的前臺主要包括重點(diǎn)推薦展臺,新書上架,圖書分類,圖書查詢,用戶管理,購物車,訂單生成,訂單查詢和銷售排行等模塊。在網(wǎng)上超市前臺首頁的運(yùn)行結(jié)果如下列圖5所示圖5首頁5.2.2重點(diǎn)推薦展
43、臺的實現(xiàn)過程1在網(wǎng)站前臺的居中位置,分欄列出了超市推薦的圖書信息,主要包括圖書封面,名稱,出版社,作者及定價等信息。同時列置了“添加至購物車按鈕和“查看按鈕,分別用于將圖書添加至購物車和查看圖書的詳細(xì)信息。重點(diǎn)推薦圖書信息同圖書根本信息同時保存在圖書信息表tb_bookinfo中,以字段commend標(biāo)識,當(dāng)commend字段的值為1時,代表該圖書為重點(diǎn)推薦圖書。查詢重點(diǎn)推薦圖書的代碼如下:這里需要注意的是,“添加購物車按鈕只有在用戶登錄后才可以顯示,即是只有登錄的用戶才可以購置圖書。2根據(jù)圖書的ISBN號查詢圖書的詳細(xì)信息,圖書詳細(xì)頁面的運(yùn)行結(jié)果如圖6所示:圖6圖書簡介在book_detai
44、l.jsp頁面中首先查詢符合ISBN值的圖書信息,關(guān)鍵代碼如下:將查詢結(jié)果顯示到頁面中,此時需要對“圖書簡介進(jìn)行處理,以便正確顯示回車換行和空格符。關(guān)鍵代碼如下: /此處省略了顯示圖書信息的HTML代碼 5.2.3新書上架實現(xiàn)過程在前臺首頁中,單擊“新書上架超鏈接可以進(jìn)入到新書上架頁面newbook.jsp,運(yùn)行結(jié)果如圖7圖7新書上架上架新書消息保存在圖書信息表tb_bookinfo中,以字段newbook標(biāo)志,當(dāng)newbook字段的值為1時,代表該圖書為上架新書。上架新書頁面關(guān)鍵代碼:5.2.4圖書分類實現(xiàn)過程為了方便用戶查詢所需圖書信息,在網(wǎng)站中設(shè)置了圖書分類顯示模塊。單擊導(dǎo)航條中的“圖書
45、分類超鏈接即可進(jìn)入圖書分類顯示頁面,在該頁面左的“圖書分類列表中列出數(shù)據(jù)庫中的全部圖書類別,用戶單擊即可在右顯示該圖書信息列表,單擊書名可以查看相應(yīng)圖書的詳細(xì)信息,如果用戶已經(jīng)登錄,還可以直接將圖書信息添加到購物車中,圖書分類顯示頁面的運(yùn)行結(jié)果如圖8圖8圖書分類在圖書分類頁面BookSort.jsp左的“圖書分類列表中列出了數(shù)據(jù)庫中的全部圖書類別,查詢圖書類別主要通過Select語句的Group By字句實現(xiàn),具體過程:顯示圖書分類信息時,需要注意的是,不能再使用while語句,而應(yīng)該使用dowhile語句,否那么少一條記錄,這是因為在指定圖書默認(rèn)類別時,已經(jīng)應(yīng)用rs_Type.next()語
46、句將記錄指針移動到下一條記錄了,顯示圖書分類信息的關(guān)鍵代碼: /此處省略填寫訂單信息代碼在圖書分類頁面BookSort.jsp的右側(cè)的圖書列表中將顯示指定類別的圖書信息。當(dāng)用戶沒有選擇類別,可以通過獲取類別結(jié)果集rs_Type中的第一條記錄的值指定默認(rèn)類別,否那么應(yīng)用request對象的getParameter方法來獲取選擇的類別并查詢,局部代碼:String PType=;if (request.getParameter(Type)!=null)PType=chStr.chStr(request.getParameter(Type);elseif(rs_Type.next()PType=rs
47、_Type.getString(Type);elseresponse.sendRedirect(index.jsp);ResultSet rs_book=connDB.executeQuery(select * from tb_bookinfo where Type=+PType+);%5.2.5用戶管理實現(xiàn)過程用戶管理主要包括用戶注冊,用戶登錄,用戶個人資料修改,由于用戶個人資料修改比擬簡單,不多做說明。用戶注冊為了統(tǒng)一管理,系統(tǒng)規(guī)定只有會員才能購置圖書,所以要購置圖書的新用戶必須先進(jìn)行用戶注冊。用戶注冊的入口位置在網(wǎng)站首頁的左側(cè)。用戶點(diǎn)擊“注冊即可進(jìn)入用戶注冊頁面,如圖9圖9用戶注冊網(wǎng)站要
48、求用戶名必須唯一,用戶可以先看自己的用戶名是否被注冊。由于是網(wǎng)絡(luò)程序,所以注冊后在保存用戶信息時候,還需要再次對注冊用戶進(jìn)行檢測。如果不存在,那么保存該用戶信息。否那么提示該名用戶已經(jīng)被注冊,請重新注冊。保存用戶注冊信息頁面register_deal.jsp。用戶登錄用戶登錄窗口如圖10圖10用戶登錄如果用戶輸入的用戶名存在,并且凍結(jié)字段的值不為1,那么判斷用戶輸入的密碼是否正確,如果密碼也正確,那么成功登錄,否那么提示登錄失敗。5.2.6購物車實現(xiàn)過程購物車主要包括所選圖書的添加,查看購物車,單件圖書購置數(shù)量的修改,清空購物車4局部。添加到購物車cart_Add.jsp主要采用Vector類
49、型的變量cart來存儲購物數(shù)據(jù)的,被保存在Session中,然后將圖書信息保存到cart中,主要代碼:String ISBN=chStr.chStr(request.getParameter(ISBN);String sql=select * from tb_bookinfo where ISBN=+ISBN+;ResultSet rs=connDB.executeQuery(sql);float price=0;if(rs.next()price=rs.getInt(price);bookelement mybookelement=new bookelement();mybookelemen
50、t.ISBN=ISBN;mybookelement.price=price;mybookelement.number=1;boolean Flag=true;Vector cart=(Vector)session.getAttribute(cart);if(cart=null)cart=new Vector();elsefor(int i=0;i查看購物車查看購物車頁面cart_see.jsp的頂部首先需要判斷購物車是否為空,如果為空將頁面直接跳轉(zhuǎn)到購物車為空頁面cart_null.jsp,否那么顯示購物車信息。顯示購物車信息主要是將保存在Session中的數(shù)據(jù)利用for語句輸出到IE中,同時
51、根據(jù)圖書的定價,購置數(shù)量自動計算每種圖書的金額和購物車中的全部圖書的合計金額。代碼如下:Vector cart=(Vector)session.getAttribute(cart);if(cart=null | cart.size()=0)response.sendRedirect(cart_null.jsp);else/此處插入顯示購物車信息的代碼,將在下面給出% /此處省略填寫訂單信息代碼%float sum=0;float pric=0;String ISBN=;String bookname=;String publisher=;for(int i=0;i /此處省略填寫訂單信息代碼
52、!-function check()if(isNaN(form1.num.value)alert(請不要輸入非法字符);return false;history.back();if(form1.num.value=)alert(請輸入修改的數(shù)量);return false;history.back();-圖11 購物車如圖11由于在購物車中并沒有保存圖書的名稱,所以在獲取圖書信息時,還需根據(jù)圖書的ISBN號重新到數(shù)據(jù)表中查圖書名稱,代碼如下: ResultSet rs_newbook=connDB.executeQuery(select * from tb_bookinfo where ISB
53、N=“+ ISBN+);If(re_book.next()Bookname=re_book.getString(“Bookname);從購物車中移去指定圖書實現(xiàn)從購物車中移去指定圖書可以通過Vector類的removeElementAt(int index)方法實現(xiàn),非常方便。頁面cart_move.jsp代碼為:Vector cart=(Vector)session.getAttribute(cart);tryString ID=request.getParameter(ID);int id=Integer.parseInt(ID);cart.removeElementAt(id);/移去指
54、定圖書信息session.setAttribute(cart,cart);response.sendRedirect(cart_see.jsp);catch(Exception e)%清空購物車實現(xiàn)的方法很簡單,只需要將保存在Session中的購物信息清空即可,清空購物車頁面cart_clear.jsp代碼為:session.removeAttribute(cart);response.sendRedirect(cart_null.jsp);5.2.7生成訂單實現(xiàn)過程生成訂單時,不但要保存用戶訂單中所購置的圖書信息和訂單信息,同時還需要返回一個可供用戶隨時查詢的唯一訂單號。用戶查看購物車頁面中
55、的“去收銀臺結(jié)帳超連接即可進(jìn)入到收銀臺頁面填寫訂單信息,在該頁面中系統(tǒng)會根據(jù)用戶登錄的用戶名自動填寫用戶根本信息,除用戶名不可更改外,其他的均可修改,收銀臺頁面的運(yùn)行結(jié)果如圖12圖12收銀臺在收銀臺頁面cart_checkout.jsp中,首先應(yīng)用判斷用戶是否已經(jīng)購物,然后再判斷用戶是否登錄,如果用戶沒有購物或是沒有登錄都將給予提示并返回到網(wǎng)站首頁。關(guān)鍵代碼為:%if(session.getAttribute(cart)=)out.println(alert(您還沒有購物!);window.location.href=index.jsp;);String Username=;Username=
56、(String)session.getAttribute(UserName);if (Username!=)tryResultSet rs_user=connDB.executeQuery(select * from tb_Member where username=+Username+);if(!rs_user.next()session.invalidate();out.println(alert(請先登錄后,再進(jìn)行購物!);window.location.href=index.jsp;);return;elseString Truename=rs_user.getString(Truen
57、ame);String address=rs_user.getString(address);String postcode=rs_user.getString(postcode);String tel=rs_user.getString(tel);String email=rs_user.getString(email);%5.2.8訂單查詢實現(xiàn)過程訂單查詢實現(xiàn)頁面是為用戶查詢訂單信息執(zhí)行狀態(tài)而設(shè)計的,用戶成功登錄后,單擊網(wǎng)站中的“訂單查詢,即可進(jìn)入到訂單查詢頁面,該頁面列出當(dāng)前用戶的全部訂單概要信息列表。查詢訂單概要信息主要從訂單主表tb_order中根據(jù)當(dāng)前登錄的用戶名獲取訂單信息,關(guān)鍵
58、代碼如下:ResultSet rs=connDB.executeQuery(select * from tb_Order where username=+(String)session.getAttribute(UserName)+);并根據(jù)訂單編號查看訂單的詳細(xì)信息。5.2.9銷售排行實現(xiàn)過程該頁面運(yùn)行結(jié)果如圖13所示圖13銷售排行銷售排行數(shù)據(jù)主要是將銷售明細(xì)表中的數(shù)量ISBN字段分組并統(tǒng)計銷售數(shù)量再應(yīng)用子查詢獲取銷售數(shù)量最高的前10本圖書,最后再使用連接查詢獲取相應(yīng)的圖書信息,關(guān)鍵代碼如下:ResultSet rs_sort=connDB.executeQuery(select * fro
59、m (select top 10 * from ( select sum(number) as amount,ISBN from tb_Order_detail group by ISBN )as tab order by amount desc) o inner join tb_bookinfo b on o.ISBN=b.ISBN order by o.amount desc);網(wǎng)站后臺主要功能模塊設(shè)計在后臺設(shè)計中主要有7個模塊,分別是:后臺登錄,圖書管理,用戶管理,訂單管理。公告管理,投票管理,退出。5.3.1后臺登錄實現(xiàn)過程后臺登錄頁面運(yùn)行結(jié)果如圖14圖14后臺登錄為了網(wǎng)站的平安,防止
60、一些不法分子蓄意破壞,需要為網(wǎng)站后臺設(shè)計用于驗證用戶身份的文件safe.jsp,完整代碼如下:%if (session.getAttribute(UserName)=null)out.println(alert(您還沒有登錄!);window.location.href=index.jsp;);%然后,在網(wǎng)站首頁后的每個頁面都參加以下代碼:這樣當(dāng)用戶沒有正常登錄時,即可彈出“您還沒有登錄的提示對話框,確定后將退出后臺頁面,返回網(wǎng)站首頁。5.3.2圖書管理頁面實現(xiàn)過程圖書管理模塊主要實現(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力施工課件教學(xué)課件
- 2024年度乙方為甲方提供財務(wù)咨詢服務(wù)合同
- 2024年度供應(yīng)鏈融資合同融資額度與還款方式說明
- 2024醫(yī)療器械公司與研發(fā)團(tuán)隊合作協(xié)議
- 2024年度技術(shù)服務(wù)與授權(quán)合同
- 2024婚姻擔(dān)保協(xié)議合同
- 2024建筑的裝飾合同書范本
- 2024年度版權(quán)出租合同詳細(xì)條款及其標(biāo)的
- 2024年居住房屋買賣合同
- 畫小雞課件教學(xué)課件
- 2024年二手物品寄售合同
- 2023年遼陽宏偉區(qū)龍鼎山社區(qū)衛(wèi)生服務(wù)中心招聘工作人員考試真題
- 三年級數(shù)學(xué)(上)計算題專項練習(xí)附答案集錦
- 歷史期中復(fù)習(xí)課件七年級上冊復(fù)習(xí)課件(部編版2024)
- 7.2.2 先天性行為和學(xué)習(xí)行為練習(xí) 同步練習(xí)
- 2024-2025學(xué)年八年級物理上冊 4.2光的反射說課稿(新版)新人教版
- 《現(xiàn)代管理原理》章節(jié)測試參考答案
- 電子元器件有效貯存期、超期復(fù)驗及裝機(jī)前的篩選要求
- 2024秋期國家開放大學(xué)??啤陡叩葦?shù)學(xué)基礎(chǔ)》一平臺在線形考(形考任務(wù)一至四)試題及答案
- 懷感恩與愛同行 主題班會課件
- 停車收費(fèi)系統(tǒng)購買合同范本
評論
0/150
提交評論