版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科畢業(yè)論文(設計)</p><p> ?。?9屆本科畢業(yè)生)</p><p> 題 目: 網上商城系統(tǒng)的設計與實現 </p><p> 學生姓名: </p><p> 學生學號: </p><p>
2、 學院名稱: 科信軟件學院 </p><p> 專業(yè)名稱: 軟件工程 </p><p> 指導教師: </p><p> 二零一三 年 五 月</p><p> 【摘 要】隨著Internet技術的發(fā)展,人們的生活已經
3、離不開網絡。當消費者在市場上花了大量時間卻找不到滿意的商品時,基于網絡的購物的興起就成為了必然。網上商城系統(tǒng)設計目的是為了方便消費者不出門就能買到自己滿意的商品。本系統(tǒng)利用JAVA語言開發(fā)和Oracle數據庫,采用SSH三大框架技術,實現了一個基于B/S模式的網上商城系統(tǒng)。本文闡述了網上商城系統(tǒng)的現狀及應用意義,并重點對系統(tǒng)的分析、設計與實現的過程作了詳細的介紹。網上商城系統(tǒng)能夠實現用戶通過注冊并登錄后訪問商城,通過查詢選擇喜愛的物品到
4、購物車。管理員登錄后,可查看所售商品的相關信息,并可對商品進行增刪改查等操作;可查看訂單情況,進行操作。</p><p> 【關鍵詞】Java,網上商城系統(tǒng),SSH,B/S結構,Oracle</p><p> Design and Implementation of </p><p> Online Shopping Mall System</p>
5、<p> 【Abstract】 With the development of Internet technology, People's Daily life has been inseparable from the network. When consumers spend a lot of time in the market but can’t find satisfactory goods, the
6、 rise of web-based shopping has become a necessity. The design of online shopping mall system is in order to be convenient for consumers who do not have to go out to buy their satisfactory goods. This system use JAVA and
7、 Oracle database,use SSH to develop, and accomplish online shopping mall syst</p><p> 【Keywords】 Java, online shopping mall system, SSH, B/S Structure, Oracle</p><p><b> 目錄</b><
8、/p><p><b> 第一章緒論1</b></p><p> 1.1課題研究目的意義1</p><p> 1.2相關領域的發(fā)展狀況1</p><p> 1.3主要研究內容及目標2</p><p> 第二章系統(tǒng)可行性分析和需求分析3</p><p>
9、2.1 系統(tǒng)定義3</p><p> 2.2系統(tǒng)可行性分析3</p><p> 2.3系統(tǒng)需求分析4</p><p> 2.4相關理論和技術5</p><p> 第三章 系統(tǒng)總體設計8</p><p> 3.1系統(tǒng)設計目標8</p><p> 3.2系統(tǒng)模塊總體設計8
10、</p><p> 3.3 系統(tǒng)流程分析10</p><p> 3.4數據庫設計10</p><p> 3.5界面設計14</p><p> 第四章系統(tǒng)的詳細設計與實現16</p><p> 4.1 程序設計原則及質量要求16</p><p> 4.2重難點實現16&l
11、t;/p><p> 4.3用戶注冊界面實現21</p><p> 4.4后臺管理主界面實現24</p><p> 4.5用戶管理界面實現25</p><p> 4.6 商場主界面實現25</p><p> 4.7 購物車界面實現26</p><p> 4.8訂單界面實現27&
12、lt;/p><p> 第五章 系統(tǒng)測試28</p><p> 5.1 系統(tǒng)測試的目的28</p><p> 5.2 黑盒測試與白盒測試介紹28</p><p> 5.3 測試計劃29</p><p> 5.4 測試過程29</p><p> 第六章 總結34</p&g
13、t;<p><b> 后記35</b></p><p><b> 參考文獻36</b></p><p> 附錄一:對T_USER表增刪查改功能的MVC模式后臺所有代碼:37</p><p><b> 緒論</b></p><p> 1.1課題研究目
14、的意義</p><p> 近年來,隨著Internet的迅速崛起,互聯網已日益成為收集提供信息的最佳渠道并逐步進入傳統(tǒng)的流通領域。于是電子商務開始流行起來,越來越多的商家在網上建起在線商店,向消費者展示出一種新穎的購物理念。利用Internet的技術和協議,建立各種企業(yè)內部網,企業(yè)外部網,通過廉價的通訊手段,將買家與賣家、廠商和合作伙伴緊密結合在了一起,消除時間與空間帶來的障礙,從而大大的節(jié)約了交易成本,擴大了
15、交易范圍。</p><p> 該系統(tǒng)可以提高經營決策和計劃預見能力通過電子商務對各類客戶的需求可以超前做到全面地了解使企業(yè)有針對性地提前安排生產經營計劃,占得市場先機;促進產品銷售根據電子商務信息庫中保存的大量客戶資料,通過快速的信息溝通,為客戶及時提供所需的產品和服務;在及時獲得市場對新產品需求的同時,電子商務系統(tǒng)將使企業(yè)小批量多批次和按需生產的靈活生產方式的特色得到更充分更有效的發(fā)揮,增強企業(yè)創(chuàng)新能力;企業(yè)
16、的電子商務化完全可以提供和傳統(tǒng)大型生產企業(yè)同等的與批發(fā)供應商建立良好信譽關系和交易的機會;電子商務是企業(yè)能直接面向最終客戶,從而降低交易成本和客戶售后咨詢等服務費用,尤其是對無形產品的服務,現階段企業(yè)開展電子商務以加強與客戶的溝通和促進產品銷售。因此開發(fā)一個網上購物商城系統(tǒng)可以使中小型企業(yè)擁有投資少、回收快,不受時間、店面空間地理位置限制的店面。也便于消費者不出門便可購買自己中意的商品。 </p><p> 1
17、.2相關領域的發(fā)展狀況</p><p> 互聯網已日益成為收集提供信息的最佳渠道并進入傳統(tǒng)的流通領域,電子商務開始發(fā)展起來,一種全新的購物理念開始形成,并以其高效、快捷、方便的優(yōu)勢,成為經濟全球化和全球信息化的一個重要應用領域。近年來我國的互聯網發(fā)展尤為迅速,但是我國網上購物的比例與網上購物發(fā)達的美國相比相差甚遠,網上購物人數發(fā)展?jié)摿薮?市場空間很大,只要中小企業(yè)開展網上交易,就一定會有收獲。 </p&
18、gt;<p> 我國現在的網上商城目前主要分為3大類。一類是大的門戶網站建立的商城。諸如搜狐、新浪、網易、卓越等。第二類是各家公司及個體自己建立的銷售網站。信用不一、價格也不一。第三類是交易平臺類,比較大的有:易趣、淘寶、一拍。所謂交易平臺即網站本身不經營任何商品,只是建立一個平臺供注冊用戶買賣商品使用。在美、日等信息化程度較高的國家和地區(qū),網絡商店發(fā)展速度迅猛,美國的世界級超一流的零售商,如沃爾瑪、凱瑪特、家庭倉儲、科
19、羅格、J.C培尼等紛紛躋身于網絡經商的行列。調查表明:美國的家庭己越來越習慣于在家中從網上購物。所以網上購物已成為人們生活中必不可少的部分。</p><p> 1.3主要研究內容及目標</p><p> 本論文主要研究和解決網上購物商城系統(tǒng)的可行性和需求、數據庫設計、主要功能模塊設計與實現、開發(fā)過程中重難點的解決情況。本系統(tǒng)利用現在比較廣泛的JavaEE技術和Oracle數據庫的架構實
20、現的,進行系統(tǒng)的分析,從消費者的角度去思考,怎么實現足不出戶就可以買到所有的商品。從而實現信息化,規(guī)范化,系統(tǒng)化,網絡化的平臺,具有較好的適應性和推廣性。此系統(tǒng)分為前臺管理和后臺管理兩個部分。前臺管理是友好的操作界面,供用戶瀏覽、查詢使用。大概包括:瀏覽商品、查詢商品、購物車、用戶維護等功能;后臺管理是提供給管理員的,其中包括:商品管理、用戶管理、訂單管理等。使管理員從繁瑣的手工操作中解脫出來,并提高了辦公效率。</p>
21、<p> 第二章系統(tǒng)可行性分析和需求分析</p><p><b> 2.1 系統(tǒng)定義</b></p><p> 網上商城系統(tǒng)通過建立一個網上購物系統(tǒng)以實現對商務零售企業(yè)提供信息化管理;解決了傳統(tǒng)企業(yè)的商業(yè)運作中與供應商、代理商、分銷商之間的溝通與數據交互問題。那么本網站能夠為客戶提供在線銷售管理平臺和周到便利的服務。 </p>&l
22、t;p> 2.2系統(tǒng)可行性分析</p><p> 2.2.1 技術的可行性</p><p> 本系統(tǒng)采用MVC設計模式,使用當前最流行的開源的SSH框架即:Struts2、Spring、Hibernate的開發(fā)和管理用戶界面,目前J2EE技術已經非常成熟,結合JSP,Servlet及利用輕巧的JavaScript使開發(fā)更加高效,提示信息更加完善,界面更加友好。后臺采用Oracl
23、e數據庫完全能夠實現并達到上述功能目標。本系統(tǒng)采用開源的Java開發(fā)工具Eclipse和Tomcat服務器進行程序的開發(fā)和發(fā)布。就目前的技術來說,在規(guī)定時間內是可以定期完成的,所以在技術上是可行的。</p><p> 2.2.2 經濟的可行性</p><p> 系統(tǒng)中應用的開發(fā)工具及技術框架都是免費的,這無疑壓縮了開發(fā)網站的成本,從成本可行性分析來看,該系統(tǒng)充分體現了將產品利益最大化的
24、企業(yè)原則。</p><p> 2.2.3 操作的可行性</p><p> 本系統(tǒng)主要面向的是喜歡網購的網友,只要本系統(tǒng)的用戶會一些簡單的計算機操作,就可以網上購物,不需要用戶具有較高的計算機專業(yè)知識,而且對于網站基本信息的維護也是十分簡單,管理員可以在任何一臺并入網絡的計算機上對網站進行維護。在實體店鋪的業(yè)務方面,由于日常信息處理量大,耗費時間長,出錯效率高,在系統(tǒng)投入運行后,可以實現
25、業(yè)務中的信息集中處理、分析利用信息息和信息的交流輔助市場的業(yè)務監(jiān)管和重大決定。并且可以實現實體店鋪進一步向網絡服務發(fā)展,為信息工作打下良好的基礎。網站的簡單易用性充分說明了本系統(tǒng)的操作可行性。</p><p><b> 2.3系統(tǒng)需求分析</b></p><p> 2.3.1 用戶需求</p><p> 本系統(tǒng)需要實現的用戶需求分為三類:
26、</p><p> (1) 游客:沒有登錄權限。此類用戶只能進行瀏覽商品、查看商品的基本信息、進行用戶注冊。</p><p> (2) 用戶:已在系統(tǒng)中注冊。此類用戶必須在登錄頁輸入用戶名和密碼,輸入正確后才可以進入操作界面使用各項功能。如果輸入錯誤,則系統(tǒng)會顯示登錄錯誤的提示信息。此類用戶除了包含游客所有權限外還可以將商品加入購物車,可以對購物車中的商品進行數量選擇,或者是刪除不想要
27、的商品,可以修改個人信息,可以根據購物車生成訂單,查看訂單。</p><p> (3) 管理員:系統(tǒng)管理員主要是管理后臺信息。主要有商品管理,訂單管理,用戶管理。商品管理主要有添加商品、刪除商品、修改商品。用戶管理主要有查詢用戶、刪除用戶,查看用戶個人信息。</p><p> 2.3.2 系統(tǒng)功能需求</p><p> 本系統(tǒng)主要具有如下功能:</p&g
28、t;<p> (1) 瀏覽功能:列出所有記錄進行瀏覽或者選定一項記錄進行瀏覽商品、瀏覽用戶、瀏覽訂單。</p><p> (2) 查詢功能:使用名字或者屬性匹配查詢商品、用戶、訂單。</p><p> (3) 刪除功能:刪除用戶、商品、訂單。</p><p> (4) 修改功能:修改商品信息、用戶信息、購物車信息、訂單信息。</p>
29、<p> (5) 增加功能:增加商品、用戶、訂單,添加商品到購物車。</p><p> (6) 驗證功能:輸入信息與數據庫信息進行匹配,輸入是否符合規(guī)范,例如:用戶賬號不能包含特殊字符。</p><p><b> 2.3.3界面需求</b></p><p> 本系統(tǒng)界面要求如下:</p><p>
30、 (1) 界面中的文字標識,含義準確、清楚、用通用詞匯。</p><p> (2) 界面中基本信息部分盡量都采用下拉框選擇方式或者單選按鈕。降低人為誤操作錯誤;減少手工輸入工作量;規(guī)范基本信息的一致性。</p><p> (3) 對于數值類型數據輸入部分,采用可編輯的輸入框,并對輸入的內容進行校驗,避免輸入非數值數據。</p><p> (4) 對于有關聯的內
31、容,要有數據過濾。</p><p> (5) 數據量大時,采用分頁瀏覽的形式。</p><p> 2.4相關理論和技術</p><p> 2.4.1 Java語言簡介</p><p> Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設計語言和Ja
32、va平臺(即JavaSE,JavaEE,JavaME)的總稱。Java技術具有卓越的通用性、高效性、平臺移植性和安全性。用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態(tài)的Web、Internet計算。從此,Java被廣泛接受并推動了Web的迅速發(fā)展.。</p><p> Java由四方面組成:Java編程語言、Java類文件格式、Java虛擬機和Java應用程
33、序接口(Java API)。</p><p> Java平臺由Java虛擬機(Java Virtual Machine,簡稱JVM)和Java 應用編程接口(Application Programming Interface,簡稱API)構成。Java應用編程接口為Java應用提供了一個獨立于操作系統(tǒng)的標準接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應用程序就可運行。
34、Java平臺已經嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運行。</p><p> Java分為三個體系J2SE(Java2 Platform Standard Edition,java平臺標準版),J2EE(Java 2 Platform,Enterprise Edition,java平臺企業(yè)版),J2ME(Java 2 Platform Micro Edition,java
35、平臺微型版)。</p><p> Sun 公司對 Java 編程語言的解釋是:Java 編程語言是個簡單、面向對象、分布式、解釋性、健壯、安全與系統(tǒng)無關、可移植、高性能、多線程和動態(tài)的語言。</p><p> 2.4.2 SSH簡介</p><p> SSH在J2EE項目中表示了3種框架,即Spring + Struts2 +Hibernate。Struts2
36、對Model、View和Controller都提供了對應的組件。Spring是一個輕量級的控制反轉(IOC)和面向切面(AOP)的容器框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,可以應用在任何使用JDBC的場合,可以在Servlet/J
37、SP的Web應用中使用,也可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。</p><p> 2.4.3 MVC簡介</p><p> MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用于組織代碼用一種業(yè)務邏輯和數據顯示分離的方法,這個方法的假設前提是如果業(yè)務邏輯被
38、聚集到一個部件里面,而且界面和用戶圍繞數據的交互能被改進和個性化定制而不需要重新編寫業(yè)務邏輯MVC被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。</p><p> 視圖是用戶看到并與之交互的界面,作用包括向用戶顯示相關的數據、接受用戶的輸入、向模型查詢業(yè)務狀態(tài)、接受模型發(fā)出的數據更新事件,從而對用戶界面進行同步更新。</p><p> 模型表示業(yè)
39、務數據和業(yè)務邏輯,是應用程序的主體部分。一個模型能為多個視圖提供數據,因此提高了代碼的可重用性。</p><p> 控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求。當Web用戶單擊Web頁面中的遞交按鈕來發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。控制器接收請求并決定調用哪個模型組件去處理請求,然后決定調用哪個視圖來顯示模型處理返回的數據。</p><p> 2.4
40、.4 SQL語言</p><p> SQL Structure Query Language(結構化查詢語言)是高級的非過程化編程語言,是溝通數據庫服務器和客戶端的重要工具,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以,具有完全不同底層結構的不同數據庫系統(tǒng),可以使用相同的SQL語言作為數據輸入與管理的接口。它以記錄集合作為操作對象,所有SQL語句接受集
41、合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使它具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的功能只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。</p><p> SQL語言包含3個部分:</p><p> 數據定義語言Data Definiti
42、on Language(DDL),用來建立數據庫、數據對象和定義其列。定義:definition/ 例如:CREATE、DROP、ALTER等語句。</p><p> 數據操作語言Data Manipulation Language(DML),用來插入、修改、刪除、查詢,可以修改數據庫中的數據。操作:make/ 例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句、SELECT(查詢)&l
43、t;/p><p> 數據控制語言Data Controlling Language(DCL),用來控制數據庫組件的存取允許、存取權限等??刂疲篶ontrol/ 例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。</p><p> SQL 是一門 ANSI 的標準計算機語言,用來訪問和操作數據庫系統(tǒng)。SQL 語句用于取回和更新數據庫中的數據。SQL 可與數據庫程序協同工作
44、,比如MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase以及其他數據庫系統(tǒng)。</p><p> 第三章 系統(tǒng)總體設計</p><p><b> 3.1系統(tǒng)設計目標</b></p><p> 本系統(tǒng)主要構建一個能夠提供用戶網上購物服務的商品購物網站系統(tǒng),實現對用戶和商品各方面信息的管理。網
45、上購物具有很多傳統(tǒng)購物方式不可比擬的優(yōu)點,可以幫助企業(yè)節(jié)約成本、提高工作效率,突破了商業(yè)往來上時間和空間的限制,方便快捷,對企業(yè)和消費者來說都有益處。具體實現目標如下:</p><p> 1. 實現對用戶信息的管理。</p><p> 2.實現對商品信息的管理</p><p> 3. 實現對用戶購物車信息的管理</p><p> 4.
46、 實現對用戶訂單信息的管理</p><p> 5.系統(tǒng)易維護和易操作。</p><p> 6.系統(tǒng)運行穩(wěn)定、可靠。</p><p> 7.系統(tǒng)的擴張性、信息的安全性高。</p><p><b> 開發(fā)環(huán)境:</b></p><p> 1.操作系統(tǒng):WINDOWS XP;</p>
47、;<p> 2.運行工具:IE 6.0</p><p> 3.開發(fā)工具:MyEclipse 8.5</p><p> 4.數據庫: Orcle</p><p> 5.服務器: Tomcat 6.0</p><p> 3.2系統(tǒng)模塊總體設計</p><p> 網上商城系統(tǒng)所需要實現的功能可以細
48、分為以下幾個模塊:前臺展示、后臺管理,這兩個模塊下還有具體的幾個子模塊。系統(tǒng)的總體結構圖如圖3-1:</p><p><b> 3-1系統(tǒng)總體結構</b></p><p> 由圖可以看出本系統(tǒng)主要功能模塊,其中本系統(tǒng)前臺展示主要分為5個模塊,詳細描述如下:</p><p> (1) 注冊模塊:該模塊負責游客填寫用戶基本資料,注冊登錄賬戶和
49、密碼。</p><p> (2) 登錄模塊:該模塊負責游客注冊成為用戶后登錄系統(tǒng)。</p><p> (3) 商品瀏覽模塊:該模塊負責供游客和用戶查找商品使用,同時游客和用戶也可以瀏覽商品基本信息。</p><p> (4) 購物車模塊:該模塊負責用戶在登錄系統(tǒng)后瀏覽喜歡的商品,選擇想要的商品加入購物車。用戶可以對購物車中的商品進行數量選擇,或者是刪除不想要的
50、商品,即時計算采購金額。</p><p> (5)訂單模塊:該模塊負責用戶根據購物車生成訂單,查看訂單。在購物車中確認所購商品信息后,點擊確認訂單,完成填寫訂單內送貨方式,郵寄地址等信息,確認后生成訂單。用戶可以隨時查看訂單當前的處理情況。</p><p> 本系統(tǒng)后臺管理主要分為3個模塊,詳細描述如下:</p><p> (1) 用戶管理模塊:該模塊負責管理
51、注冊成為系統(tǒng)用戶的信息,可以進行查詢用戶,查看用戶信息,刪除用戶操作。</p><p> (2) 商品管理模塊:該模塊負責管理員進行添加商品,查看商品信息,修改商品信息,查詢商品操作。其中添加商品與修改商品要實現圖片的上傳。通過該模塊實現了系統(tǒng)中商品的更新與添加。</p><p> 訂單管理模塊:該模塊負責管理員進行查詢訂單操作,并對訂單進行處理,標記該訂單的處理狀態(tài)。通過該模塊處理用
52、戶提交的訂單,從而是用戶順利地完成購物。</p><p> 3.3 系統(tǒng)流程分析</p><p> 系統(tǒng)功能流程圖主要體現用戶和管理員操作系統(tǒng)功能的一個流程,展示出用戶和管理員 可以進行怎樣的操作。本系統(tǒng)的功能流程圖如下圖3-2所示:</p><p> 圖3-2系統(tǒng)功能流程圖</p><p> 圖3-1為系統(tǒng)功能流程圖,從圖中可以看出
53、登錄系統(tǒng)后分為普通用戶和管理員。普通用戶可以直接進入商城主頁瀏覽商品,查看商品信息,購買商品。管理員進入系統(tǒng)可以進行商品管理,訂單管理,用戶管理。</p><p><b> 3.4數據庫設計</b></p><p> 在進行數據庫設計時應考慮以下因素:</p><p> (1) 確定數據對象的命名規(guī)范</p><p&g
54、t; 一定要定義數據庫對象的命名規(guī)范,可以考慮用約定好的前綴或后綴:對表來說,表名可以加上前綴T_,對表內的列[字段]來說,采用全大寫字母。對于String類型的數據,在數據庫中都使用VARCHAR2數據類型。</p><p> (2) 仔細選擇數據類型</p><p> 在命名字段并為其指定數據類型的時候一定要保證一致性。</p><p> (3) 給文本
55、字段留足余量</p><p> ID等類型的文本字段,應該設置得比一般想象更大。</p><p> (4) 使用系統(tǒng)生成的主鍵</p><p> 假如在設計數據庫的時候采用系統(tǒng)生成的鍵作為主鍵,那么就實際控制了數據庫的索引完整性。這樣,數據庫和非人工機制就有效地控制了對存儲數據中每一行的訪問。采用系統(tǒng)生成鍵作為主鍵還有一個優(yōu)點:當擁有一致的鍵結構時,很容易找到
56、邏輯缺陷。</p><p> (5) 對每張表添加備用字段</p><p> 在設計表字段時,為每張表預備兩個備用字段,防止在數據庫建好后,編寫代碼中發(fā)現表中缺少字段時,去重新生成數據庫。這樣就減少工作量,為系統(tǒng)實現縮短時間。</p><p> 3.4.1 數據庫的選擇</p><p> 幾乎所有的應用程序都需要存放大量的數據,并將其
57、組織成易于讀取的格式,這種要求通??梢酝ㄟ^數據庫管理系統(tǒng)(DBMS)來實現。簡單的說,數據庫就是一組排列成易于處理和讀取的相關信息的集合,因此,數據庫結構設計的好壞直接對應系統(tǒng)的效率以及實現的效果產生的影響。合理的數據庫結構設計可以提高數據存儲的效率,保證數據的完整和一致。</p><p> 本系統(tǒng)采用了Oracle作為數據庫。Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是
58、甲骨文公司的一款關系數據庫管理系統(tǒng)。Oracle數據庫是目前世界上使用最為廣泛的數據庫管理系統(tǒng),作為一個通用的數據庫系統(tǒng),它具有完整的數據管理功能;作為一個關系數據庫,它是一個完備關系的產品;作為分布式數據庫它實現了分布式處理功能。它擁有可用性強、可擴展性強、數據安全性強、穩(wěn)定性強的優(yōu)點,而且處理速度快,非常快、安全級別高,支持快閃以及完美的恢復,即使硬件壞了,也可以恢復到故障發(fā)前的1s、幾臺數據庫做負載數據庫,可以做到30s以內故障轉
59、移,網格控制,以及數據倉庫方面也非常強大,所以選擇Oracle作為本系統(tǒng)的數據庫。</p><p> 3.4.2 數據庫表的描述</p><p> 數據庫設計是整個數據庫應用系統(tǒng)開發(fā)過程中最重要的一個環(huán)節(jié),它具體分為兩個部分:一是概念設計,即E-R圖的設計;二是邏輯結構設計,即表、字段的設計。 </p><p> 本網站表示實體及其聯系的E-R圖,見圖3—3。
60、</p><p> 圖3—3系統(tǒng)實體E—R圖</p><p><b> 1用戶表:</b></p><p> T_USER表用來記錄所有人員的基本信息,表中USERID即用戶標識為該表的主鍵,為數據庫自動生成。該表記錄了用戶的登錄賬號(USERACCOUNT)、密碼(USERPASSWORD)以及用戶昵稱(USERNAME)、性別(USE
61、RSEX)等用戶的基本信息,其中用戶標識是不能為空的,用戶備注1與用戶備注2是作為備用字段,而備用戶注1已用作為假刪除標記字段。該表的表結構如下表3-1所示:</p><p><b> 表 3-1 用戶表</b></p><p><b> 2商品表:</b></p><p> T_GOODS表記錄商品信息,表中GOO
62、DSID即商品標識為主鍵,ORDERID即訂單標識為外鍵。該表記錄了商品名稱(GOODSNAME)和商品品牌(BRAND)、生產商(PRODUCER)等信息,其中商品標識不能為空,商品備注1與商品備注2為備用字段,而商品備注1已用作為假刪除標記字段,商品原價與商品優(yōu)惠價可保留兩位小數點。該表的表結構如下表3-2商品表所示:</p><p><b> 表 3-2商品表</b></p&g
63、t;<p><b> 3訂單表:</b></p><p> T_ORDER表記錄訂單信息,表中ORDERID即訂單標識為主鍵,不能為空,USERID即用戶標識與GOODSID即商品標識為外鍵。該表記錄了郵寄方式(DELIVERWAY)、郵寄地址(DELIVERPLACE)、付款方式(PAYWAY)等信息。訂單備注1與訂單備注2為備用字段,而訂單備注1已用作為假刪除標記字段,
64、訂單備注2已用作為訂單處理狀態(tài)字段。該表的表結構如下表3-3訂單表所示:</p><p><b> 表 3-3訂單表</b></p><p><b> 4 購物車表:</b></p><p> T_SHOPPINGBANG表記錄購物車信息,表中的SHOPBAGID即購物車標識為主鍵,不能為空,USERID即用戶標識作
65、為購物車表的外鍵。購物車備注1與購物車備注2為備用字段,而購物車備注1已用作為假刪除標記字段。該表的表結構如下表3-4購物車表所示:</p><p><b> 表 3-4購物車表</b></p><p><b> 5 購買商品表:</b></p><p> T_MYGOODS表記錄用戶購買商品的信息,表中的MYGOO
66、DSID即購買商品標識為主鍵,SHOPBAGID即購物車與GOODSID即商品標識為外鍵,都不能為空。該表還記錄了購買商品的數量。購買商品備注1與購買商品備注2為備用字段,而購買商品備注1已用作為假刪除標記字段。該表的表結構如下表3-5購買商品表所示:</p><p> 表 3-5購買商品表</p><p> 3.4.3數據庫表關系</p><p> 用戶表與
67、訂單表是一對多的關系,商品表與訂單表是一對一的關系,購物車表與購買商品表是一對多的關系,商品表與購買商品表是一對多的關系,用戶表與購物車表是一對多的關系。各個表之間關系都是使用各表標識字段進行關聯,各表標識字段在實際中沒有太多含義,只是作為表主外鍵關系存在。</p><p><b> 3.5界面設計</b></p><p> 界面是交互的接口,也是評價系統(tǒng)好壞的重
68、要指標,在設計界面時要注意以下設計原則:</p><p> 1.簡單明了:用戶的操作要盡可能以最直接最形象且易于理解的方式呈現在用戶面前。對操作接口,直接點擊高于右鍵操作,文字表示要高于圖標示意,盡可能的符合用戶對類似系統(tǒng)的識別習慣。</p><p> 2.方便使用:符合用戶習慣是方便使用的第一原則。其它還包括,實現目標功能的最少操作數原則,鼠標移動距離最短原則等。</p>
69、<p> 3. 用戶導向:為了方便用戶盡快熟悉系統(tǒng),簡化操作,應該盡可能的提供向導性質的操作流程。</p><p> 4. 實時幫助:用戶需要能隨時響應問題的用戶幫助。</p><p> 5. 提供高級自定義功能:為熟悉計算機及軟件系統(tǒng)的高級用戶設置自定義功能,可以對已經確定的常規(guī)操作以及系統(tǒng)的方方面面進行符合自身習慣的自定義設置。包括常規(guī)操作、界面排版、界面樣式等種種
70、自定義。</p><p> 6. 界面要求:計算機屏幕的發(fā)光成像和普通視覺成像有很大的不同,應該注意這種差別做出恰當的色彩搭配。對于需用戶長時間使用的系統(tǒng),應當使用戶在較長時間使用后不至于過于感到視覺疲勞為宜。例如輕松的淡彩為主配色,灰色系為主配色等等。切忌色彩過多,花哨艷麗,嚴重妨礙用戶視覺交互。系統(tǒng)樣式排版整齊劃一,盡可能劃分不同的功能區(qū)域于固定位置,方便用戶導航使用;排版不宜過于密集,避免產生疲勞感。&l
71、t;/p><p> 經過需求階段對用戶需求和系統(tǒng)業(yè)務的潛在需求的分析與確定,最終確定系統(tǒng)界面樣式風格,具體顯示樣式如下:</p><p><b> 圖3-4商城主界面</b></p><p> 第四章系統(tǒng)的詳細設計與實現</p><p> 4.1 程序設計原則及質量要求</p><p>
72、在系統(tǒng)設計中綜合考慮如下因素:</p><p> (1) 技術的先進性,符合網絡發(fā)展的趨勢。</p><p> (2) 滿足人們的需要,節(jié)省時間。</p><p> (3) 提高工作效率,滿足網絡現在和將來的數據傳輸需求。</p><p> (4) 實用性、靈活性、模塊化、擴充性、經濟性、安全性。</p><p&g
73、t; 在設計階段,我們將集中研究系統(tǒng)的軟件實現問題,即在分析模型的基礎上形成實現環(huán)境下的設計模型。</p><p> (5)對于質量要求,要求系統(tǒng)能達到文檔設計要求,在運行時正常,無較大的差錯。</p><p><b> 4.2重難點實現</b></p><p> 4.2.1 MVC的實現</p><p> M
74、VC即controller、model、view,其中頁面為view。將后臺代碼分為三層即dao層、service層、action層后,action層為controller,dao層與service層為model。dao層主要是對數據庫的增刪查改工作,service層主要進行業(yè)務邏輯,在這兩層中都進行了接口設計,這樣設計顯得機構非常清晰,程序顯得非常簡潔,action層主要負責接收頁面數據在傳遞到service層,從service得到數
75、據選擇哪個頁面進行顯示。</p><p> 4.2.2圖片上傳實現</p><p> 在增加頁面中需要實現商品圖片的上傳,那么就需要在form標簽中enctype的值要等于multipart/form-date,在form表單中文件上傳代碼為:</p><p> <input type="file" name="upload
76、" id="file1" /></p><p> 在對應的后臺action設置接收上傳的內容與名字的屬性,分別為File類型屬性upload,String類型的屬性uploadFileName,再分別寫上get/set方法就能獲取頁面?zhèn)鬟f的圖片內容與圖片名字。對圖片進行處理的代碼為:</p><p> String saveFilePath = &
77、quot;G:/work/MyShop/WebRoot/images/";</p><p> InputStream is = null;</p><p><b> try {</b></p><p> is = new FileInputStream(upload);</p><p> goods.s
78、etGoodsimage("images/"+uploadFileName);</p><p> OutputStream os = new FileOutputStream(saveFilePath+uploadFileName);</p><p> byte[] b = new byte[2048];</p><p> while (i
79、s.read()==-1 ) {</p><p> os.write(b);</p><p><b> }</b></p><p> is.close();</p><p> os.close();</p><p> } catch (FileNotFoundException e) {
80、</p><p> e.printStackTrace();</p><p> } catch (IOException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> 將圖片保存在指定的物理地址中,在數據庫中
81、保存的是圖片的相對路徑。</p><p> 4.2.3 SSH框架的整合</p><p> 1 web.xml的配置</p><p> 對Struts2、Spring、Hibernate的整合,首先得把三個框架的jar包導入,其次在web.xml文件配置Struts2過濾器,Hibernate過濾器,Spring監(jiān)聽器。Struts2過濾器配置如下:</
82、p><p><b> <filter></b></p><p> <filter-name>struts2</filter-name></p><p> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAnd&
83、lt;/p><p> ExecuteFilter</filter-class></p><p><b> </filter></b></p><p> <filter-mapping></p><p> <filter-name>struts2</filter-n
84、ame></p><p> <url-pattern>/*</url-pattern></p><p> </filter-mapping></p><p> 配置了后請求都會通過這個過濾器轉給Strust2來處理,Struts2再應用自己的攔截器來交給Action處理。Hibernate過濾器的配置如下:</p
85、><p><b> <filter></b></p><p> <filter-name>hibernateFilter</filter-name></p><p> <filter-class>org.springframework.orm.hibernate3.support.OpenSes
86、sionInViewFilter</p><p> </filter-class></p><p><b> </filter></b></p><p> <filter-mapping></p><p> <filter-name>hibernateFilter&
87、lt;/filter-name></p><p> <url-pattern>/*</url-pattern></p><p> </filter-mapping></p><p> 該過濾器是有Spring提供的,配置了后表明它允許在事物提交之后延遲加載顯示所需要的對象,OpenSessionInViewFilter
88、 過濾器將Hibernate Session 綁定到請求線程中,它將自動被 Spring 的事務管理器探測到。Spring監(jiān)聽器配置如下:</p><p> <context-param></p><p> <param-name>contextConfigLocation</param-name></p><p> <
89、;param-value>classpath*:applicationContext-*.xml,/WEB-INF/</p><p> applicationContext-*.xml</p><p> </param-value></p><p> </context-param></p><p> &
90、lt;listener></p><p> <listener-class>org.springframework.web.context.ContextLoaderListener</p><p> </listener-class></p><p> </listener></p><p>
91、; ContextLoaderListener的作用就是啟動Web容器時,自動裝配ApplicationContext的配置信息,而配置信息就從context-param中配置的去找。</p><p> 2 Spring配置文件的配置</p><p> 由于Spring配置的信息比較多,所以將使用多個Spring配置文件,action,service,dao的依賴注入配置各使用一個配
92、置文件,以免放在一個文件中造成臃腫、混亂。一個作為Spring的主配置文件,主要配置數據源,session工廠等。Spring的主配置文件中數據源的配置如下:</p><p> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"</p><p> d
93、estroy-method="close"></p><p> <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"></property></p><p> <property name="jdb
94、cUrl" value="jdbc:oracle:thin:@localhost:1521:orcl"></p><p> </property></p><p> <property name="user" value="cx"></property></p>
95、<p> <property name="password" value="cx123"></property></p><p> <property name="maxPoolSize" value="100"></property></p><p&
96、gt; <property name="minPoolSize" value="1"></property></p><p><b> </bean></b></p><p> 在數據源配置中,配置了數據庫驅動、JDBC連接的URL、登錄數據庫的用戶名與密碼以及最大連接數和最小連接數。s
97、ession工廠的配置如下:</p><p> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.</p><p> LocalSessionFactoryBean"></p><p> <property name=
98、"dataSource" ref="dataSource"></property></p><p> <property name="hibernateProperties"></p><p><b> <props></b></p><p&g
99、t; <prop key="hibernate.dialect"></p><p> org.hibernate.dialect.OracleDialect</prop></p><p> <prop key="hibernate.show_sql">true</prop></p>
100、<p> <prop key="hibernate.format_sql">true</prop></p><p><b> </props></b></p><p> </property></p><p> <property name="
101、mappingResources"></p><p><b> <list></b></p><p> <value>com/cx/bean/TGoods.hbm.xml</value></p><p> <value>com/cx/bean/TMygoods.hbm.xml
102、</value></p><p><b> …… ……</b></p><p><b> </list></b></p><p> </property></p><p><b> </bean></b></p>
103、;<p> 這個sessionFactory依賴于之前配置的數據源,配置了Hibernate會話、配置了是否需要在控制臺規(guī)范的打印SQL語句,在把數據庫映射文件配置進來。有關于事物的配置如下,首先先配置事物管理器:</p><p> <bean id="txManager" class="org.springframework.orm.hibernate3.&
104、lt;/p><p> HibernateTransactionManager"></p><p> <property name="sessionFactory"><ref bean="sessionFactory"/></p><p> </property></p
105、><p><b> </bean></b></p><p> 事物是依賴于之前配置的session工廠。再次是配置事物的傳播特性:</p><p> <tx:advice id="txAdvice" transaction-manager="txManager"></p&g
106、t;<p> <tx:attributes></p><p> <tx:method name="*" propagation="REQUIRED"/></p><p> </tx:attributes></p><p> </tx:advice></
107、p><p> 配置propagation等于REQUIRED表示如果存在一個事務,則使用當前事務,如果沒有,則開啟一個新的事務。最后是配置那些類的那些方法參與事物:</p><p> <aop:config></p><p> <aop:pointcut id="allManagetMethod"expression=&quo
108、t;execution</p><p> (*com.cx.service.*.*(..)) || execution(*com.cx.Service.*.*.*(..)) " /></p><p> <aop:advisor pointcut-ref="allManagetMethod" advice-ref="txAdvice&q
109、uot; /></p><p> </aop:config></p><p> 也就是Spring AOP的配置。以上的配置是Spring對對hibernate的聲明式事務支持,在dao需要對象繼承HibernateDaoSupport,調用getHibernateTemplate。</p><p> 3 struts.xml的配置</
110、p><p> 在struts.xml的配置中配置了動態(tài)方法調用如下所示:</p><p> <constant name="struts.enable.DynamicMethodInvocation" value="true" /></p><p> 配置后表示可以在頁面上指定調用action的某個方法。配置了開
111、發(fā)模式如下:</p><p> <constant name="struts.devMode" value="true" /></p><p> 是為了方便系統(tǒng)開發(fā)時進行調試。配置了對象池如下:</p><p> <constant name="struts.objectFactory&quo
112、t; value="spring"></constant></p><p> 表示將action的創(chuàng)建交給Spring去管理。對于action的配置是獨立出來配置在引進到struts.xml文件,其引進配置如下:</p><p> <include file="com/cx/struts/TGoods-struts.xml"
113、;></include></p><p> 需要注意action的配置中action標簽的class屬性的值與applicationContext*.xml配置bean標簽的id值一樣。</p><p> 4.3用戶注冊界面實現</p><p><b> 4.3.1功能描述</b></p><p&g
114、t; 用戶注冊界面如下圖4-1所示,主要是用于提供給需要進行購物但沒有賬號的用戶,用戶需要填完這些,完成注冊后才能登陸。圖中帶星號都為必填項,都是需要使用JavaScript寫驗證,驗證賬號、密碼、電話號碼、身份證、昵稱長度,賬號、密碼、昵稱不能包含特殊字符,電話號碼與身份證只能為數字,Email格式是否正確。</p><p><b> 4.3.2界面風格</b></p>
115、<p> 圖 4-1用戶注冊界面</p><p><b> 4.3.3具體實現</b></p><p> 功能的具體實現是指從Jsp頁面編寫到后臺代碼是怎樣去實現這個功能的工作流程。在這里以用戶注冊即對用戶表進行增加一條數據的功能為例。</p><p> 在用戶注冊頁面regist.jsp中編寫form表單,form標簽中ac
116、tion屬性的值為該form表單中所有數據所需要提交到的action,而method的值為數據提交到后臺的方式,只有post與get兩種,需要注意的是在form表單中的輸入框中的name屬性值一定得是user.用戶屬性名,否則后臺將不能接收到數據。代碼示例如下:</p><p> <form action="registAction.action" method="post&
117、quot;></form></p><p> 而action的值中還可以在.action后加感嘆號再加方法名,表示調用提交到action中的某個方法。當用戶正確填寫資料后點擊注冊系統(tǒng)會根據form標簽中的action從TUSER-struts.xml中查找對應的action。找到的action代碼如下:</p><p> <action name="r
118、egistAction" class="UserAction" method="registUser"></p><p> <result name="success"></p><p> /page/frontJsp/login.jsp</p><p><b>
119、 </result></b></p><p> <result name="fail"></p><p> /page/frontJsp/regist.jsp</p><p><b> </result></b></p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機專業(yè)畢業(yè)論文----網上商城系統(tǒng)設計
- 計算機專業(yè)本科畢業(yè)論文--網上珠寶店的設計與實現
- 計算機專業(yè)本科畢業(yè)論文
- 計算機專業(yè)本科畢業(yè)論文
- 計算機專業(yè)本科畢業(yè)論文
- 網上商城購物系統(tǒng)計算機專業(yè)畢業(yè)設計論文
- 網上商城計算機畢業(yè)設計論文
- 計算機專業(yè)本科畢業(yè)論文(招聘管理系統(tǒng))
- 計算機科學與技術專業(yè)本科畢業(yè)論文(設計)
- 計算機科學與技術專業(yè)本科畢業(yè)論文
- 網上商城本科畢業(yè)論文-基于web的電子商城的設計與實現
- 畢業(yè)論文——網上商城系統(tǒng)的設計與實現
- 廈門大學計算機專業(yè)本科畢業(yè)論文
- 畢業(yè)論文--網上商城的設計與實現
- 河南大學2016屆本科畢業(yè)論文-校園購網上商城設計與實現
- 網上商城畢業(yè)論文--網上購物商城設計和實現
- 計算機與信息學院信計專業(yè)本科畢業(yè)論文(設計)
- 網上商城系統(tǒng)畢業(yè)論文
- 網上商城網站的設計與實現畢業(yè)論文
- 計算機科學與技術專業(yè)本科畢業(yè)論文小區(qū)物業(yè)管理系統(tǒng)
評論
0/150
提交評論