電子商務(wù)交易平臺畢業(yè)論文_第1頁
已閱讀1頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘要</b></p><p>  電子商務(wù)(Electronic Commerce)又稱電子商業(yè)。是指商務(wù)活動的參與者(包括消費者、銷售商、供應(yīng)商、企業(yè)雇員、銀行或金融機(jī)構(gòu)以及政府等)利用各種電子工具和電子技術(shù)對貿(mào)易活動各個階段進(jìn)行改造和創(chuàng)新,實現(xiàn)整個貿(mào)易活動的自動化和電子化。簡單的說,電子商務(wù)就是利用計算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)信息等手段聯(lián)絡(luò)交易主體和銀行信用方式的所有經(jīng)

2、濟(jì)活動。</p><p>  經(jīng)濟(jì)的發(fā)展和科技的進(jìn)步為電子商務(wù)開辟了無比廣闊的前景,在全球信息化大勢所驅(qū)的影響下,各國的電子商務(wù)不斷的改進(jìn)和完善,電子商務(wù)已成為21世紀(jì)先進(jìn)生產(chǎn)力的標(biāo)志之一。作為一種信息時代國際通行的商務(wù)模式,電子商務(wù)觀念正不斷深入人心。而在我國,計算機(jī)與網(wǎng)絡(luò)技術(shù)的普及與發(fā)展,電子商務(wù)迅速崛起,網(wǎng)上交易發(fā)展也步入了一個新臺階。電子商務(wù)的深入發(fā)展引發(fā)了一場廣泛、深刻的商業(yè)變革。電子商務(wù)作為網(wǎng)上交易的

3、重要商務(wù)活動之一,其存在的巨大經(jīng)濟(jì)潛力,使得許多企業(yè)都躍躍欲試,雖然這一新經(jīng)濟(jì)狀態(tài)下的商務(wù)形態(tài)有著光明的前景,但也面臨著許多問題。經(jīng)歷了網(wǎng)絡(luò)泡沫的中國電子商務(wù),目前已經(jīng)進(jìn)入平穩(wěn)發(fā)展階段,前景非常看好,但是電子商務(wù)在未來的發(fā)展道路上,其問題依然不少。因此,現(xiàn)在應(yīng)展望電子商務(wù)的發(fā)展趨勢,理清目前存在的問題并提出相應(yīng)對策,這樣就更有利于新形勢下我國電子商務(wù)的持續(xù)、快速、健康地發(fā)展。</p><p>  在現(xiàn)代網(wǎng)絡(luò)、通信

4、和信息技術(shù)的大力發(fā)展下,電子商務(wù)將發(fā)展到全球規(guī)模,這使得任何一個商業(yè)組織都必須重新調(diào)整自己的運營模式和產(chǎn)業(yè)結(jié)構(gòu),以適應(yīng)新的市場發(fā)展的需要。因此,任何一個企業(yè)想要在21世紀(jì)生存下來,就必須迅速地改變傳統(tǒng)的經(jīng)營觀念,跟上當(dāng)今世界發(fā)展的最新潮流,加入到電子商務(wù)大潮中。</p><p>  前臺交易系統(tǒng)主要包括用戶管理、商品展示、我的訂單、購物車管理,結(jié)算系統(tǒng)主要包括訂單管理、用戶訂單管理、訂單結(jié)算。系統(tǒng)主要采用了流行的

5、MVC思想,融入了JSP、Ajax、JQuery、javascript等典型WEB開發(fā)相關(guān)技術(shù),同時采用MySql數(shù)據(jù)庫和主流服務(wù)器Tomcat,后使用Spring、Hibernate、Struts2三大框架進(jìn)行整合。系統(tǒng)的各個模塊設(shè)計合理,業(yè)務(wù)方法利用接口理念,這樣讓系統(tǒng)很靈活,具備了良好的擴(kuò)展性,采用Spring框架的注入原理,使得程序結(jié)構(gòu)更加完美。</p><p>  經(jīng)過本人不斷的調(diào)試和改進(jìn),系統(tǒng)逐漸完善

6、,最終完成電子商務(wù)交易平臺。</p><p>  關(guān)鍵詞:電子商務(wù);網(wǎng)上購物;java </p><p><b>  Abstract</b></p><p>  Electronic Commerce (Electronic Commerce) is also called electronic business. Refers to th

7、e business activities of the participants (including consumers, dealers, suppliers, employees, banks or financial institutions and government) to carry out reform and innovation in various stages of trading activities by

8、 using various electronic tools and electronic technology, realize the whole trade automation and computerization. Simply put, all the economic activities of e-commerce is the use of compute</p><p>  The dev

9、elopment of economy and the progress of science and technology opens a wide prospect for electronic commerce, affected by flooding in the global trend of information technology under the electronic commerce, the unceasin

10、g improvement and the consummation, the electronic commerce has become the symbol of advanced productivity in twenty-first Century. As a kind of information era the international business model, e-commerce concept contin

11、ues to win support among the people. But in our count</p><p>  With the development of communication and information technology, the modern network, e-commerce will develop to a global scale, which makes any

12、 business organization must recalibrate operation mode and its own industrial structure, in order to adapt to the new market development. Therefore, any enterprise want to survive in the twenty-first Century, they must q

13、uickly change the traditional ideas, keep up with the latest trend in today's world development, added to the electronic commerce.</p><p>  The electronic commerce system using B\/S mode, the main front

