版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘要</b></p><p> 近年來,隨著Internet的迅速崛起,網(wǎng)上購(gòu)物在當(dāng)前社會(huì)中,已不再是一種年輕人的行為。于是電子商務(wù)開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費(fèi)者展示出一種新穎的購(gòu)物理念,本購(gòu)物系統(tǒng)基于B/S模式,實(shí)現(xiàn)了當(dāng)前購(gòu)物網(wǎng)站的基本功能,以JAVA語(yǔ)言進(jìn)行開發(fā),采用分布式架構(gòu),數(shù)據(jù)庫(kù)層面采用基于MySQL的集群實(shí)現(xiàn)。</p
2、><p> 關(guān)鍵詞: 數(shù)據(jù)庫(kù) JAVA MySQL JSP 網(wǎng)上購(gòu)物</p><p><b> 目 錄</b></p><p><b> 一、緒論5</b></p><p><b> ?。ㄒ唬┮?</b></p><p> ?。ǘ┫到y(tǒng)實(shí)
3、現(xiàn)的目的和意義5</p><p><b> 1、目的5</b></p><p><b> 2、意義6</b></p><p> 二、 系統(tǒng)開發(fā)工具及技術(shù)和環(huán)境6</p><p> ?。ㄒ唬㎎SP技術(shù)6</p><p> ?。ǘ㏕omcat簡(jiǎn)介6</p
4、><p> ?。ㄈ┛蛻舳谁h(huán)境7</p><p><b> (四)開發(fā)工具7</b></p><p> ?。ㄎ澹?shù)據(jù)庫(kù)技術(shù)8</p><p><b> 1、數(shù)據(jù)庫(kù)集群8</b></p><p><b> 2、分布式8</b></p>
5、;<p> 3、 MySQL9</p><p> ?。?HTML及JavaScript9</p><p><b> 1、 HTML9</b></p><p> 2、 JavaScript9</p><p><b> 三、需求分析10</b></p>
6、<p> ?。ㄒ唬┕δ苄枨?0</p><p> ?。ǘ┬枨笳f明書10</p><p> ?。ㄈ┛尚行匝芯?1</p><p><b> 四、系統(tǒng)設(shè)計(jì)11</b></p><p> ?。ㄒ唬┫到y(tǒng)功能描述11</p><p> (二)UML系統(tǒng)建模12</p>
7、;<p><b> 1、用例圖12</b></p><p> 2、系統(tǒng)活動(dòng)圖12</p><p> 五、數(shù)據(jù)庫(kù)設(shè)計(jì)12</p><p> 1、系統(tǒng)E-R圖12</p><p> 2、數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)14</p><p> 3、創(chuàng)建數(shù)據(jù)庫(kù)表14</p>
8、<p> 六、 系統(tǒng)界面和功能實(shí)現(xiàn)15</p><p> ?。ㄒ唬┏绦蛟O(shè)計(jì)15</p><p> ?。ǘ┫到y(tǒng)登錄20</p><p> ?。ㄈ┦醉?yè)管理22</p><p> (四)商品分類管理25</p><p> ?。ㄎ澹┯脩艄芾?6</p><p> ?。?/p>
9、)用戶權(quán)限管理27</p><p> ?。ㄆ撸┯脩魝€(gè)人信息管理27</p><p> ?。ò耍┯唵喂芾?9</p><p> ?。ň牛┵?gòu)物車管理29</p><p> (十)系統(tǒng)登出31</p><p><b> 參考文獻(xiàn)32</b></p><p><
10、;b> 一、緒論</b></p><p> 網(wǎng)上購(gòu)物在當(dāng)前社會(huì)中,已不再是一種年輕人的行為。購(gòu)物的商品分類已涵蓋生活、辦公的各個(gè)方面:日常生活所需的吃、穿(衣服、化妝品、食品等等)、服務(wù)器、電子產(chǎn)品等等。可以說,網(wǎng)上購(gòu)物與我們的生活已經(jīng)密不可分。那么,網(wǎng)上購(gòu)物究竟是什么?專業(yè)地講,它是交易雙方從洽談、簽約以及貸款的支付、交貨通知等整個(gè)交易過程通過Internet、web和購(gòu)物界面技術(shù)化的B
11、2 C模式一并完成的一種新型購(gòu)物方式,它是電子商務(wù)的一個(gè)重要組成部分。隨著電子商務(wù)的不斷發(fā)展,網(wǎng)上購(gòu)物作為電子商務(wù)中一個(gè)重要的組成部分也在不斷壯大著。</p><p> 網(wǎng)上購(gòu)物系統(tǒng)作為網(wǎng)上購(gòu)物行為的支撐及商品展示、交易等的實(shí)際“工作者”,其穩(wěn)定性、可靠性、安全性的要求都是很高?,F(xiàn)今的網(wǎng)上商城都采用的三層模式體系結(jié)構(gòu)(MVC),從技術(shù)上來說已經(jīng)能滿足相關(guān)的要求,但是對(duì)于后期的性能提高等有一定的限制。</p
12、><p><b> ?。ㄒ唬┮?lt;/b></p><p> 網(wǎng)上購(gòu)物是一種具有交互功能的商業(yè)信息系統(tǒng)。它向用戶提供靜態(tài)和動(dòng)態(tài)兩類信息資源。所謂靜態(tài)信息是指那些比經(jīng)常變動(dòng)或更新的資源,如公司簡(jiǎn)介、管理規(guī)范和公司制度等等;動(dòng)態(tài)信息是指隨時(shí)變化的信息,如商品報(bào)價(jià),會(huì)議安排和培訓(xùn)信息等。網(wǎng)上購(gòu)物系統(tǒng)具有強(qiáng)大的交互功能,可使商家和用戶方便的傳遞信息,完成電子貿(mào)易或EDI交易。這種
13、全新的交易方式實(shí)現(xiàn)了公司間文檔與資金的無紙化交換。目前主要有B2B、B2C、C2C三種模式。</p><p> 網(wǎng)上購(gòu)物網(wǎng)站在國(guó)內(nèi)可以說正在發(fā)展中,其中以淘寶、阿里巴巴、京東、當(dāng)當(dāng)網(wǎng)等為主要的代表?,F(xiàn)在流行的網(wǎng)上購(gòu)物系統(tǒng)不僅要有漂亮的網(wǎng)頁(yè),更要有嚴(yán)謹(jǐn)?shù)囊?guī)劃。每一個(gè)細(xì)小的環(huán)節(jié)都和重要。這樣才能使得在電子交易時(shí)避免不必要錯(cuò)誤發(fā)生。我們將使用HTML、JSP等技術(shù)來編輯網(wǎng)頁(yè),并運(yùn)用JAVA技術(shù)把數(shù)據(jù)庫(kù)和動(dòng)態(tài)網(wǎng)頁(yè)相關(guān)聯(lián)
14、。傳統(tǒng)的管理信息系統(tǒng)信息獲取方法是由專業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的數(shù)據(jù)庫(kù)中,這種方法在數(shù)據(jù)量不大時(shí)有很多的應(yīng)用場(chǎng)合。當(dāng)數(shù)據(jù)量比較大,并且有較強(qiáng)的專業(yè)性時(shí),錄入的費(fèi)用和出錯(cuò)的可能性都相應(yīng)上升。</p><p> ?。ǘ┫到y(tǒng)實(shí)現(xiàn)的目的和意義</p><p><b> 1、目的</b></p><p> 搭建一個(gè)能滿足日常購(gòu)物需要的購(gòu)物
15、網(wǎng)站,并可依此進(jìn)行相關(guān)網(wǎng)站的二次開發(fā)。通過對(duì)數(shù)據(jù)庫(kù)集群、應(yīng)用的分布式部署開發(fā)等開發(fā)技術(shù)的實(shí)戰(zhàn),加強(qiáng)相關(guān)技術(shù)的掌握程度,同時(shí)對(duì)相關(guān)理論知識(shí)加深了理解,有助于對(duì)JAVA程序更深層次的理解,有助于培養(yǎng)架構(gòu)的思想。</p><p><b> 2、意義</b></p><p> 對(duì)相關(guān)技術(shù)的掌握更進(jìn)一步,同時(shí)為相關(guān)網(wǎng)站開發(fā)積累了經(jīng)驗(yàn)。通過分布式架構(gòu)及數(shù)據(jù)庫(kù)集群技術(shù)的實(shí)戰(zhàn),對(duì)
16、真實(shí)環(huán)境中的應(yīng)用程序有了一定的了解,可進(jìn)行一定程度的發(fā)現(xiàn)問題并解決問題。</p><p> 系統(tǒng)開發(fā)工具及技術(shù)和環(huán)境</p><p><b> ?。ㄒ唬㎎SP技術(shù)</b></p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似
17、ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 </p><p> 用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。 </p><p> JSP技術(shù)使用Java編程語(yǔ)言編寫類XML的tags和scriptlets,來封裝產(chǎn)
18、生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè) 計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 </p><p> Web服務(wù)器在遇到訪問JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以
19、實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。 JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 </p><p> ?。ǘ㏕omcat簡(jiǎn)介</p><p> Tomcat 服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,是Apache 軟件基金會(huì)(Apache Soft
20、ware Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)?/p>
21、Tomcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。 </p><p> Tomcat 很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入
22、新的功能。 </p><p> Tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML 頁(yè)面的訪問請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)
23、行的,所以當(dāng)你運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。當(dāng)配置正確時(shí),Apache 為HTML頁(yè)面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁(yè)面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomca
24、t處理靜態(tài)HTML的能力不如Apache服務(wù)器。</p><p><b> ?。ㄈ┛蛻舳谁h(huán)境</b></p><p> 客戶端理論上基于P4以上的計(jì)算機(jī)都可正常訪問服務(wù),主要基于IE8及以上、firefox12及以上等主流瀏覽器。</p><p><b> (四)開發(fā)工具</b></p><p&g
25、t; IDE采用MyEclipse 8.5進(jìn)行軟件代碼的編寫及調(diào)試</p><p> IDE:Integrated Development Environment,集成開發(fā)環(huán)境,可以輔助開發(fā)程序的應(yīng)用軟件,就是你用來編程的軟件</p><p><b> 圖 1</b></p><p><b> ?。ㄎ澹?shù)據(jù)庫(kù)技術(shù)</b&g
26、t;</p><p><b> 1、數(shù)據(jù)庫(kù)集群</b></p><p> 數(shù)據(jù)庫(kù)是用來保存計(jì)算的最終結(jié)果的,所以是整個(gè)信息系統(tǒng)的最重要組成部分。在許多人看來,當(dāng)前的數(shù)據(jù)庫(kù)技術(shù)已經(jīng)可以說是非常地成熟了。然而,在滿足不斷增長(zhǎng)的聯(lián)機(jī)事務(wù)處理應(yīng)用方面,當(dāng)前的數(shù)據(jù)庫(kù)技術(shù)其實(shí)還存在不少急迫需要解決的技術(shù)問題。</p><p><b> 2、
27、分布式</b></p><p> 分布式系統(tǒng)(distributed system)是建立在網(wǎng)絡(luò)之上的軟件系統(tǒng)。正是因?yàn)檐浖奶匦?,所以分布式系統(tǒng)具有高度的內(nèi)聚性和透明性。因此,網(wǎng)絡(luò)和分布式系統(tǒng)之間的區(qū)別更多的在于高層軟件(特別是操作系統(tǒng)),而不是硬件。內(nèi)聚性是指每一個(gè)數(shù)據(jù)庫(kù)分布節(jié)點(diǎn)高度自治,有本地的數(shù)據(jù)庫(kù)管理系統(tǒng)。透明性是指每一個(gè)數(shù)據(jù)庫(kù)分布節(jié)點(diǎn)對(duì)用戶的應(yīng)用來說都是透明的,看不出是本地還是遠(yuǎn)程。。&
28、lt;/p><p> 在本系統(tǒng)中采用Apache CXF框架進(jìn)行分布式系統(tǒng)之間的交互,在保證系統(tǒng)交互需求的要求情況下,同時(shí)進(jìn)行數(shù)據(jù)安全、可靠性等的設(shè)計(jì)。</p><p> 對(duì)于所有的數(shù)據(jù)庫(kù)而言,除了記錄正確的處理結(jié)果之外,它們都面臨著四方面的挑戰(zhàn):如何提高處理速度,數(shù)據(jù)可用性、數(shù)據(jù)安全性和數(shù)據(jù)集可擴(kuò)性,也就是說,如何使當(dāng)前的數(shù)據(jù)庫(kù)具有這四方面的可伸縮性,使客戶能同時(shí)得到更高的處理速度、更高
29、的數(shù)據(jù)可用性、更高的數(shù)據(jù)安全性和更大的數(shù)據(jù)集,而不是提升了其中的部分指標(biāo),卻損壞了其余的指標(biāo)或者其余的指標(biāo)沒有改進(jìn)。隨著IT應(yīng)用的深入和有線,無線網(wǎng)絡(luò)的快速增長(zhǎng),聯(lián)機(jī)事務(wù)處理業(yè)務(wù)對(duì)以上四方面提出了更高的要求。</p><p> 將多個(gè)數(shù)據(jù)庫(kù)聯(lián)在一起組成數(shù)據(jù)庫(kù)集群來達(dá)到上述目標(biāo)應(yīng)該說是一個(gè)很自然的想法。理想的數(shù)據(jù)庫(kù)集群應(yīng)該可以做到以下幾點(diǎn):</p><p> 在需要更高數(shù)據(jù)庫(kù)處理速度的時(shí)
30、候,我們只需簡(jiǎn)單增加數(shù)據(jù)庫(kù)服務(wù)器就可以了。這樣可以大大減小硬件投資的風(fēng)險(xiǎn),而且大大提高現(xiàn)有服務(wù)的質(zhì)量。</p><p> 在任何時(shí)刻需要有多個(gè)隨時(shí)可用的實(shí)時(shí)同步數(shù)據(jù)服務(wù)。為了防災(zāi),最好有多個(gè)異地的同步數(shù)據(jù)服務(wù)。這不光會(huì)大大增加數(shù)據(jù)可用性,還會(huì)有意想不到的更高數(shù)據(jù)庫(kù)處理速度的效益。</p><p> 除了密碼保護(hù)之外,我們最好能控制企業(yè)內(nèi)部對(duì)數(shù)據(jù)庫(kù)的非法訪問。</p>&l
31、t;p> 數(shù)據(jù)集的可擴(kuò)性可能是最簡(jiǎn)單的要求了。但是,用增加數(shù)據(jù)庫(kù)服務(wù)器的辦法來擴(kuò)大數(shù)據(jù)集對(duì)數(shù)據(jù)可用性會(huì)產(chǎn)生負(fù)面影響。最好的結(jié)果是我們能任意增大數(shù)據(jù)集而沒有對(duì)可用性的負(fù)面影響。</p><p> 本系統(tǒng)中采用MySQL集群方案。</p><p><b> 3、 MySQL</b></p><p> MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系
32、統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。MySQL的SQL語(yǔ)言是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件采用了雙授權(quán)政策,它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。</p&g
33、t;<p> ?。?HTML及JavaScript</p><p><b> 1、 HTML</b></p><p> HTML即超文本標(biāo)記語(yǔ)言,是Web頁(yè)的基本元素。它是一種描述性語(yǔ)言,使用描述性標(biāo)記符(即標(biāo)記)來表現(xiàn)相應(yīng)的內(nèi)容,僅僅限于如何表現(xiàn)文字、圖片等內(nèi)容。</p><p> HTML文檔包含兩種信息:頁(yè)面本身的
34、文本及表現(xiàn)這些文本的格式、結(jié)構(gòu)等標(biāo)記。瀏覽器負(fù)責(zé)對(duì)HTML文檔進(jìn)行解析并正確地顯示出來。</p><p> 2、 JavaScript</p><p> JavaScript語(yǔ)言是用于在客戶端運(yùn)行的腳本語(yǔ)言,它具有以下特點(diǎn):</p><p> (1)JavaScript是一種用于在客戶端運(yùn)行的腳本語(yǔ)言,是解釋性的語(yǔ)言;</p><p>
35、 (2)JavaScript是基于對(duì)象的語(yǔ)言,是事件驅(qū)動(dòng)的語(yǔ)言;</p><p><b> ?。?)具有簡(jiǎn)單性;</b></p><p> ?。?)具有安全性,不允許訪問本地硬盤,不能將數(shù)據(jù)存入到服務(wù)器上, 不能對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改,能防止數(shù)據(jù)的丟失;</p><p> (5)具有動(dòng)態(tài)性,可對(duì)用戶的輸入作出反應(yīng),如在客戶端進(jìn)行數(shù)
36、據(jù)合 法性檢驗(yàn),無須交給服務(wù)器檢驗(yàn);</p><p> ?。?)具有跨平臺(tái)性,只要能允許瀏覽器,就能正確地運(yùn)行JavaScript。</p><p> 我使用JavaScript實(shí)現(xiàn)對(duì)用戶輸入數(shù)據(jù)合法性檢查。</p><p><b> 三、需求分析</b></p><p> 需求分析是軟件設(shè)計(jì)中非常重要的一
37、個(gè)環(huán)節(jié),沒有經(jīng)過詳細(xì)的需求分析就匆匆忙忙進(jìn)行軟件開發(fā)是注定要失敗的。所以一定要花時(shí)間與用戶進(jìn)行溝通交流,詳細(xì)了解客戶到底需要軟件做到什么。在溝通交流過程中也可以大致告訴用戶軟件可以做到些什么、是怎樣做的。對(duì)用戶提出的一些不切實(shí)際的需求一定要以合理的方式明確地拒絕。經(jīng)雙方討論并明確的需求要以書面的形式簽字確認(rèn)</p><p><b> ?。ㄒ唬┕δ苄枨?lt;/b></p><p
38、> 一個(gè)網(wǎng)絡(luò)購(gòu)物系統(tǒng),首先我們要保證客戶能夠很方便進(jìn)行商品選擇,系統(tǒng)應(yīng)該具有分類選擇商品功能,系統(tǒng)應(yīng)該實(shí)現(xiàn)“購(gòu)物車”的功能,用戶可以把選中的商品放入“購(gòu)物車”中,在選購(gòu)?fù)戤吅笤僖黄鸾Y(jié)帳。在系統(tǒng)的后臺(tái),管理員能夠管理商品,商品分類,以及客戶購(gòu)買訂單。 因此分析,本系統(tǒng)主要由前臺(tái)和后臺(tái)兩部分組成,前臺(tái)為客戶端,顧客可以在此處購(gòu)買商品,后臺(tái)為商品管理端,實(shí)現(xiàn)對(duì)商品和訂單的管理。</p><p><b&g
39、t; ?。ǘ┬枨笳f明書</b></p><p> 經(jīng)過詳細(xì)的需求調(diào)研,最終形成需求說明書。需求說明書包含項(xiàng)目背景、項(xiàng)目目標(biāo)任務(wù)、需求規(guī)定等內(nèi)容,其中需求規(guī)定是重點(diǎn)。下面簡(jiǎn)單列出本文的需求:</p><p> 對(duì)物品的出入庫(kù)要求能進(jìn)行數(shù)據(jù)錄入,便于后期進(jìn)行統(tǒng)計(jì)</p><p> 物品按類別進(jìn)行劃分,有規(guī)律的、可進(jìn)行統(tǒng)計(jì)的代碼進(jìn)行管理</p&g
40、t;<p> 用戶可在線進(jìn)行購(gòu)買商品,可實(shí)時(shí)查看到購(gòu)物車、訂單信息及狀態(tài)</p><p> 要求有精細(xì)的權(quán)限管理,管理員只能對(duì)用戶密碼進(jìn)行重置,不可查看用戶密碼,用戶之間對(duì)于訂單等信息不可見。</p><p> 購(gòu)物車信息在用戶再次登錄系統(tǒng)時(shí)仍然能夠進(jìn)行查看。</p><p> 用戶可對(duì)個(gè)人基本信息進(jìn)行查看、修改。</p><
41、;p> 系統(tǒng)退出時(shí),應(yīng)及時(shí)清空用戶相關(guān)信息。</p><p><b> (三)可行性研究</b></p><p> 硬件、軟件上的可行性:目前市場(chǎng)上的計(jì)算機(jī)軟硬件資源都可以滿足系統(tǒng)開發(fā)的要求。其中運(yùn)用的主要軟件有MyEclipse、Tomcat服務(wù)器等,數(shù)據(jù)庫(kù)采用MySQL數(shù)據(jù)庫(kù)。 </p><p> JSP技術(shù):該技術(shù)目前已經(jīng)十
42、分成熟,功能強(qiáng)大,擴(kuò)展性好。JSP在網(wǎng)站開發(fā)上是個(gè)非常理想的技術(shù)工具。</p><p><b> 四、系統(tǒng)設(shè)計(jì)</b></p><p><b> (一)系統(tǒng)功能描述</b></p><p> 下圖顯示了系統(tǒng)的全部功能:</p><p><b> 圖 2</b></
43、p><p> ?。ǘ︰ML系統(tǒng)建模</p><p><b> 1、用例圖</b></p><p> 用例圖是用來鑒別和劃分系統(tǒng)功能,它把系統(tǒng)分成動(dòng)作者和用例兩個(gè)部分。動(dòng)作者表示系統(tǒng)用戶能扮演的角色,這些用戶可能是人,可能是其他的計(jì)算機(jī),一些硬件,或者甚至是其他軟件系統(tǒng),本系統(tǒng)的動(dòng)作者就是管理員。</p><p> 用
44、例描述了當(dāng)動(dòng)作者之一給系統(tǒng)特定的刺激時(shí)系統(tǒng)的活動(dòng)。</p><p> 系統(tǒng)總用例圖如下所示:</p><p><b> 圖 3</b></p><p><b> 2、系統(tǒng)活動(dòng)圖</b></p><p> 活動(dòng)圖片反映系統(tǒng)中從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的流程,強(qiáng)調(diào)對(duì)象間的控制流程,如圖所示,描述了管
45、理員登陸、信息管理、及導(dǎo)購(gòu)查詢的活動(dòng)執(zhí)行順序?;顒?dòng)圖是一種特殊的狀態(tài)圖,描述需要做的活動(dòng),執(zhí)行這些活動(dòng)的順序(多為并行的)以及工作流(完成工作所需的步驟)。它對(duì)系統(tǒng)的功能建特別重要,強(qiáng)調(diào)對(duì)象間的控制流程。系統(tǒng)活動(dòng)圖如下圖所示:</p><p><b> 圖 4</b></p><p><b> 五、數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p>&
46、lt;p> 包括用戶信息表,用戶權(quán)限表、商品分類表、商品信息表、訂單信息表等表,以及各個(gè)表的關(guān)系圖。</p><p><b> 1、系統(tǒng)E-R圖</b></p><p> 本系統(tǒng)中主要用到了商品實(shí)體、用戶實(shí)體、訂單實(shí)例等。</p><p><b> 商品實(shí)體</b></p><p>&
47、lt;b> 圖 5</b></p><p><b> 用戶實(shí)體</b></p><p><b> 圖 6</b></p><p><b> 訂單實(shí)體</b></p><p><b> 圖 7</b></p><
48、;p><b> 實(shí)體之間的關(guān)系:</b></p><p><b> 圖 8</b></p><p><b> 2、數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)</b></p><p> 在本系統(tǒng)中,用戶主要用于購(gòu)買商品并下訂單,管理員則主要對(duì)相關(guān)商品進(jìn)行出入庫(kù)管理,因此我們主要關(guān)心商品、訂單、用戶、購(gòu)物車等數(shù)據(jù)庫(kù)實(shí)體
49、。</p><p> 商品:商品id、商品編號(hào)、商品名稱、商品所屬分類、價(jià)格、庫(kù)存、產(chǎn)地</p><p> 用戶:用戶id、用戶名稱、用戶密碼、手機(jī)號(hào)</p><p> 訂單:訂單id、商品id、數(shù)量、價(jià)格、最終價(jià)格、用戶id</p><p><b> 3、創(chuàng)建數(shù)據(jù)庫(kù)表</b></p><p&
50、gt; 在MySQL中要建立數(shù)據(jù)表。</p><p><b> 商品表</b></p><p><b> 用戶表</b></p><p><b> 訂單表</b></p><p><b> 系統(tǒng)界面和功能實(shí)現(xiàn)</b></p><
51、;p><b> ?。ㄒ唬┏绦蛟O(shè)計(jì)</b></p><p> 本系統(tǒng)設(shè)計(jì)的網(wǎng)站在設(shè)計(jì)過程中包含頁(yè)面(HTML)的設(shè)計(jì)以及客戶端驗(yàn)證機(jī)制(JavaScript)的設(shè)計(jì)。Javascript也叫小語(yǔ)言腳本,它是一種非常流行的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)。本系統(tǒng)應(yīng)用服務(wù)器端JSP動(dòng)態(tài)頁(yè)面技術(shù),以及struts,hibernate,spring的技術(shù)支持下,結(jié)合客戶端動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)javascript以及與ht
52、ml的配合的設(shè)計(jì),從而實(shí)現(xiàn)系統(tǒng)。</p><p> 系統(tǒng)主要采用三大框架(SSH)進(jìn)而實(shí)現(xiàn)客戶端與服務(wù)端的交互,數(shù)據(jù)庫(kù)層通過hibernate整體對(duì)實(shí)體類進(jìn)行管理,并通過hibernate使用jdbc連接數(shù)據(jù)庫(kù),代碼如下:</p><p> <?xml version='1.0' encoding='UTF-8'?></p>&
53、lt;p> <!DOCTYPE hibernate-configuration PUBLIC</p><p> "-//Hibernate/Hibernate Configuration DTD 3.0//EN"</p><p> "http://hibernate.sourceforge.net/hibernate-configuratio
54、n-3.0.dtd"></p><p> <!-- Generated by MyEclipse Hibernate Tools. --></p><p> <hibernate-configuration></p><p> <session-factory></p
55、><p> <property name="connection.url"> jdbc:mysql://localhost:3306/marble</p><p> </property></p><p> <property name="dialect"></p><
56、p> org.hibernate.dialect.MySQLDialect </property></p><p> <property name="myeclipse.connection.profile"> dangsql </property></p><p> <property name="con
57、nection.username">root</property></p><p> <property name="connection.password"></property></p><p> <property name="connection.driver_class">
58、 com.mysql.jdbc.Driver </property></p><p> <property name="show_sql">true</property></p><p> <mapping resource="tarena/marble/mapping/DUser.hbm.xml" /&
59、gt;</p><p> <mapping resource="tarena/marble/mapping/DProduct.hbm.xml" /></p><p> <mapping resource="tarena/marble/mapping/DReceiveAddress.hbm.xml" /></p>
60、<p> <mapping resource="tarena/marble/mapping/DCategory.hbm.xml" /></p><p> <mapping resource="tarena/marble/mapping/DItem.hbm.xml" /></p><p> <mappi
61、ng resource="tarena/marble/mapping/DOrder.hbm.xml" /></p><p> </session-factory></p><p> </hibernate-configuration></p><p> 而事務(wù)層則通過spring注入的方式對(duì)所有的邏輯進(jìn)行管理,
62、事務(wù)層主要處理系統(tǒng)中的一些邏輯,分類接口和實(shí)現(xiàn)類,接口可以提供給相應(yīng)的操作調(diào)用,而實(shí)現(xiàn)類主要實(shí)現(xiàn)所需的功能邏輯,代碼如下:</p><p><b> //事務(wù)的管理</b></p><p> public class HibernateInterceptor extends MethodFilterInterceptor {</p><p>
63、; Logger logger = Logger.getLogger(RegistAction.class);</p><p><b> @Override</b></p><p> protected String doIntercept(ActionInvocation arg0) throws Exception {</p><p>
64、;<b> // 打開事務(wù)</b></p><p> logger.debug("打開事務(wù)");</p><p> Session session = new BaseDAO().getSession();</p><p> Transaction tx = session.beginTransaction();&l
65、t;/p><p><b> try {</b></p><p> String view = arg0.invoke();</p><p> logger.debug("提交事務(wù)");</p><p> tx.commit();</p><p> return view;
66、</p><p><b> // 提交事務(wù)</b></p><p> } catch (Exception e) {</p><p> logger.debug("回滾事務(wù)");</p><p><b> // 回滾事務(wù)</b></p><p>
67、 e.printStackTrace();</p><p> tx.rollback();</p><p><b> throw e;</b></p><p> } finally {</p><p> logger.debug("回收Session資源");</p><p
68、> // 回收Session資源</p><p> session.close();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b>
69、接口層代碼:</b></p><p> public interface IOrderService {</p><p> // 添加新的用戶地址</p><p> public abstract boolean addaddress(DReceiveAddress address);</p><p> // 獲取用戶曾經(jīng)
70、填寫過的地址</p><p> public List<DReceiveAddress> getAddrs();</p><p> // 向數(shù)據(jù)庫(kù)中存order,會(huì)自動(dòng)存到地址表和訂單項(xiàng)表</p><p> public boolean addOrder(DOrder d_order, DReceiveAddress address);</p
71、><p><b> }</b></p><p><b> 實(shí)現(xiàn)層代碼:</b></p><p> public class OrderService implements IOrderService {</p><p> // 添加新的用戶地址</p><p> pub
72、lic boolean addaddress(DReceiveAddress address) {</p><p> IOrderDAO dao = DAOFactory.getOrderDAO();</p><p> DUser user = (DUser) ActionContext.getContext().getSession().get(</p><p&
73、gt; Constant.SESSION_USER);</p><p> address.setUserId(user.getId());</p><p> dao.add(address);</p><p> return true;</p><p><b> }</b></p><p&g
74、t; // 獲取用戶曾經(jīng)填寫過的地址</p><p> public List<DReceiveAddress> getAddrs() {</p><p> IOrderDAO dao = DAOFactory.getOrderDAO();</p><p> DUser user = (DUser) ActionContext.getConte
75、xt().getSession().get(</p><p> Constant.SESSION_USER);</p><p> return dao.getAddressByUserId(user.getId());</p><p><b> }</b></p><p> // 向數(shù)據(jù)庫(kù)中存order,會(huì)自動(dòng)存
76、到地址表和訂單項(xiàng)表</p><p> public boolean addOrder(DOrder d_order, DReceiveAddress address) {</p><p> double totalprice = 0;</p><p> Set<DItem> items = new HashSet<DItem>();&
77、lt;/p><p> Map session = ActionContext.getContext().getSession();</p><p> CartService service = (CartService) session.get(Constant.CART_KEY);</p><p> if (service != null) {</p&
78、gt;<p><b> // 存用戶Id</b></p><p> DUser user = (DUser) ActionContext.getContext().getSession().get(</p><p> Constant.SESSION_USER);</p><p> d_order.setUserId(
79、user.getId());</p><p> d_order.setStatus(1);</p><p><b> // 存訂單項(xiàng)表</b></p><p> List<CartItem> list = service.getCartItem();</p><p> for (int i = 0;
80、i < list.size(); i++) {</p><p> CartItem item = list.get(i);</p><p> if (!item.isDelete()) {</p><p> DItem di = new DItem();</p><p> DProduct p = item.getP();<
81、;/p><p> di.setOrder(d_order);</p><p> di.setProductId(p.getId());</p><p> di.setProductName(p.getProductName());</p><p> 前臺(tái)和后臺(tái)的交互則通過struts管理實(shí)現(xiàn),前臺(tái)將請(qǐng)求發(fā)送后天,通過struts執(zhí)行相應(yīng)的
82、action層,action層的邏輯又通過事務(wù)層處理返回,獲取結(jié)果又通過action返回到前臺(tái)頁(yè)面,從而完成一套交互。代碼如下:</p><p><b> <struts></b></p><p> <package namespace="/authorize" name="authorize-default&quo
83、t;</p><p> extends="dang-default"></p><p> <action name="regist" class="tarena.marble.actions.authorize.RegistAction"></p><p> <result n
84、ame="success">/authorize/verify_form.jsp</result></p><p> <result name="input">/authorize/register_form.jsp</result></p><p> <result name="fail
85、">/authorize/register_form.jsp</result></p><p><b> </action></b></p><p> <action name="image" class="tarena.marble.actions.authorize.ImageActi
86、on"></p><p> <result name="success" type="stream">imageStream</result></p><p><b> </action></b></p><p> <action name=
87、"valid" class="tarena.marble.actions.authorize.ValidAction"></p><p> <result name="success" type="json"></result></p><p><b> </a
88、ction></b></p><p> <action name="verify" class="tarena.marble.actions.authorize.VerifyAction"></p><p> <result name="success">/authorize/regi
89、ster_ok.jsp</result></p><p> <result name="input">/authorize/verify_form.jsp</result></p><p> <result name="fail">/authorize/verify_form.jsp</res
90、ult></p><p><b> </action></b></p><p> <action name="login" class="tarena.marble.actions.authorize.LoginAction"></p><p> <result
91、name="success" type="redirect">/category/main.jsp</result></p><p> <result name="fail">/authorize/login_form.jsp</result></p><p> <result
92、name="tocart" type="redirectAction">../cart/cart!showList</result></p><p> <result name="tojihuo" type="redirect">/authorize/verify_form.jsp</result
93、></p><p><b> </action></b></p><p> <action name="exit" class="tarena.marble.actions.authorize.ExitAction"></p><p> <result name=
94、"success" type="redirect">/authorize/login_form.jsp</result></p><p><b> </action></b></p><p> </package></p><p><b> <
95、;/struts></b></p><p> 系統(tǒng)中的交易記錄或者錯(cuò)誤信息記錄則通過log4j進(jìn)行管理,可以詳細(xì)的記錄系統(tǒng)運(yùn)轉(zhuǎn)過程中暴露出的問題,log4j.properties代碼如下:</p><p> log4j.rootLogger=ERROR,console</p><p> log4j.appender.console=org.a
96、pache.log4j.ConsoleAppender</p><p> log4j.appender.console.layout=org.apache.log4j.SimpleLayout</p><p> log4j.appender.file=org.apache.log4j.FileAppender</p><p> log4j.appender.f
97、ile.File=/home/java/debug.html</p><p> log4j.appender.file.layout=org.apache.log4j.HTMLLayout</p><p><b> ?。ǘ┫到y(tǒng)登錄</b></p><p> 系統(tǒng)登錄主要用于用戶的登錄,只有登錄后的用戶才能下單,生成訂單。否則,只能瀏覽商品
98、相關(guān)信息。此模塊的主要功能是對(duì)用戶和密碼進(jìn)行驗(yàn)證,只有合法的用戶才能進(jìn)入本系統(tǒng)。用戶填寫的信息都是通過form表單使用post方法提交給服務(wù)器。服務(wù)器通過getParameter函數(shù)獲得form表單數(shù)據(jù),然后與數(shù)據(jù)庫(kù)中的用戶信息做比較,如果匹配則合法登錄。在用戶登錄后,將用戶的所有信息通過setAttribute函數(shù)保存在session中,方便其他界面隨時(shí)使用對(duì)象中的用戶信息。代碼片段如下:</p><p>
99、//登錄action</p><p> public class LoginAction extends BaseAction {</p><p> private DUser user;</p><p><b> // 登錄檢查</b></p><p> public String execute() {<
100、;/p><p> String email = request.getParameter("name");</p><p> String pwd = request.getParameter("password");</p><p> IAuthorizeService authorizeService = Service
101、Factory</p><p> .getAuthorizeService();</p><p> String result = authorizeService.loginUser(email, pwd);</p><p> if ("nofond".equals(result)) {</p><p> req
102、uest.setAttribute("nofond", "沒有注冊(cè)該用戶!請(qǐng)先注冊(cè)");</p><p> return "fail";</p><p> } else if ("noright".equals(result)) {</p><p> request.setAttr
103、ibute(Constant.LOGIN_EMAIL, email);</p><p> request.setAttribute("noright", "密碼有誤請(qǐng)重新輸入!");</p><p> return "fail";</p><p><b> } else {</b>
104、;</p><p> IUserDAO udao = DAOFactory.getUserDAO();</p><p> user = udao.findUserByEmail(email);</p><p> // 如果驗(yàn)證了郵箱就往Session中放user</p><p> if (user.getIsEmailVerify()
105、) {</p><p> session.put(Constant.SESSION_USER, user);</p><p> if (session.get(Constant.CART_KEY) != null) {</p><p><b> //直接去購(gòu)物車了</b></p><p> return &quo
106、t;tocart";</p><p><b> }</b></p><p> return "success";</p><p><b> } else {</b></p><p><b> //去激活</b></p><
107、;p> session.put(Constant.SESSION_USER, user);</p><p> return "tojihuo";</p><p><b> }</b></p><p><b> }</b></p><p><b> }&l
108、t;/b></p><p> 登錄密碼通過MD5進(jìn)行加密,代碼如下</p><p><b> //加密工具類</b></p><p> public final class EncrityUtil {</p><p> // 通過MD5加密用戶的密碼</p><p> public
109、 static String encrity(String s) {</p><p><b> try {</b></p><p> MessageDigest digest = MessageDigest.getInstance("MD5");</p><p> byte[] bys = digest.digest(
110、s.getBytes());</p><p> return enByBase64(bys);</p><p> } catch (NoSuchAlgorithmException e) {</p><p> e.printStackTrace();</p><p> return "";</p>&
111、lt;p><b> }</b></p><p><b> }</b></p><p> // 通過Base64顯示加密后的密碼</p><p> public static String enByBase64(byte[] bys) {</p><p> BASE64Encoder
112、encode = new BASE64Encoder();</p><p> return encode.encode(bys);</p><p><b> }</b></p><p> // 可以用來對(duì)Base64解碼</p><p> public static byte[] deByBase64(Strin
113、g s) throws IOException {</p><p> BASE64Decoder decoder = new BASE64Decoder();</p><p> return decoder.decodeBuffer(s);</p><p><b> }</b></p><p><b>
114、 }</b></p><p><b> 圖 9</b></p><p><b> ?。ㄈ┦醉?yè)管理</b></p><p> 首頁(yè)管理主要用于商品的展示,主要有熱點(diǎn)推薦,圖片商品展示等。用戶可在首頁(yè)中找到自己感興趣的商品,并可進(jìn)入到各級(jí)分類商品中查找。</p><p><b&g
115、t; 圖 10</b></p><p><b> 圖 11</b></p><p> 為了方便用戶查詢所需商品信息,在網(wǎng)站中設(shè)置了商品分類顯示模塊。在網(wǎng)站首頁(yè)的右側(cè)以樹狀菜單的形式列出了商品的大、小分類信息,用戶單擊大類別結(jié)點(diǎn)可以顯示出該類的所有小類信息,單擊小類結(jié)點(diǎn)可以進(jìn)入到分類商品顯示頁(yè)面查看該類別的全部商品信息,在分類商品顯示頁(yè)面中,單擊商品名
116、稱可以查看相應(yīng)商品的詳細(xì)信息。顯示商品的大、小分類信息的關(guān)鍵是獲取商品的大分類信息,并分別查詢出每個(gè)大類所對(duì)應(yīng)的小分類信息,再通過<div>標(biāo)記和JavaScript自定義函數(shù)實(shí)現(xiàn)<div>結(jié)點(diǎn)的顯示和隱藏。jsp代碼如下:</p><p> <%@page contentType="text/html;charset=utf-8"%></p>
117、<p> <html xmlns="http://www.w3.org/1999/xhtml"></p><p><b> <head></b></p><p> <title>全球最大的購(gòu)物網(wǎng)站</title></p><p> <link hre
118、f="../css/book.css" rel="stylesheet" type="text/css" /></p><p> <link href="../css/second.css" rel="stylesheet" type="text/css" /></p&
119、gt;<p> <link href="../css/secBook_Show.css" rel="stylesheet" type="text/css" /></p><p> <script src="../js/jquery-1.4.min.js"></script><
120、/p><p> <script src="../js/load.js"></script></p><p><b> </head></b></p><p><b> <body></b></p><p><b> &
121、amp;nbsp;</b></p><p> <!-- 頭部開始 --></p><p> <%@include file="../common/head.jsp"%></p><p> <!-- 頭部結(jié)束 --></p><p> <div style=&qu
122、ot;width: 962px; margin: auto;"></p><p> <a href="#"><img src="../images/default/book_banner_081203.jpg"</p><p> border="0" /> </a></
123、p><p><b> </div></b></p><p> <div class="book"></p><p> <!--左欄開始--></p><p> <div id="left" class="book_left&q
124、uot;></p><p> <!--加載category/category.jsp中內(nèi)容--></p><p><b> </div></b></p><p> <!--左欄結(jié)束--></p><p> <!--中欄開始--></p><
125、p> <div class="book_center"></p><p> <!--推薦物品開始--></p><p> <div class=second_c_border1 id="recommend"></p><p><b> </div><
126、/b></p><p> <!--推薦物品結(jié)束--></p><p> <!--熱銷物品開始--></p><p> <div class="book_c_border2" id="hot"></p><p><b> </div>
127、</b></p><p> <!--熱銷物品結(jié)束--></p><p> <!--最新上架物品開始--></p><p> <div class="book_c_border2" id="new"></p><p><b> </d
128、iv></b></p><p> <!--最新上架物品結(jié)束--></p><p> <div class="clear"></p><p><b> </div></b></p><p><b> </div><
129、/b></p><p> <!--中欄結(jié)束--></p><p> <!--右欄開始--></p><p> <div id="newhot" class="book_right"></p><p> <div class="book_r
130、_border2" id="__XinShuReMai"></p><p> <div class="book_r_b2_1x" id="new_bang"></p><p> <h2 class="t_xsrm"></p><p><b
131、> 熱賣榜</b></p><p><b> </h2></b></p><p> <div id="NewProduct_1_o_t"></p><p> <h3 class="second"></p><p> &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于jsp的購(gòu)物網(wǎng)站設(shè)計(jì)與開發(fā)
- 基于jsp 在線購(gòu)物網(wǎng)站詳細(xì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----jsp購(gòu)物網(wǎng)站商城系統(tǒng)
- 畢業(yè)設(shè)計(jì)天使配飾購(gòu)物網(wǎng)站的設(shè)計(jì)與開發(fā)
- 畢業(yè)設(shè)計(jì)--jsp+hibernate的企業(yè)級(jí)購(gòu)物網(wǎng)站的開發(fā)
- 基于jsp珠寶購(gòu)物網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 購(gòu)物網(wǎng)站畢業(yè)設(shè)計(jì)論文 購(gòu)物模式開發(fā)與應(yīng)用
- 服裝購(gòu)物網(wǎng)站畢業(yè)設(shè)計(jì)
- 網(wǎng)上購(gòu)物網(wǎng)站畢業(yè)設(shè)計(jì)
- 網(wǎng)上購(gòu)物網(wǎng)站畢業(yè)設(shè)計(jì)
- 購(gòu)物網(wǎng)站畢業(yè)設(shè)計(jì)論文
- 網(wǎng)上購(gòu)物網(wǎng)站畢業(yè)設(shè)計(jì)
- 基于JSP珠寶購(gòu)物網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)任務(wù)書.doc
- 基于JSP的兒童購(gòu)物網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于jsp的兒童購(gòu)物網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)(1)
- 基于jsp的電子商務(wù)購(gòu)物網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)
- 基于JSP珠寶購(gòu)物網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)論文.doc
- 4購(gòu)物網(wǎng)站畢業(yè)設(shè)計(jì)論文
- 購(gòu)物網(wǎng)站的設(shè)計(jì)與開發(fā).pdf
- 電子商務(wù)購(gòu)物網(wǎng)站畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論