歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

[優(yōu)秀畢業(yè)設(shè)計] 網(wǎng)上商城系統(tǒng)的設(shè)計與實現(xiàn)

  • 資源ID:122299166       資源大?。?span id="mobt0zc" class="font-tahoma">2.71MB        全文頁數(shù):74頁
  • 資源格式: DOC        下載積分:16積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要16積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

[優(yōu)秀畢業(yè)設(shè)計] 網(wǎng)上商城系統(tǒng)的設(shè)計與實現(xiàn)

畢業(yè)設(shè)計題目: 網(wǎng)上商城系統(tǒng) 院、系: 姓名: 指導(dǎo)教師: 系主任: 2010年06月20日畢業(yè)設(shè)計(論文)評語學(xué)生姓名: 學(xué)號:學(xué) 院: 專業(yè): 任務(wù)起止時間: 2010 年 3 月 8 日至 2010 年 6 月 25 日畢業(yè)設(shè)計(論文)題目:網(wǎng)上商城系統(tǒng)指導(dǎo)教師對畢業(yè)設(shè)計(論文)的評語: 指導(dǎo)教師簽名: 指導(dǎo)教師職稱: 評閱教師對畢業(yè)設(shè)計(論文)的評語:評閱教師簽名: 評閱教師職稱: 答辯委員會對畢業(yè)設(shè)計(論文)的評語:答辯委員會評定,該生畢業(yè)設(shè)計(論文)成績?yōu)椋?答辯委員會主席簽名: 職稱: 年 月 日畢業(yè)設(shè)計(論文)任務(wù)書學(xué)生姓名: 學(xué)號:學(xué) 院:計算機科學(xué)與技術(shù) 專業(yè):網(wǎng)絡(luò)工程任務(wù)起止時間: 2010 年 3 月 8 日至 2010 年 6 月 25 日畢業(yè)設(shè)計(論文)題目:網(wǎng)上商城系統(tǒng)畢業(yè)設(shè)計工作內(nèi)容: 1. 全面學(xué)習(xí)和分析一個網(wǎng)上商城系統(tǒng)的業(yè)務(wù)流程,和開發(fā)流程,參考現(xiàn)有的各種網(wǎng)上商城。(3月9日4月5日)2. 在源代碼級上分析一個網(wǎng)上商城系統(tǒng)所需的功能模塊,并搭建相應(yīng)的開發(fā)環(huán)境,并選擇開發(fā)工具。(4月6日4月15日)3. 使用螺旋遞增模型,開始開發(fā)和完善代碼,并不斷測試以完成、完善網(wǎng)上商城系統(tǒng)的功能。(4月16日6月5日)4. 論文整理、撰寫及答辯。(6月6日6月25日) 資料:1. 實用Java程序設(shè)計教程 機械工業(yè)出版社2. JSP實用教程 清華大學(xué)出版社3. MySQL完全手冊 電子工業(yè)出版社4. Dreamweaver MX 2004網(wǎng)頁設(shè)計標(biāo)準(zhǔn)教材 電子工業(yè)出版社5. Tinking in Java (Fourth Edition) Bruce Eckel 機械工業(yè)出版社指導(dǎo)教師意見:簽名:年 月 日系主任意見:簽名:年 月 日網(wǎng)上商城系統(tǒng)摘 要目前,人們的購物方式已經(jīng)變得多種多樣,在現(xiàn)實中的商場、超市、各種店鋪,還有就是在網(wǎng)上購物。網(wǎng)絡(luò)購物作為一種新的購物形式被廣大群眾所接受,尤其是年輕群體。它最大的優(yōu)勢就是比現(xiàn)實中商場里的商品要便宜,而且一般都是送貨上門,因為網(wǎng)購一般都是采取快遞送貨方式,購物也因此變得很便利,用戶只要坐在電腦前,點點鼠標(biāo)就可以買東西了。當(dāng)然網(wǎng)購也有它的缺點,比如無法見到實物,只能通過商家介紹的文字和圖片來了解商品,比如買衣服無法試穿,而且這也為不良商家提供了忽悠消費者的方法,他們會盡力美化自己的商品來誘惑消費者買單,而消費者收到商品后才發(fā)現(xiàn)和想象中的差異很大,而商家又以各種各樣的理由推脫,而且由于采用網(wǎng)上交易,所以會存在安全問題。但是這些都不能擋住網(wǎng)購的魅力,網(wǎng)上購物現(xiàn)在正變得越來越流行,市場份額也變得越來越大。因此本文以目前現(xiàn)有的網(wǎng)上商城系統(tǒng)為研究對象,例如淘寶和當(dāng)當(dāng),這里主要研究后者的形式,也就是商城自己經(jīng)營的方式,研究其各個功能模塊及其組合、連接方式,并分析其具體的實現(xiàn)方式,最后使用Java加web服務(wù)器和數(shù)據(jù)庫完成一個網(wǎng)上商城系統(tǒng)的主要功能模塊。關(guān)鍵詞 網(wǎng)上商城;Java;Web開發(fā)Online Shopping Mall SystemAbstractAt present, people's shopping patterns have become diverse, in reality shopping malls, supermarkets, various shops, and the online shopping.Online shopping as a new form of shopping has been accepted by the masses, especially in younger age groups.It's biggest advantage is cheaper than the market's goods, and generally they are delivered to your door, because online shopping is generally taken by courier delivery, shopping has become very conveniently, you just sit in front of computer and click your mouse then you can shopping. Of course, online shopping has its drawbacks, such as you can not see the goods, the only way is read the text and the pictures to understand the products, and you can not try on cloths on online shopping, and it provide a way for the bad businessman to deceive the consumers, They will try to beautify their goods to lure consumers, when consumers receive merchandises they will find it is very different between reality and imagination, and the businessman shirk his responsibility with a lot of reason. And because of se the online transactions, the security issues can not be avoided. But this does not stop the online shopping be come more popular, becoming more and more market share. So, here I will consider the online shopping mall witch be used in our word, for example, Taobao and Dangdang, and I will thinking more for the later one, consider how to achieve it, I will use java Using as the programming language, Tomcat for the Web server, MySql to be the database. Keywords Online Shopping Mall; Java; Web Development目 錄摘要IAbstractII第1章 緒論及網(wǎng)上商城簡介11.1 選題目的和意義11.2 論文研究內(nèi)容11.3 什么是網(wǎng)上商城21.4 網(wǎng)上商城的分類31.5 本章小結(jié)3第2章 網(wǎng)上商城系統(tǒng)的需求分析42.1 網(wǎng)上商城業(yè)務(wù)流程分析4 作為一名消費者的使用流程4 作為一名商城管理員的使用流程5 小結(jié)52.2 網(wǎng)上商城模塊分析5 用戶模塊分析6 管理員模塊分析6 小結(jié)72.3 本章小結(jié)7第3章 網(wǎng)上商城系統(tǒng)的設(shè)計與實現(xiàn)83.1 開發(fā)語言和工具介紹8 開發(fā)語言介紹8簡介8簡介8簡介8簡介9簡介9 數(shù)據(jù)庫介紹9 服務(wù)器介紹9 開發(fā)工具介紹10介紹10介紹103.2 業(yè)務(wù)邏輯設(shè)計10 基礎(chǔ)共用類和相應(yīng)方法10類10 系統(tǒng)基礎(chǔ)配置11類11類11類13類13 用戶實體類和相應(yīng)方法14類14類15 管理員實體類和相應(yīng)方法15類15類16 商品類別類和相應(yīng)方法16實體類16管理類16類17 商品類及其相應(yīng)管理方法17實體類17管理類1818 購物車類及其方法18實體類19類19管理類19 訂單類及其方法20訂單實體類20類20管理類213.3 數(shù)據(jù)庫設(shè)計21 數(shù)據(jù)庫設(shè)計簡要介紹21 數(shù)據(jù)庫具體設(shè)計22表22表22表23表23表23表243.4 本章小結(jié)24第4章 系統(tǒng)的測試和分析254.1 V0.1版本254.2 V0.2版本284.3 V0.3版本304.4 V0.4版本334.5 V0.5版本344.6 V0.6版本354.7 V0.7版本374.8 V0.8版本404.9 V0.9版本434.10 V1.0版本444.11 本章小結(jié)52結(jié) 論53致 謝54參考文獻55附 錄56第1章第1章 緒論及網(wǎng)上商城簡介1.1 選題目的和意義對于網(wǎng)上商城來說,我想每個人都不陌生,即使你沒有親自在網(wǎng)上買過東西也一定見過、聽說過網(wǎng)上購物這種方式。網(wǎng)絡(luò)購物作為一種新的購物形式已經(jīng)被廣大群眾所接受,尤其是年輕群體,他們特別熱衷于網(wǎng)購。網(wǎng)購最大的優(yōu)勢就是東西要比現(xiàn)實中商場里的商品便宜,而且一般都是送貨上門,因為網(wǎng)購一般都是采取快遞送貨方式,直接送到你家樓下或者公司里,因此網(wǎng)絡(luò)購物的第二大優(yōu)勢就是其便利性,用戶只要坐在電腦前,點點鼠標(biāo)就可以買東西了。當(dāng)然網(wǎng)購也有它的缺點,比如無法見到實物,只能通過商家介紹的文字和圖片來了解商品,再比如買衣服無法試穿,而且這也為不良商家提供了忽悠消費者的方法,他們會盡力美化自己的商品來誘惑消費者買單,而消費者收到商品后才發(fā)現(xiàn)和想象中的差異很大,而商家又以各種各樣的理由推脫,而且由于采用網(wǎng)上交易,所以會存在安全問題。但是這些都不能擋住網(wǎng)購的魅力,網(wǎng)上購物現(xiàn)在正變得越來越流行,市場份額也變得越來越大。因此這次畢業(yè)設(shè)計題目就以目前現(xiàn)有的網(wǎng)上商城系統(tǒng)為研究對象,例如淘寶和當(dāng)當(dāng),這里主要研究后者的形式,也就是商城自己經(jīng)營的方式,研究一般的網(wǎng)上商城的業(yè)務(wù)流程,猜測其各個功能模塊及其組合、連接方式,并分析其具體的實現(xiàn)方式,最后使用Java加web服務(wù)器和數(shù)據(jù)庫完成一個網(wǎng)上商城系統(tǒng)的主要功能模塊。通過這樣一個畢業(yè)設(shè)計,可以提高自己Java編程的水準(zhǔn),也練習(xí)了怎樣構(gòu)建一個完整的系統(tǒng),從系統(tǒng)的需求分析到設(shè)計,直至編碼、測試并運行,熟悉并掌握一個完整的Web開發(fā)流程,為今后工作打下基礎(chǔ)。1.2 論文研究內(nèi)容網(wǎng)上商城是一個基于Internet的應(yīng)用,屬于B/S架構(gòu),前端就是一個客戶瀏覽器,客戶需要通過瀏覽器來訪問服務(wù)器,因此,本文主要研究的就是一個網(wǎng)上商城系統(tǒng)(商城自負(fù)經(jīng)營的類型)的業(yè)務(wù)流程及其實現(xiàn)方式。首先,需要站在使用者的角度去思考你究竟會怎么使用這個系統(tǒng),而一個網(wǎng)上商城的使用者一般又有兩類,一類是普通消費者,而另一類則是商城的管理員,因此我就需要思考這兩類人都會怎么來是使用這個系統(tǒng),這樣就能分析出網(wǎng)上商城系統(tǒng)的業(yè)務(wù)流程。而實現(xiàn)這個業(yè)務(wù)流程可以采用很多種不同的方法,很明顯,網(wǎng)上商城系統(tǒng)是一個基于Internet的應(yīng)用,因此就需要使用到Web開發(fā)的方法,目前Web開發(fā)的方法有很多,流行的有Java和.Net,這里我選擇了Java,因此我就需要研究如果采用Java作為編程語言,我應(yīng)當(dāng)如何來實現(xiàn)這個系統(tǒng),這個系統(tǒng)應(yīng)該劃分為多少個模塊,每個模塊的功能又是什么,他們之間如何組合到一起,這也就是系統(tǒng)的設(shè)計。而到了實際的代碼開發(fā)階段,也會碰到一些各種各樣的問題,這也需要思考并解決。因此,本文的研究內(nèi)容囊括了系統(tǒng)的分析、設(shè)計和編碼,是在研究一個完整的Web開發(fā)流程。1.3 什么是網(wǎng)上商城 為了正確的開發(fā)一個系統(tǒng),你首先就需要全面的了解一個系統(tǒng),它究竟是個什么東西,它為什么要這個樣子,因此在這里就介紹什么是網(wǎng)上商城。網(wǎng)上商城類似于現(xiàn)實世界當(dāng)中的商店,差別是利用電子商務(wù)的各種手段,達成從買到賣的過程的虛擬商店,從而減少中間環(huán)節(jié),消除運輸成本和代理中間的差價,造就對普通消費,和加大市場流通帶來巨大的發(fā)展空間。盡能的還消費者以利益,帶動公司發(fā)展和企業(yè)騰飛,引導(dǎo)國民經(jīng)濟穩(wěn)定快速發(fā)展,推動國內(nèi)生產(chǎn)總值。1網(wǎng)上商城的出現(xiàn)一是因為技術(shù)的進步,Internet愈發(fā)發(fā)達,現(xiàn)在全世界都在使用Internet,而基于Internet的應(yīng)用也越來越多;再就是人們思維方式的轉(zhuǎn)變,不再拘泥于現(xiàn)實中的世界,喜歡暢游在虛擬的世界中,在網(wǎng)上交友,聊天,因此在網(wǎng)上購物也就誕生了,到了今天網(wǎng)上購物也變得越來越流行,市場份額也逐漸擴大。網(wǎng)上商城是在為個人用戶和企業(yè)用戶提供人性化的全方位服務(wù),努力為用戶創(chuàng)造親切、輕松和愉悅的購物環(huán)境,不斷豐富產(chǎn)品結(jié)構(gòu),最大化地滿足消費者日趨多樣的購物需求,并憑借更具競爭力的價格和逐漸完善的物流配送體系等各項優(yōu)勢,贏得市場占有率多年穩(wěn)居行業(yè)首位的驕人成績,也是時代發(fā)展的趨勢。當(dāng)然,一種事物的出現(xiàn)必然伴隨著它的兩面性,它有它的優(yōu)點,也有缺點,而網(wǎng)上商城的優(yōu)點就是便宜,再就是便利性。在網(wǎng)上買東西一般都會比現(xiàn)實中的便宜一些,因此就吸引了很多的消費者購買;再者,網(wǎng)購一般都是快遞送貨,直接送到家門口或者公司里,這就使許多不愿意或者懶得逛街的人們提供了方便,坐在電腦前,只要點點鼠標(biāo)就能買東西。而網(wǎng)上商城的缺點也是顯而易見的,最大的缺點就是你無法見到實物,你對商品的了解僅能通過商家的文字和圖片介紹,因此,在網(wǎng)上買的東西拿回來之后就有可能發(fā)現(xiàn)與想象中的相差很大,尤其是衣服,你無法試穿,買回來可能就不合適,其顏色、質(zhì)地也可能有較大出入,而商家通常拒絕更換和退掉因為顏色和質(zhì)地與想象不同的東西,而且網(wǎng)上還有很多假貨,看上去很便宜,但是買回來卻發(fā)現(xiàn)上當(dāng)受騙;再就是網(wǎng)上交易存在風(fēng)險,你的銀行賬號和密碼有可能被不法分子盜取,你的個人信息也可能泄露,給你的工作和生活帶來不便,因此網(wǎng)購時要注意保護你的密碼和個人信息。1.4 網(wǎng)上商城的分類網(wǎng)上商城主要有三大類: B2B(Business To Business, 商家對商家)、B2C(Business To Customer,商家對顧客直銷)和C2C(Customer to Customer,客戶和客戶),還有就是G2C(Government to Citizen)其功能不盡相同。B2B的典型代表有阿里巴巴,中國制造網(wǎng),主要是從事批發(fā)業(yè)務(wù);B2C的典型代表有當(dāng)當(dāng)網(wǎng),卓越,八點商城,問學(xué)商城,主要是從事零售業(yè)務(wù);C2C的典型代表有淘寶、易趣、拍拍、百度有啊。G2C:G2C電子政務(wù)是指政(Government)與公眾(Citizen)之間的電子政務(wù)。是政府通過電子網(wǎng)絡(luò)系統(tǒng)為公民提供各種服務(wù)。G2C電子政務(wù)所包含的內(nèi)容十分廣泛,主要的應(yīng)用包括:公眾信息服務(wù)、電子身份認(rèn)證、電子稅務(wù)、電子社會保障服務(wù)、電子民主管理、電子醫(yī)療服務(wù)、電子就業(yè)服務(wù)、電子教育、培訓(xùn)服務(wù)、電子交通管理等。G2C電子政務(wù)的目的是除了政府給公眾提供方便、快捷、高質(zhì)量的服務(wù)外,更重要的是可以開辟公眾參政、議政的渠道,暢通公眾的利益表達機制,建立政府與公眾的良性互動平臺。而在這里,主要研究的是B2C(Business To Customer,商家對顧客直銷)方式。1.5 本章小結(jié)本章主要介紹了什么是網(wǎng)上商城以及網(wǎng)上商城的分類,各個分類的模式。第2章 網(wǎng)上商城系統(tǒng)的需求分析2.1 網(wǎng)上商城業(yè)務(wù)流程分析開發(fā)一個項目,不管你采用什么實現(xiàn)方式,其實都是在完成其業(yè)務(wù)流程,因此,將一個系統(tǒng)的業(yè)務(wù)流程分析清楚,將為后面的開發(fā)提供極大的便利。由于本文選擇了B2C(Business To Customer,商家對顧客直銷)模式,所以之后的分析或討論均是針對此種模式。如何對一個系統(tǒng)進行分析有很多的方法,這里我采用了站在具體的使用者的角度來考慮這個網(wǎng)上商城系統(tǒng)的功能和結(jié)構(gòu),先是粗略的分析一下使用的流程,在這個過程中就能夠發(fā)現(xiàn)一些必須的基礎(chǔ)的類。2.1.1 作為一名消費者的使用流程如果一個消費者第一次來到一個網(wǎng)絡(luò)商城,他一般會先瀏覽瀏覽商品,看看他是否喜歡這個商城,因此,目前的網(wǎng)上商城大多在首頁就會顯示商品,用戶也不需要登錄就可以查看。接下來如果他對這個商城感興趣,那消費者一般會注冊一個賬號,以便以后使用,那么商城就需要提供用戶注冊功能;既然提供了注冊功能就需要提供登錄功能,用戶登錄之后應(yīng)當(dāng)顯示這個用戶。用戶登錄之后就會擁有一定的權(quán)限,比如查看自己的個人信息,修改自己的個人信息,修改自己的密碼等,當(dāng)然登錄用戶也可以查看商品,最重要的,登錄用戶可以選擇商品放入自己的購物車并下單結(jié)賬。還可以查看自己所下的訂單。因此從上面的分析,我們大致可以分析出來有這么幾個實體類來支撐這些操作,首先,如果要瀏覽商品,那么商品這個東西需要包裝成一個實體類,才能在系統(tǒng)中向用戶展示;再者用戶注冊會員,那么會員就又應(yīng)該是一個實體類,你得在這個實體類里記錄注冊會員的一些信息啊,什么用戶名啊、密碼啥的;再者,用戶選擇了商品放入了購物車,那么購物車就又是一個實體類,它應(yīng)當(dāng)負(fù)責(zé)記錄用戶買了什么東西,也就是記錄用戶拿的哪些個商品;最后會員買完東西后給商城下了訂單,那么這個訂單也需要包裝成一個實體類,上面需要記錄一些信息,最主要的信息應(yīng)當(dāng)有:誰下了這個訂單?買了什么東西?多少錢?其它的諸如什么時候下的也可以記錄。2.1.2 作為一名商城管理員的使用流程管理員首先要登錄才能擁有操作,商城管理員應(yīng)當(dāng)能管理商城注冊的會員:可以查看商城的注冊會員,并且可以修改某個會員的信息,還可以刪除會員。商城管理員應(yīng)當(dāng)能管理商品,和商品的類別:可以查看商品類別,添加、修改和刪除商品的類別;可以查看商品,添加、修改和刪除商品。商城管理員可以管理會員所下的訂單:查看訂單和處理訂單。管理員也可以修改自己的密碼。從管理員的操作,我們也可以得到這么幾個實體類。第一,管理員,既然有管理員那么就必須有一個類來記錄這些東西;第二,這里提到了商品的類別,那么這個也應(yīng)當(dāng)包裝成一個類,而且這個類應(yīng)當(dāng)和商品類有一定的關(guān)聯(lián)。2.1.3 小結(jié)因此,從前面兩個站在不同角度來分析使用流程來看,我從中提取出了一些個名詞,這寫個名詞也就成為了一些基礎(chǔ)的實體類,目前分析的出來的有,用戶類、管理員類、商品類別類、商品類、購物車類、訂單類。這些個類都是明顯的,但是還有一些類可能不能這樣直接的通過找名詞來得出來,但是可以分析這個過程,來將其推算出來。商城肯定是要用數(shù)據(jù)庫的,那么對數(shù)據(jù)庫的通用操作通常也會封裝成為一個JDBC的類。隨著分析的不斷深入,還會有一些類不斷地冒出來。這里我想采用的是實體類只是純純的實體類,只是包裝一些屬性,有一些簡單的讀取和設(shè)置方法,再專門寫一個管理類來提供一些和這個實體類相關(guān)的一些業(yè)務(wù)所需的操作,那么這里就又得到了一些類:用戶管理類、管理員管理類、商品類別管理類、商品管理類、購物車管理類和訂單管理類。當(dāng)然這肯定不是全部,隨著分析設(shè)計的深入,還會有一些類添加進來,就算進入到實際開發(fā)階段,還有可能突然覺得需要再加入某個類。2.2 網(wǎng)上商城模塊分析現(xiàn)在我再從另一個方面著手,來分析這個網(wǎng)上商城系統(tǒng)。那就是按照功能劃分模塊的分析方法。基本上每個系統(tǒng)基本上會劃分為若干個不同的模塊,以方便管理和維護。因此,在這里我也把我的這個網(wǎng)上商城系統(tǒng)按照功能劃分為兩大模塊,管理員模塊和用戶模塊,這兩個模塊又可以劃分為若干個子模塊。2.2.1 用戶模塊分析用戶模塊是為商城的前臺展示所設(shè)計的,用戶模塊又可以大致劃分為一下子模塊:1. 用戶注冊模塊2. 用戶登錄模塊3. 用戶信息修改模塊4. 修改用戶密碼模塊5. 商品展示模塊6. 購物車模塊7. 查看以往訂單模塊用戶注冊模塊負(fù)責(zé)新會員注冊,并將其持久化,也就是將新注冊的會員的信息寫入數(shù)據(jù)庫。登錄模塊負(fù)責(zé)驗證會員的登錄,看看有沒有這個用戶,密碼是否正確等,這種操作通常都是從數(shù)據(jù)庫查詢。用戶信息修改模塊可以讓用戶修改自己的個人信息,這就涉及到了數(shù)據(jù)庫的修改。修改用戶密碼模塊讓用戶修改自己的密碼。商品展示模塊應(yīng)當(dāng)是從數(shù)據(jù)庫中將商品拿出來,然后再以某種方式顯示的網(wǎng)頁上。購物車模塊就是收集和記錄用戶所購買的商品,購物車最后要么被直接銷毀,要么會轉(zhuǎn)化為訂單,然后被銷毀。查看以往訂單模塊使用戶能查看自己所下的訂單。因此數(shù)據(jù)庫的操作始終貫穿在整個系統(tǒng)里面,幾乎所有的地方都涉及到了數(shù)據(jù)庫的操作。2.2.2 管理員模塊分析管理員模塊是為管理員管理商城事物所設(shè)計的,管理員模塊又可以初步劃分為以下子模塊:1. 會員管理模塊2. 商品類別管理模塊3. 商品管理模塊4. 訂單處理模塊5. 管理員的自我管理很明顯,會員管理模塊是用來管理商城的注冊會員的,應(yīng)當(dāng)可以查看會員、修改會員信息、刪除會員,這就是對數(shù)據(jù)庫的增刪改查的體現(xiàn)。商品類別管理模塊用來管理商品類別,可以查看商品類別,添加商品類別,修改商品類別和刪除商品類別。商品管理模塊用來管理商城的商品,可以查看商品,添加商品,修改商品和刪除商品。訂單處理模塊用來管理會員所下訂單,可以查看會員所下的訂單,并處理這些訂單。2.2.3 小結(jié)這里又把這個網(wǎng)上商城系統(tǒng)分成了兩個模塊,用戶模塊和管理員模塊,這兩個模塊又可以具體分為若干個小模塊,這么做的目的就是使整個系統(tǒng)更加的清晰明了,更加的有層次感,而且通過不同角度的分析,可以讓我更好地去理解這個網(wǎng)上商城系統(tǒng)的結(jié)構(gòu)以及它的組合方式。2.3 本章小結(jié)本章主要從商城的使用者角度,也就是普通用戶和商城管理員兩方面分別分析了這些用戶對商城一般的操作流程。然后根據(jù)這些流程分析出了一些直接的類,也就是一些基礎(chǔ)的實體類,并跟據(jù)這些大致的流程分析出兩個大模塊,用戶模塊和管理員模塊,兩個大模塊又可以進一步細(xì)分為一個個小模塊。并大致分析了這些模塊的功能。第3章 網(wǎng)上商城系統(tǒng)的設(shè)計與實現(xiàn)本章是網(wǎng)上商城系統(tǒng)的具體設(shè)計,包括開發(fā)環(huán)境的選擇及介紹,各個功能模塊的具體設(shè)計以及一部分實現(xiàn)。3.1 開發(fā)語言和工具介紹這里介紹我選擇的開發(fā)語言,開發(fā)工具等。3.1.1 開發(fā)語言介紹3.1.1.1 Java簡介Java是一種簡單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。Java平臺由Java虛擬機(Java Virtual Machine)和Java 應(yīng)用編程接口(Application Programming Interface、簡稱API)構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個獨立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應(yīng)用程序就可運行?,F(xiàn)在Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運行。 2Java分為三個體系JavaSE(Java2 Platform Standard Edition,java平臺標(biāo)準(zhǔn)版),JavaEE(Java 2 Platform,Enterprise Edition,java平臺企業(yè)版),JavaME(Java 2 Platform Micro Edition,java平臺微型版)。33.1.1.2 HTLM簡介HTML(HyperText Mark-up Language)即超文本標(biāo)記語言或超文本鏈接標(biāo)示語言,是目前網(wǎng)絡(luò)上應(yīng)用最為廣泛的語言,也是構(gòu)成網(wǎng)頁文檔的主要語言。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。HTML的結(jié)構(gòu)包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內(nèi)容。43.1.1.3 JavaScript簡介Javascript是一種由Netscape的LiveScript發(fā)展而來的原型化繼承的面向?qū)ο蟮膭討B(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務(wù)器端語言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果,并且能為在客戶端就進行數(shù)據(jù)的驗證。 53.1.1.4 AJAX簡介AJAX即“Asynchronous JavaScript and XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。63.1.1.5 JSP/Servlet簡介JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應(yīng)用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行。7Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。 它擔(dān)當(dāng)客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。 Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機。83.1.2 數(shù)據(jù)庫介紹93.1.3 服務(wù)器介紹Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。因為Tomcat 技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是6.0。10Tomcat 是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認(rèn)模式。113.1.4 開發(fā)工具介紹在開發(fā)工具選擇方面,我選擇了MyEclipse、Dreamweaver作為主要開發(fā)工具,還使用到了UltraEdit、MySQL Workbench等。3.1.4.1 MyEclipse介紹MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。123.1.4.2 Dreamweaver介紹Macromedia Dreamweaver是個由Macromedia公司開發(fā)的著名網(wǎng)站開發(fā)工具,它使用所見即所得的界面,亦有HTML編輯的功能。它現(xiàn)在有Mac和Windows系統(tǒng)的版本。一個可視化的網(wǎng)頁設(shè)計和網(wǎng)站管理工具,支持最新的Web技術(shù),包含HTML檢查、HTML格式控制、HTML格式化選項、HomeSite/BBEdit捆綁、可視化網(wǎng)頁設(shè)計、圖像編輯、全局查找替換、全FTP 功能、處理Flash和Shockwave等富媒體格式和動態(tài)HTML、基于團隊的Web創(chuàng)作。在編輯上可以選擇可視化方式或者喜歡的源碼編輯方式。 133.2 業(yè)務(wù)邏輯設(shè)計要實現(xiàn)網(wǎng)上商城的業(yè)務(wù)邏輯,必須有相應(yīng)的實體類和其相應(yīng)的方法,這里就大致將其設(shè)計出來。3.2.1 基礎(chǔ)共用類和相應(yīng)方法整個系統(tǒng)有一些通用的類和方法,比如連接數(shù)據(jù)庫等。3.2.1.1 DB類方法:1. public static Connection getConn() 取得用于連接數(shù)據(jù)庫的Connection2. public static void close(Connection conn) 關(guān)閉Connection3. public static void close(Statement stmt) 關(guān)閉Statement4. public static void close(ResultSet rs) 關(guān)閉ResultSet3.2.1.2 系統(tǒng)基礎(chǔ)配置這里采用xml文件來儲存一些基本的系統(tǒng)設(shè)置,比如數(shù)據(jù)庫連接設(shè)置。sys-config.xml<?xml version="1.0" encoding="UTF-8"?><config><db-info><url>jdbc:mysql:/localhost/shopping</url><user-name>root</user-name><password>root</password></db-info></config>這里儲存了數(shù)據(jù)庫連接的Driver和url以及用戶名和密碼,當(dāng)連接數(shù)據(jù)庫時,就會從這里讀取配置信息,當(dāng)配置信息改變時,直接在這里修改,而不再需要改代碼了。3.2.1.3 JdbcConfig類JdbcConfig類就包裝了上面sys-config.xml配置文件所配置的數(shù)據(jù)庫連接信息。成員變量:1. private String driverName 數(shù)據(jù)庫連接的Driver2. private String url 數(shù)據(jù)庫連接字符串3. private String userName 用戶名4. private String password 密碼方法:getters()和setters()方法,用來得到和設(shè)置成員變量的值,因此不詳細(xì)列出3.2.1.4 XmlConfigReader類XmlConfigReader是負(fù)責(zé)在連接數(shù)據(jù)庫是從sys-config.xml文件里讀取配飾,采用了單例模式,只在第一次加載時讀取一次,并保存到j(luò)dbcCofig類中,再次連接時直接從jdbcConfig類中讀取,XmlConfigReader使用了開源的dom4j來讀取xml文件。成員變量:1. private static XmlConfigReader instance XmlConfigReader的實例2. private JdbcConfig jdbcConfig jdbcConfig類的實例方法:private XmlConfigReader() SAXReader reader = new SAXReader();InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");try Document doc = reader.read(is);/獲取jdbc配置信息Element driverNameEle = (Element) doc.selectObject("/config/db-info/driver-name");Element urlEle = (Element) doc.selectObject("/config/db-info/url");Element userNameEle = (Element) doc.selectObject("/config/db-info/user-name");Element passwordEle = (Element) doc.selectObject("/config/db-info/password");/設(shè)置jdbc配置信息jdbcConfig.setDriverName(driverNameEle.getStringValue();jdbcConfig.setUrl(urlEle.getStringValue();jdbcConfig.setUserName(userNameEle.getStringValue();jdbcConfig.setPassword(passwordEle.getStringValue(); catch (DocumentException e) e.printStackTrace();public static synchronized XmlConfigReader getInstance() 取得 XmlConfigReader的實例public JdbcConfig getJdbcConfig() 取得jdbcConfig3.2.1.5 PageModel類PageModel包裝了分頁信息。成員變量:1. private List<E> list 一個被包裝的結(jié)果集,如果是User就是一個UserList2. private int totalRecords 總記錄數(shù)3. private int pageSize 每頁記錄數(shù)4. private int pageNo 當(dāng)前頁碼方法:getters()和setters()方法,用來得到和設(shè)置成員變量的值,因此不詳細(xì)列出。3.2.1.6 CharsetEncodingFilter類這是一個filter,用來為jsp頁面統(tǒng)一設(shè)置request字符集,使得每個jsp頁面不再需要單獨設(shè)置,而且也為修改配置帶來了方便,它同樣從xml文件中讀取配置信息。成員變量:1. private String charsetEncoding 字符集設(shè)置方法:1. public void destroy() 銷毀這個filter2. public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) 在這里統(tǒng)一為jsp頁面設(shè)置request字符集3.<init-param><param-name>charsetEncoding</param-name><param-value>GB18030</param-value></init-param>Filter需要在web.xml文件里配置一下才能生效,并且需要配置其作用范圍:<filter> <filter-name>CharsetEncodingFilter</filter-name> <init-param> <param-name>charsetEncoding</param-name> <param-value>GB18030</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharsetEncodingFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping><filter-name></filter-name>標(biāo)簽是為這個filter設(shè)置名字。<filter-class></filter-class>標(biāo)簽是標(biāo)識這個filter的類的具體位置。<init-param></init-param>標(biāo)簽可以放置一些filter的初始化參數(shù)。<url-pattern>*.jsp</url-pattern>標(biāo)簽標(biāo)示了這個filter的作用域,*.jsp就標(biāo)示對所有的jsp頁面起作用。3.2.2 用戶實體類和相應(yīng)方法為了實現(xiàn)商城會員的注冊、登錄、查看會員自己的信息、修改會員的個人信息、修改個人密碼和查看所下的訂單,應(yīng)當(dāng)有一個用戶實體類和其相應(yīng)的方法,在這里設(shè)計出兩個類User和UserManager類。User只是包裝用戶的信息,并提供相應(yīng)的get和set方法;UserManager則提供和User相關(guān)的各種業(yè)務(wù)邏輯方法。3.2.2.1 User類成員變量:1. private int id 用戶id2. private String username 用戶名3. private String password 密碼4. private String phone 聯(lián)系 5. private String address 送貨地址6. private String email Email7. private Date rDate 注冊日期方法:getters()和setters()方法,用來得到和設(shè)置成員變量的值,因此不詳細(xì)列出。3.2.2.2 UserManager類成員變量:1. private static UserManager instance UserManager自己的實例化(單例模式)方法:1. public static UserManager getInstance() 取得UserManager的實例2. public boolean addUser(User u) 添加用戶3. public User findUserByName(String userName) 通過用戶名查找用戶4. public User findUserById(String userId) 通過用戶id查找用戶5. public User login(String userName, String password) 驗證用戶登錄6. public boolean modifyUser(User u) 修改用戶信息7. public boolean delUser(String userIds) 刪除用戶8. public PageModel<User> findUserList(int pageNo, int pageSize) 取得用戶的分頁信息9. public PageModel<User> findUserList(int pageNo, int pageSize, String text, String flag) 取得用戶的分頁信息3.2.3 管理員實體類和相應(yīng)方法用以實現(xiàn)商城管理員的登錄和修改密碼。3.2.3.1 Admin類包裝了管理員的屬性。成員變量:1. private String userName 用戶名2. private String password 密碼方法:getters()和setters()方法,用來得到和設(shè)置成員變量的值,因此不詳細(xì)列出。3.2.3.2 AdminManager類提供了管理員類的相應(yīng)管理方法。成員變量:1. private static AdminManager instance 單利模式的AdminManager實例方法:1. public static AdminManager getInstance() 取得AdminManager實例2. public Admin login(String userName, String password) 驗證管理員登錄3. public boolean modify(Admin admin) 修改密碼3.2.4 商品類別類和相應(yīng)方法這是一個基礎(chǔ)的類,它是一種樹形結(jié)構(gòu),有根類別,其下又有很多子類別,一個商品必須屬于某種商品類別。3.2.4.1 Category實體類包裝了商品類別的屬性。成員變量:1. private int id Category的id2. private int pid 父類別的id3. private String name 類別的名稱4. private String describe 類別的描述5. private int grade 類別的級別6. private boolean leaf 是否是葉子節(jié)點方法:getters()和setters()方法,用來得到和設(shè)置成員變量的值,因此不詳細(xì)列出。3.2.4.2 CategoryManger管理類提供一系列管理商品類別的方法,單例模式。成員變量:1. private static CategoryManager instance 單例模式的管理類方法:1. public static CategoryManager getInstance() 取得CategoryManager的實例2. public String getCategoryTreeHTMLString() 取得類別樹形結(jié)構(gòu)的HTLM字符串,這里實際上是調(diào)用了另一個類的方法。3. public List<Category> getCategoryList() 取得Category的樹形結(jié)構(gòu)并放入List里返回,這里也是調(diào)用另一個類的方法。4. public List<Category> getTopCategoryList() 取得頂級的類別節(jié)點,也是通過調(diào)用另一個類的方法。5. public Category findCategoryById(int id) 通過id查找類別6. public boolean addCategory(Category c) 添加一個商品類別7. public boolean modifyCategory(Category c) 修改一個商品類別8. public boolean delCategory(Category c) 刪除一個商品類別及其子類別9. private void delCategory(Connection conn, int id) throws SQLException 被public boolean delCategory(Category c)方法調(diào)用的,用來遞歸刪除一個類別的子節(jié)點的私有方法。3.2.4.3 CategoryTreeReader類這個類就是負(fù)責(zé)從數(shù)據(jù)庫中將Category的樹形結(jié)構(gòu)讀取出來,所有的方法都被CategoryManager類重新包裝。方法:1. public String getCategoryTreeHTMLString() 對外提供的公共方法,以取得類別樹并組成HTML字符串,以供網(wǎng)頁顯示出一個樹形結(jié)構(gòu)。2. private void getCategoryTree(Connection conn, StringBuffer strBuf, int id, int level) throws SQLException 取得HTML字符串的具體實現(xiàn)方法,被public String getCategoryTreeHTMLString()方法調(diào)用。3. public List<Category> getCategoryList() 取得商品類別的樹形結(jié)構(gòu)并放入一個List中。4. private void getCategoryList(Connection conn, List<Category> categoryList, int pid) throws SQLException 取得Category的樹形結(jié)構(gòu)的具體實現(xiàn)。5. public List<Category> getTopCategoryList() 取得頂級的類別節(jié)點。3.2.5 商品類及其相應(yīng)管理方法記錄并保存商品,提供一系列的管理方法。3.2.5.1 Product實體類包裝了產(chǎn)品的屬性,依存于Category類。成員變量:1. private int id 商品的id2. private String name 商品的名稱3. private String brand 品牌4. private String describe 商品的描述5. private double normalPrice 市場價格6. private double memberPrice 會員價格7. private Date pDate 商品的上架日期8. private Category category 商品所屬的類別9. private String fileName 商品的圖片文件的名稱方法:getters()和setters()方法,用來得到和設(shè)置成員變量的值,因此不詳細(xì)列出。3.2.5.2 ProductManager管理類提供了一系列的管理商品的方法,采用單例模式。成員變量:1. private static ProductManager instance ProductManager類的單例對象方法:1. public boolean addProduct(Product p) 添加商品2. public PageModel<Product> findProductList(int pageNo, int pageSize, boolean lazy) 取得商品的列表3. private int getTotalRecords(Connection conn) throws SQLException 得到數(shù)據(jù)庫中商品的總記錄數(shù)4. public Product findProductById(int id, boolean lazy) 通過id查找商品5. public boolean modifyProduct(Product p) 修改一個商品6. public boolean delProducts(String pIds) 批量刪除商品7. public PageModel<Product> findProduct

注意事項

本文([優(yōu)秀畢業(yè)設(shè)計] 網(wǎng)上商城系統(tǒng)的設(shè)計與實現(xiàn))為本站會員(e****s)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


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