14、desk trading system and settlement system and user management system. The system includes user management, commodity display, my orders, shopping cart management, order management, settlement system mainly includes the u

15、ser order management, order settlement. The system mainly uses the popular MVC theory, into the JSP, Ajax, JQuery, JavaScript and other typical WEB developing technology, at the same time, using the MySql database and<

16、;/p><p>  After my constant adjustment and improvement, system gradually perfect, complete e-commerce trading platform.</p><p>  Keywords: electronic;online shopping;java目 錄</p><p>

17、<b>  摘要II</b></p><p>  AbstractIII</p><p><b>  引 言1</b></p><p>  第1章 系統(tǒng)開發(fā)技術(shù)和運行環(huán)境配置2</p><p>  1.1 Struts2框架技術(shù)2</p><p>  1.

18、1.1 Struts2的體系結(jié)構(gòu)2</p><p>  1.1.2 Struts2的處理流程3</p><p>  1.2 Hibernate框架技術(shù)4</p><p>  1.2.1 hibernate的體系結(jié)構(gòu)4</p><p>  1.2.2 Hibernate處理流程5</p><p>  

19、1.3 Spring框架技術(shù)6</p><p>  1.3.1 Spring結(jié)構(gòu)體系7</p><p>  1.4 Ajax技術(shù)7</p><p>  1.5 JQuery技術(shù)8</p><p>  1.6 B/S三層架構(gòu)10</p><p>  1.7 系統(tǒng)環(huán)境11</p>&l

20、t;p>  1.7.1 系統(tǒng)開發(fā)環(huán)境11</p><p>  1.7.2 系統(tǒng)運行環(huán)境11</p><p>  第2章 需求分析12</p><p>  2.1 網(wǎng)站開發(fā)目的12</p><p>  2.2 系統(tǒng)功能結(jié)構(gòu)描述12</p><p>  2.3 系統(tǒng)流程圖13</p>

21、;<p>  2.4 使用的技術(shù)14</p><p>  第3章 數(shù)據(jù)庫設(shè)計15</p><p>  3.1 網(wǎng)站的數(shù)據(jù)庫分析15</p><p>  3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計15</p><p>  3.3 數(shù)據(jù)庫物理設(shè)計16</p><p>  第4章 系統(tǒng)設(shè)計及實現(xiàn)19&l

22、t;/p><p>  4.1 系統(tǒng)頁面結(jié)構(gòu)19</p><p>  4.2 網(wǎng)站的前臺模塊設(shè)計21</p><p>  4.2.1 用戶模塊21</p><p>  4.2.2 主頁模塊31</p><p>  4.2.3 購物車33</p><p>  4.2.4 我的訂單

23、37</p><p>  4.3 訂單管理41</p><p>  4.3.1 訂單查詢42</p><p>  4.3.2 購物明細(xì)表43</p><p>  4.3.3 單個用戶訂單查詢43</p><p>  4.3.4 商品管理44</p><p>  第5章 測試

24、45</p><p>  5.1 注冊模塊測試46</p><p>  5.3 購物車模塊測試47</p><p>  5.4 分類數(shù)目統(tǒng)計49</p><p>  5.5 商品排序測試49</p><p>  5.6 刪除的物品不在結(jié)算當(dāng)中50</p><p><b&

25、gt;  結(jié) 論51</b></p><p>  參 考 文 獻(xiàn)52</p><p><b>  致 謝53</b></p><p><b>  引 言</b></p><p>  隨著信息時代的到來,特別是國際互聯(lián)網(wǎng)的應(yīng)用與普及,我們的現(xiàn)實生活發(fā)生了根本的變革,

26、基于網(wǎng)絡(luò)的消費方式——網(wǎng)上購物的出現(xiàn)及逐漸流行,改變了我們的生活方式和消費觀念,人們在網(wǎng)上輕點鼠標(biāo)就可以實現(xiàn)購物,購買生活、工作和學(xué)習(xí)用品。網(wǎng)上消費給人們帶來的快捷、便利、節(jié)約成本等優(yōu)越條件,使越來越多的人選擇了網(wǎng)上消費。網(wǎng)上購物系統(tǒng)作為B2B,B2C(Business to Customer),即(企業(yè)對消費者)電子商務(wù)的前端商務(wù)平臺,在其商務(wù)活動全過程中起著舉足輕重的作用。從長遠(yuǎn)來看,企業(yè)對消費者的電子商務(wù)將最終在電子商務(wù)領(lǐng)域占據(jù)重

27、要地位。為了順應(yīng)這種潮流,同時考慮到畢業(yè)生自身特點,我選擇了開發(fā)一個基于JAVA技術(shù)實現(xiàn)的企業(yè)管理網(wǎng)站,而且利用了javascript,Ajax,jQuery的技術(shù)使頁面更加鮮活,美觀,并通過web服務(wù)器實現(xiàn)。</p><p>  本平臺不僅充分顯示了產(chǎn)品的信息,也給用戶很好的視覺體驗和感覺體驗,讓用戶的操作更簡單。</p><p><b>  ①商品的瀏覽功能。</b&g

28、t;</p><p><b> ?、谏唐返脑敿?xì)信息。</b></p><p><b> ?、塾唵喂芾砉δ堋?lt;/b></p><p><b> ?、苡脩艄芾砉δ?。</b></p><p> ?、萦脩舨樵冇唵喂δ艿?章 系統(tǒng)開發(fā)技術(shù)和運行環(huán)境配置</p><p

29、>  該平臺的需求分析明確網(wǎng)站的開發(fā)目的,根據(jù)網(wǎng)站的總體思想進(jìn)行開發(fā),進(jìn)行開發(fā)語言選擇和開發(fā)工具選擇,并配置運行環(huán)境,根據(jù)各種技術(shù)達(dá)到給用戶更好的體驗。</p><p>  1.1 Struts2框架技術(shù)</p><p>  本系統(tǒng)采用了Struts2框架設(shè)計完成,Struts2是系統(tǒng)的核心控制器?;贛VC設(shè)計,分層結(jié)構(gòu)開發(fā)。</p><p><b&

30、gt;  分層結(jié)構(gòu):</b></p><p>  表現(xiàn)層(V):JSP,js,Ajax,JQuery,EL,Struts2標(biāo)簽</p><p>  控制層(C):Struts2控制器,Action</p><p>  業(yè)務(wù)層(M):javaBean</p><p>  數(shù)據(jù)訪問層(持久層)(M):DAO組件</p>

31、<p>  主要技術(shù):jQuery+Struts2+JDBC</p><p>  1.1.1 Struts2的體系結(jié)構(gòu)</p><p>  Struts2的體系結(jié)構(gòu)如圖1.1.1所示:</p><p><b>  。</b></p><p>  圖1.1.1 Struts2體系結(jié)構(gòu)</p>&l

32、t;p>  Struts2的幾個核心組件:</p><p>  a 、ActionServlet(核心控制器)</p><p>  b、RequestProcessor類(處理異常的核心組件)</p><p>  c、ActionForm(接收頁面中傳過的數(shù)據(jù))</p><p>  d、Action(是控制器,主要是從ActionFor

33、m中接收頁面?zhèn)鬟M(jìn)來的數(shù)據(jù), 然后進(jìn)行邏輯處理)</p><p>  e、ActionForward(頁面跳轉(zhuǎn),跳轉(zhuǎn)到j(luò)sp組件)</p><p>  f、ActionMapping(配置每個Action所對應(yīng)的映射關(guān)系)。</p><p>  1.1.2 Struts2的處理流程</p><p>  圖1.1.2 Struts2的

34、處理流程</p><p><b>  處理流程詳細(xì)描述:</b></p><p>  客戶端初始化一個指向Servlet容器(如Tomcat)的請求。 </p><p>  這個請求經(jīng)過一系列過濾器(如ActionContextCleanUp、SiteMesh等)。 </p><p>  FilterDispatcher

35、被調(diào)用,F(xiàn)ilterDispatcher詢問ActionMapper來決定這個請求是否需要調(diào)用某個Action。 </p><p>  如果ActionMapper決定需要調(diào)用某個Action,F(xiàn)ilterDispatcher把請求交給ActionProxy。 </p><p>  ActionProxy通過Configuration Manager詢問Struts配置文件,找到需要調(diào)用的

36、Action類。 </p><p>  ActionProxy創(chuàng)建一個ActionInvocation實例。 </p><p>  ActionInvocation實例使用命名的模式來調(diào)用,回調(diào)Action的execute方法。 </p><p>  一旦Action執(zhí)行完畢,ActionInvocation負(fù)責(zé)根據(jù)Struts.xml的配置返回結(jié)果。</p&

37、gt;<p>  1.2 Hibernate框架技術(shù)</p><p>  本框架采用hibernate框架技術(shù),通過hibernate框架的技術(shù)鏈接數(shù)據(jù)庫和使用hibernate的緩存機(jī)制,更好的優(yōu)化了網(wǎng)站的結(jié)構(gòu),減輕了大量用戶時對數(shù)據(jù)庫的壓力,使用戶更好,更方便的使用。</p><p>  1.2.1 hibernate的體系結(jié)構(gòu)</p><p>

38、;  圖1.2.1 hibernate體系結(jié)構(gòu)</p><p>  Hibernate的幾個核心組件</p><p>  a、class元素:用來定義一個持久化類,它的屬性name和table分別為持久化的類名及對應(yīng)到DB中的表名</p><p>  b、generator:Hibernate內(nèi)置生成器,有increment(遞增),identity(標(biāo)識),seq

39、uence(序列),seqhilo(序列高/低位),uuid.hex,assigned,foreign</p><p>  c、Configuration類:它負(fù)責(zé)管理Hiberante的配置信息,它主要用來加載這些陪置文件。</p><p>  d、SessionFactory接口:SessionFactory負(fù)責(zé)Session實例的創(chuàng)建</p><p>  e、

40、Session接口:Session是應(yīng)用程序與數(shù)據(jù)庫之間的一個會話,是Hibernate運作的中心,持久層操作的基礎(chǔ),相當(dāng)于JDBC中的Connection。</p><p>  f、Query接口:用來執(zhí)行HQL語句。</p><p>  1.2.2 Hibernate處理流程</p><p>  圖1.2.2 Hibernate處理流程</p>

41、<p><b>  處理流程詳細(xì)介紹:</b></p><p>  通過JDBC操作數(shù)據(jù)庫,首先要獲得數(shù)據(jù)庫的連接,然后通過Statement執(zhí)行SQL語句,Hibernate隱藏了顯示進(jìn)行數(shù)據(jù)庫連接的細(xì)節(jié),只要配置相關(guān)的數(shù)據(jù)庫連接即可,Hibernate初始化流程步驟如下: 創(chuàng)建Configuration類的實例Configuration的構(gòu)造方法讀入配置文件信息,一

42、個Configuration實例代表Hibernate所有Java類到SQL數(shù)據(jù)庫映射的集合。Configuration讀取路徑根目錄下的配置文件hibernate.properties或hibernate.cfg.xml,創(chuàng)建Configuration類的實例代碼如下:Configuration config = new Configuration(); 創(chuàng)建SessionFactory實例它把Configuration

43、對象中的所有配置信息拷貝到SessionFactory的緩存中。一個SessionFactory的實例代表一個數(shù)據(jù)庫存儲源,創(chuàng)建后不再與Configuration對象關(guān)聯(lián)。sessionFactory = config.buildSessi</p><p>  1.3 Spring框架技術(shù)</p><p>  本程序采用了Spring框架技術(shù),通過Spring框架技術(shù)的AOP(方面組

44、件)和IOC(控制反轉(zhuǎn))等技術(shù)利用IoC機(jī)制實現(xiàn)Action和Service,Service和DAO之間低耦合調(diào)用,利用AoP機(jī)制實現(xiàn)事務(wù)管理,以及共通功能的切入等。 功能是整合,好處是解偶。</p><p>  1.3.1 Spring結(jié)構(gòu)體系</p><p>  圖1.3.1 Spring結(jié)構(gòu)體系</p><p>  Spring幾個核心組件:</p&g

45、t;<p>  IOC(Inversion of Control)控制反轉(zhuǎn):它是Spring的核心,是一種將組件依賴關(guān)系的創(chuàng)建和管理置于程序外部的技術(shù)</p><p>  面向切面編程(AOP):它是OOP的補(bǔ)充,而不是OOP的對手。不用OOP只用AOP寫程序幾乎不可能。 OOP可以有效解決很多問題,但在有些問題的解決上,運用AOP會使工作更加聰明輕松。AOP使得程序更加模塊化</p>

46、<p>  通知(Advice):在某一個聯(lián)結(jié)點處運行的代碼成為通知.根據(jù)在聯(lián)結(jié)點之前執(zhí)行和之后執(zhí)行分為前置通知和后置通知。</p><p>  切入點(Pointcut):來定義某一個通知該何時執(zhí)行的一組聯(lián)結(jié)點。通常會組件復(fù)雜的切入點來控制通知什么時候運行</p><p>  1.4 Ajax技術(shù)</p><p>  Ajax的原理簡單來說通過Xml

47、HttpRequest對象來向服務(wù)器發(fā)異步請求,從服務(wù)器獲得數(shù)據(jù),然后用javascript來操作DOM而更新頁面。</p><p>  在本網(wǎng)站中使用了的是JQuery的Ajax如圖1.4所示</p><p>  圖1.4 JQuery中ajax顯示</p><p>  在本網(wǎng)站中使用的代碼如下:</p><p>  $.post(&quo

48、t;checkEmail.action",{'email':email},function(data){</p><p><b>  if(data){</b></p><p>  $('#email\\.info').css("color","green");</p>&

49、lt;p>  $('#email\\.info').html("<image src='../images/right.gif'>郵箱可用");</p><p>  check_email=true;</p><p><b>  }else{</b></p><p>  $(

50、'#email\\.info').css("color","red");</p><p>  $('#email\\.info').html("<image src='../images/wrong.gif'>郵箱已被占用");</p><p><b>  }&

51、lt;/b></p><p><b>  });</b></p><p><b>  });</b></p><p>  1.5 JQuery技術(shù)</p><p>  使用選擇器(借鑒了css選擇器的語法)查找節(jié)點,并且將節(jié)點封裝成jQuery對象,通過調(diào)用jQuery對象的方法或?qū)傩詠韺崿F(xiàn)

52、對底層</p><p>  節(jié)點的操作。這樣做的好處是:屏蔽了瀏覽器之間的差異,另外,也簡化了編程。</p><p>  在本網(wǎng)頁中使用如圖1.5.1和1.5.2所示</p><p>  圖1.5.1 JQuery購買成功顯示</p><p>  圖1.5.2 已經(jīng)購買JQuery技術(shù)顯示</p><p>  在網(wǎng)頁中

53、的代碼如下所示</p><p>  1.4 <script type="text/javascript" src="../js/jquery-1.4.3.js"></p><p><b>  </script></b></p><p>  <script type="

54、;text/javascript"></p><p>  $(function(){</p><p>  $(".goumai").click(function(){</p><p>  var id=$(this).attr("id");</p><p>  var a=$(this)

55、;</p><p>  var msg_span=$(this).next();</p><p>  $.post("../cart/buy.action",{"id":id},</p><p>  function(data){</p><p>  if(data==true){</p>

56、<p><b>  a.hide();</b></p><p>  msg_span.css("color","green");</p><p>  msg_span.html("<image src='../images/right.gif'>購買成功");</

57、p><p>  setTimeout(function(){</p><p>  msg_span.html('');</p><p>  a.html("<image src='../images/buttom_goumai.gif'>");</p><p><b>  

58、a.show()</b></p><p><b>  },2000);</b></p><p><b>  }else{</b></p><p><b>  a.hide();</b></p><p>  msg_span.css("color"

59、,"red");</p><p>  msg_span.html("<image src='../images/wrong.gif'>您已經(jīng)購買了");</p><p>  setTimeout(function(){</p><p>  msg_span.html('');<

60、/p><p>  a.html("<image src='../images/buttom_goumai.gif'>");</p><p><b>  a.show()</b></p><p><b>  },2000);</b></p><p><

61、b>  }</b></p><p><b>  }</b></p><p><b>  );</b></p><p>  return false;</p><p><b>  });</b></p><p>  $('#sel

62、ect').change(function(){</p><p>  var orderby=$('#select').val();</p><p>  var pid=$('#pid').val();</p><p>  var cid=$('#cid').val();</p><p>

63、;  location.href="booklist.action?pid="+pid+"&cid="+cid+"&orderby="+orderby;</p><p><b>  });</b></p><p><b>  });</b></p><

64、p>  1.6 B/S三層架構(gòu)</p><p>  三層B/S應(yīng)用模式是為了解決兩層結(jié)構(gòu)中存在的問題而提出的,在三層模式中,在瀏覽器和服務(wù)器之間引入了應(yīng)用層的概念,將應(yīng)用邏輯移到應(yīng)用層實現(xiàn),與傳統(tǒng)兩層B/S模式相比,三層有著可伸縮性好、可管理性強(qiáng)、安全性高、軟件重用性好以及節(jié)省開發(fā)時間等諸多優(yōu)點。三層結(jié)構(gòu)的應(yīng)用程序把業(yè)務(wù)邏輯獨立起來,組成一層或多層,這樣就形成了瀏覽器界面層、中間業(yè)務(wù)邏輯層和后端數(shù)據(jù)庫服務(wù)

65、器層。</p><p>  圖1.4.1 三層B/S結(jié)構(gòu)</p><p><b>  1.7 系統(tǒng)環(huán)境</b></p><p>  1.7.1 系統(tǒng)開發(fā)環(huán)境</p><p>  操作系統(tǒng):windows</p><p>  開發(fā)工具:MyEclipse8.0+Tomcat+MySql<

66、/p><p>  相關(guān)技術(shù):Java+SSH+JDBC+JSP+Ajax+JQuery+JavaScript+html+css等</p><p>  1.7.2 系統(tǒng)運行環(huán)境</p><p>  系統(tǒng)所需要的軟件環(huán)境:</p><p>  開發(fā)工具:MyEclipse 8.0或更高版本</p><p>  WEB服務(wù)器:

67、tomcat 6.0</p><p>  數(shù)據(jù)庫:MySQL5.5</p><p>  虛擬機(jī)(JVM):jdk-6-linux-i586或jdk-6-win-i586</p><p>  瀏覽器:Internet Explorer(建議用FireFox)第2章 需求分析</p><p>  網(wǎng)站系統(tǒng)需求分析首先要明確網(wǎng)站開發(fā)的目的,網(wǎng)站的

68、整體開發(fā)思想,這個項目建立在什么樣的背景下進(jìn)行,開發(fā)這個網(wǎng)站要用那些開發(fā)語言,開發(fā)成功之后需要運行的技術(shù)平臺、開發(fā)工具及其運行需求。</p><p>  2.1 網(wǎng)站開發(fā)目的</p><p>  通用電子商務(wù)平臺的設(shè)計是為了讓更多的企業(yè)擁有自己的網(wǎng)上交易活動,擴(kuò)展他們的經(jīng)營模式。作為一個商業(yè)性質(zhì)的電子商務(wù)平臺,系統(tǒng)必須滿足企業(yè)的業(yè)務(wù)要求,與企業(yè)的商業(yè)活動真正接軌,形成服務(wù)一體化。系統(tǒng)界面

69、設(shè)計一定要友好,操作安全,服務(wù)方便快捷。系統(tǒng)總體流程必須合理規(guī)范,無邏輯錯誤。數(shù)據(jù)庫必須設(shè)計合理,數(shù)據(jù)的存儲一定要安全化。同時,這是一個網(wǎng)站,必須要考慮到服務(wù)器的承載壓力和訪問速度。作為一個大學(xué)生的畢業(yè)設(shè)計,它也必須符合大學(xué)生畢業(yè)設(shè)計的規(guī)范。</p><p>  2.2 系統(tǒng)功能結(jié)構(gòu)描述</p><p>  本系統(tǒng)主要采用B/S三層模式,同時利用典型的MVC模式Struts2,Hiber

70、nate,Spring框架設(shè)計完成。本系統(tǒng)主要包括前臺交易系統(tǒng)和后臺管理系統(tǒng),前臺功能如下:</p><p>  1. 用戶模塊,其中包括用戶注冊、 登錄、 登出。</p><p>  2. 主頁顯示模塊,其中包括分類瀏覽、分頁查看、</p><p>  3. 購物車模塊,該模塊實現(xiàn)商品的添加、數(shù)量修改,商品刪除、恢復(fù)、清空、結(jié)算。</p><p

71、>  4. 訂單模塊,該模塊實現(xiàn)訂單確認(rèn)、訂單列表、查看訂單和收件人等功能。 </p><p>  5. 我的當(dāng)當(dāng),用戶昵稱修改,訂單查詢,訂單詳細(xì)查詢。</p><p>  系統(tǒng)功能結(jié)構(gòu)如圖2.1所示。</p><p>  圖 2.1 系統(tǒng)功能結(jié)構(gòu)圖</p><p>  2.3 系統(tǒng)流程圖</p><p>

72、  圖 2.2 系統(tǒng)流程圖</p><p>  2.4 使用的技術(shù)</p><p>  Ajax、Jquery、javascript、mysql、struts2、Hibernate、Spring第3章 數(shù)據(jù)庫設(shè)計</p><p>  網(wǎng)站數(shù)據(jù)庫的整體設(shè)計首先要有明確的網(wǎng)站數(shù)據(jù)庫需求分析,然后要對數(shù)據(jù)庫的邏輯結(jié)構(gòu)有一個整體的思路,再者要配置好文件的代碼。<

73、/p><p>  3.1 網(wǎng)站的數(shù)據(jù)庫分析</p><p>  本系統(tǒng)是在網(wǎng)上運行的企業(yè)網(wǎng)站,對于這種類型的網(wǎng)站來說,其數(shù)據(jù)庫的保密性要求比較嚴(yán)格,但無須使用大型的數(shù)據(jù)庫,MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是最受歡迎的開源SQL數(shù)據(jù)庫管理系統(tǒng),是一個快速的、多線程、多用戶和健壯的SQL數(shù)據(jù)庫服務(wù)器。因此數(shù)據(jù)庫選擇上采用了MySql數(shù)據(jù)庫。</p><p>  

74、3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</p><p>  概念結(jié)構(gòu)設(shè)計的任務(wù)是在需求分析階段產(chǎn)生的需求說明書的基礎(chǔ)上,按照特定的方法把它們抽象為一個不依賴于任何具體機(jī)器的數(shù)據(jù)模型,即概念模型。概念模型使設(shè)計者的注意力能夠從復(fù)雜的實現(xiàn)細(xì)節(jié)中解脫出來,而只集中在最重要的信息的組織結(jié)構(gòu)和處理模式上。本系統(tǒng)的E-R模型圖如圖3.1所示:</p><p>  圖3.1 系統(tǒng)E-R圖</p>&

75、lt;p>  3.3 數(shù)據(jù)庫物理設(shè)計</p><p>  由數(shù)據(jù)庫E-R模型圖轉(zhuǎn)換為關(guān)系模型,并最終根據(jù)關(guān)系模型在數(shù)據(jù)庫中建立了8張數(shù)據(jù)表。各個數(shù)據(jù)表的物理結(jié)構(gòu)如表3-1至3-8所示。</p><p>  (1)用戶表d_user,主要包含用戶編號、郵箱、密碼、積分、昵稱、郵箱驗證狀態(tài)、郵箱驗證碼、最后登錄時間、最后登錄IP。</p><p>  表3-1

76、用戶表(d_user)</p><p>  (2)圖書表(d_book),主要包含圖書ID、作者、出版社、出版時間、字?jǐn)?shù)、版本、總頁數(shù)、印刷時間、國家圖書統(tǒng)一編號、作者介紹、目錄預(yù)覽。</p><p>  表3-2 圖書表(d_book)</p><p>  (3)商品表(d_product),主要包含產(chǎn)品ID、產(chǎn)品名稱、描述、上架時間、市場價、當(dāng)當(dāng)價、關(guān)鍵字、是否

77、下架、產(chǎn)品圖片名稱。</p><p>  表3-3 商品表(d_product)</p><p>  (4)類別表(d_category),主要包含類別ID、中文名稱、英文名稱、父類ID、類別描述。</p><p>  表3-4 類別表(d_category)</p><p>  (5)產(chǎn)品與類別關(guān)系表(d_category_product)

78、,主要包含ID,商品編號ID,類別編號ID。</p><p>  表3-5 分類與產(chǎn)品表(d_category_product)</p><p>  (6)訂單表(d_order),主要包含訂單編號、用戶編號、訂單狀態(tài)、訂單生成時間、訂單描述、訂單總價、收件人姓名、收件人地址、郵政編碼、手機(jī)號碼、固定電話號碼。</p><p>  表3-6 訂單表(d_order)

79、</p><p>  (7)訂單項表(d_item),主要包含訂單項編號、訂單編號、商品編號、商品名稱、當(dāng)當(dāng)價格、商品數(shù)量、總價。</p><p>  表3-7 貨物表(d_item)</p><p>  收件人信息表(d_receive_address),主要包含編號、用戶編號、收件人姓名、詳細(xì)地址、郵政編碼、手機(jī)號碼、固定電話號碼。</p><

80、;p>  表3-8 收貨地址表(d_receive_address)</p><p>  第4章 系統(tǒng)設(shè)計及實現(xiàn)</p><p>  系統(tǒng)設(shè)計是新系統(tǒng)的物理設(shè)計階段。根據(jù)系統(tǒng)分析階段所確定的新系統(tǒng)的邏輯模型、功能要求,在用戶提供的環(huán)境條件下,設(shè)計出一個能在計算機(jī)網(wǎng)絡(luò)環(huán)境上實施的方案,即建立新系統(tǒng)的物理模型。</p><p>  4.1 系統(tǒng)頁面結(jié)構(gòu)<

81、/p><p>  系統(tǒng)主要展示主頁面,其它的頁面都是通過include指令包含到主頁面中,各頁面需要加載數(shù)據(jù)都是通過其在main.jsp中的div標(biāo)簽想服務(wù)器發(fā)送請求。通過css/html的div標(biāo)簽讓各頁面在主頁面上融合顯示。主頁面主要包含以下頁面:hot.jsp(圖書熱銷頁面),new.jsp(新書上架頁面),recommend.jsp(編輯推薦圖書頁面),category.jsp(圖書分類頁面)。熱銷圖書頁面h

82、ot.jsp是根據(jù)賣出的書的數(shù)量來進(jìn)行排序的,所以每次加載主頁面它都必須向服務(wù)器發(fā)送請求獲取最新數(shù)據(jù)。</p><p><b>  圖4.1主頁面顯示</b></p><p>  圖4.2 系統(tǒng)主頁面視圖</p><p>  前臺交易系統(tǒng)視圖層介紹:</p><p>  用戶模塊:login_form.jsp(用戶登錄

83、頁面)</p><p>  register_form.jsp(用戶注冊頁面)</p><p>  verify_form.jsp(郵箱驗證頁面)</p><p>  register_ok.jsp(注冊成功頁面)</p><p>  vali.jsp(驗證用戶是否登入頁面)</p><p>  my.jsp(我的當(dāng)當(dāng)

84、頁面)</p><p>  user_index.jsp(用戶信息中心頁面)</p><p>  modify_pwd.jsp(用戶密碼修改頁面)</p><p>  主頁面模塊:main.jsp(主頁面)</p><p>  book_list.jsp(圖書列表顯示)</p><p>  Product.jsp(圖書

85、詳細(xì)頁面)</p><p>  Comment.jsp(用戶評論頁面)</p><p>  New.jsp(最新上架圖書列表顯示)</p><p>  Category.jsp(左側(cè)類別菜單顯示)</p><p>  Hot.jsp(熱銷圖書列表)</p><p>  Recommend.jsp(編輯推薦列表)<

86、/p><p>  訂單模塊:address_form.jsp(填寫收件人地址信息頁面)</p><p>  order_info(確認(rèn)訂單頁面)</p><p>  order_ok.jsp(訂單生成頁面)</p><p>  order_list(訂單詳細(xì)信息頁面)</p><p>  item.jsp(購物明細(xì)列表)&

87、lt;/p><p>  購物車模塊:cart_list.jsp(購物車詳細(xì)頁面)</p><p>  4.2 網(wǎng)站的前臺模塊設(shè)計</p><p>  本系統(tǒng)主要包含前臺交易系統(tǒng)和后臺管理系統(tǒng),其中前臺交易系統(tǒng)包括用戶模塊、主頁模塊、訂單模塊、購物車模塊。</p><p>  4.2.1 用戶模塊</p><p>  用

88、戶模塊主要實現(xiàn)了用戶注冊、登入/登出、修改信息、查看訂單等功能,用戶模塊結(jié)構(gòu)功能如圖4.3所示。</p><p>  圖4.3用戶模塊功能結(jié)構(gòu)圖</p><p><b>  (1) 用戶注冊</b></p><p>  系統(tǒng)采用了JQuery(jquery-1.4.min.js)進(jìn)行表單數(shù)據(jù)基本驗證,注冊頁面register_form.jsp表

89、單中的數(shù)據(jù)只要有一項不符合驗證規(guī)則的數(shù)據(jù),則表單提交按鈕失效。為了保證用戶注冊的郵箱名在數(shù)據(jù)庫中是唯一的,使用了Ajax技術(shù)向服務(wù)器發(fā)送異步請求,如果數(shù)據(jù)庫中已經(jīng)存在,則在頁面上提示用戶“此郵箱已經(jīng)被占用”的錯誤消息,用戶注冊流程如圖4.4所示。</p><p>  圖4.4 注冊流程圖</p><p>  用戶注冊的頁面代碼如下:</p><p>  <sc

90、ript type="text/javascript" src="../js/jquery-1.4.3.js"></script></p><p>  <script type="text/javascript"></p><p>  var check_email=false;</p>

91、<p>  var check_nickname=false;</p><p>  var check_password=false;</p><p>  var check_code=false;</p><p><b>  //表單驗證</b></p><p>  $(function(){</p&

92、gt;<p>  $('#txtEmail').blur(function(){</p><p><b>  //非空檢查</b></p><p>  var email=$('#txtEmail').val();//獲得輸入框中的數(shù)據(jù)</p><p>  if(email==""

93、;){</p><p>  $('#email\\.info').css("color","red");</p><p>  $('#email\\.info').html("<image src='../images/wrong.gif'>郵箱不能為空");</p

94、><p><b>  return;</b></p><p><b>  }</b></p><p><b>  //格式檢查</b></p><p>  var pattern=/\b(^['_A-Za-z0-9-]+(\.['_A-Za-z0-9-]+)*@([

95、A-Za-z0-9-])+(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/;</p><p>  if(!pattern.test(email)){</p><p>  $('#email\\.info').css("color","

96、;red");</p><p>  $('#email\\.info').html("<image src='../images/wrong.gif'>郵箱格式不正確");</p><p><b>  return;</b></p><p><b>  }<

97、;/b></p><p><b>  //唯一性檢查</b></p><p>  $.post("checkEmail.action",{'email':email},function(data){</p><p><b>  if(data){</b></p>&l

98、t;p>  $('#email\\.info').css("color","green");</p><p>  $('#email\\.info').html("<image src='../images/right.gif'>郵箱可用");</p><p>  

99、check_email=true;</p><p><b>  }else{</b></p><p>  $('#email\\.info').css("color","red");</p><p>  $('#email\\.info').html("<i

100、mage src='../images/wrong.gif'>郵箱已被占用");</p><p><b>  }</b></p><p><b>  });</b></p><p><b>  });</b></p><p><b> 

101、 //檢查昵稱</b></p><p>  $('#txtNickName').blur(function(){</p><p><b>  //檢查非空</b></p><p>  var nickname=$('#txtNickName').val();</p><p> 

102、 if(nickname==""){</p><p>  $('#name\\.info').css("color","red");</p><p>  $('#name\\.info').html("<image src='../images/wrong.gif'&

103、gt;昵稱不能為空");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  //檢查格式</b></p><p>  var pattern=/^([\u4e00-\u9fa5]{2,10}|[0-

104、9a-zA-Z]{4,20})$/;</p><p>  if(!pattern.test(nickname)){</p><p>  $('#name\\.info').css("color","red");</p><p>  $('#name\\.info').html("<

105、;image src='../images/wrong.gif'>昵稱格式不正確");</p><p>  check_nickname=false;</p><p><b>  }else{</b></p><p>  $('#name\\.info').css("color"

106、;,"green");</p><p>  $('#name\\.info').html("<image src='../images/right.gif'>昵稱可用");</p><p>  check_nickname=true;</p><p><b>  }<

107、/b></p><p><b>  });</b></p><p><b>  //檢查密碼</b></p><p>  $('#txtPassword').blur(function(){</p><p><b>  //檢查非空</b></p&g

108、t;<p>  var password=$('#txtPassword').val();</p><p>  if(password==""){</p><p>  $('#password\\.info').css("color","red");</p><p&

109、gt;  $('#password\\.info').html("<image src='../images/wrong.gif'>密碼不能為空");</p><p><b>  return;</b></p><p><b>  }</b></p><p>

110、<b>  //檢查格式</b></p><p>  var pattern=/\b(^[A-Za-z0-9]{6,20}$)\b/;</p><p>  if(!pattern.test(password)){</p><p>  $('#password\\.info').css("color",&quo

111、t;red");</p><p>  $('#password\\.info').html("<image src='../images/wrong.gif'>密碼格式不正確");</p><p>  check_password=false;</p><p><b>  }else

112、{</b></p><p>  check_password=true;</p><p>  $('#password\\.info').css("color","green");</p><p>  $('#password\\.info').html("<imag

113、e src='../images/right.gif'>密碼可用");</p><p><b>  }</b></p><p><b>  });</b></p><p>  //檢查密碼是否一致</p><p>  $('#txtRepeatPass'

114、;).blur(function(){</p><p><b>  //檢查密碼非空</b></p><p>  var password=$('#txtRepeatPass').val();</p><p>  if(password==""){</p><p>  $('#

115、password1\\.info').css("color","red");</p><p>  $('#password1\\.info').html("<image src='../images/wrong.gif'>輸入不能為空");</p><p><b>  

116、return;</b></p><p><b>  }</b></p><p>  //檢查密碼是否一致</p><p>  var password1=$('#txtPassword').val();</p><p>  if(password==password1){</p>

117、<p>  $('#password1\\.info').css("color","green");</p><p>  $('#password1\\.info').html("<image src='../images/right.gif'>密碼一致");</p>

118、<p>  check_repeatpass=true;</p><p><b>  }else{</b></p><p>  $('#password1\\.info').css("color","red");</p><p>  $('#password1\\.inf

119、o').html("<image src='../images/wrong.gif'>密碼不一致");</p><p>  check_repeatpass=false;</p><p><b>  }</b></p><p><b>  });</b></p&

120、gt;<p>  //當(dāng)連接點擊時驗證碼改變</p><p>  $('#change').click(function(){</p><p>  $('#imgVcode').attr('src','checkcode.action?dt='+new Date().getTime());</p>

121、<p><b>  });</b></p><p>  //檢查驗證碼是否一致</p><p>  $('#txtVerifyCode').blur(function(){</p><p>  var txtcode=$('#txtVerifyCode').val();</p><p

122、>  if(txtcode==""){</p><p>  $('#number\\.info').css("color","red");</p><p>  $('#number\\.info').html("<image src='../images/wrong.g

123、if'>驗證碼不能為空");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  $.post("check.action",{"txtcode":txtcode},function(data){&l

124、t;/p><p><b>  if(data){</b></p><p>  $('#number\\.info').css("color","green");</p><p>  $('#number\\.info').html("<image src=

125、9;../images/right.gif'>驗證碼正確");</p><p>  check_code=true;</p><p><b>  }else{</b></p><p>  $('#number\\.info').css("color","red");

126、</p><p>  $('#number\\.info').html("<image src='../images/wrong.gif'>驗證碼不正確");</p><p><b>  }</b></p><p><b>  });</b></p>

127、;<p><b>  });</b></p><p>  $('#f').submit(function(){</p><p>  $('#txtEmail').blur();</p><p>  $('#txtNickName').blur();</p><p&

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論