版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)論文(設(shè)計(jì))</p><p> ?。?9屆本科畢業(yè)生)</p><p> 題 目: 網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 學(xué)生姓名: </p><p> 學(xué)生學(xué)號: </p><p>
2、 學(xué)院名稱: 科信軟件學(xué)院 </p><p> 專業(yè)名稱: 軟件工程 </p><p> 指導(dǎo)教師: </p><p> 二零一三 年 五 月</p><p> 【摘 要】隨著Internet技術(shù)的發(fā)展,人們的生活已經(jīng)
3、離不開網(wǎng)絡(luò)。當(dāng)消費(fèi)者在市場上花了大量時(shí)間卻找不到滿意的商品時(shí),基于網(wǎng)絡(luò)的購物的興起就成為了必然。網(wǎng)上商城系統(tǒng)設(shè)計(jì)目的是為了方便消費(fèi)者不出門就能買到自己滿意的商品。本系統(tǒng)利用JAVA語言開發(fā)和Oracle數(shù)據(jù)庫,采用SSH三大框架技術(shù),實(shí)現(xiàn)了一個(gè)基于B/S模式的網(wǎng)上商城系統(tǒng)。本文闡述了網(wǎng)上商城系統(tǒng)的現(xiàn)狀及應(yīng)用意義,并重點(diǎn)對系統(tǒng)的分析、設(shè)計(jì)與實(shí)現(xiàn)的過程作了詳細(xì)的介紹。網(wǎng)上商城系統(tǒng)能夠?qū)崿F(xiàn)用戶通過注冊并登錄后訪問商城,通過查詢選擇喜愛的物品到
4、購物車。管理員登錄后,可查看所售商品的相關(guān)信息,并可對商品進(jìn)行增刪改查等操作;可查看訂單情況,進(jìn)行操作。</p><p> 【關(guān)鍵詞】Java,網(wǎng)上商城系統(tǒng),SSH,B/S結(jié)構(gòu),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相關(guān)領(lǐng)域的發(fā)展?fàn)顩r1</p><p> 1.3主要研究內(nèi)容及目標(biāo)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相關(guān)理論和技術(shù)5</p><p> 第三章 系統(tǒng)總體設(shè)計(jì)8</p><p> 3.1系統(tǒng)設(shè)計(jì)目標(biāo)8</p><p> 3.2系統(tǒng)模塊總體設(shè)計(jì)8
10、</p><p> 3.3 系統(tǒng)流程分析10</p><p> 3.4數(shù)據(jù)庫設(shè)計(jì)10</p><p> 3.5界面設(shè)計(jì)14</p><p> 第四章系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)16</p><p> 4.1 程序設(shè)計(jì)原則及質(zhì)量要求16</p><p> 4.2重難點(diǎn)實(shí)現(xiàn)16&l
11、t;/p><p> 4.3用戶注冊界面實(shí)現(xiàn)21</p><p> 4.4后臺管理主界面實(shí)現(xiàn)24</p><p> 4.5用戶管理界面實(shí)現(xiàn)25</p><p> 4.6 商場主界面實(shí)現(xiàn)25</p><p> 4.7 購物車界面實(shí)現(xiàn)26</p><p> 4.8訂單界面實(shí)現(xiàn)27&
12、lt;/p><p> 第五章 系統(tǒng)測試28</p><p> 5.1 系統(tǒng)測試的目的28</p><p> 5.2 黑盒測試與白盒測試介紹28</p><p> 5.3 測試計(jì)劃29</p><p> 5.4 測試過程29</p><p> 第六章 總結(jié)34</p&g
13、t;<p><b> 后記35</b></p><p><b> 參考文獻(xiàn)36</b></p><p> 附錄一:對T_USER表增刪查改功能的MVC模式后臺所有代碼:37</p><p><b> 緒論</b></p><p> 1.1課題研究目
14、的意義</p><p> 近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費(fèi)者展示出一種新穎的購物理念。利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng),企業(yè)外部網(wǎng),通過廉價(jià)的通訊手段,將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,消除時(shí)間與空間帶來的障礙,從而大大的節(jié)約了交易成本,擴(kuò)大了
15、交易范圍。</p><p> 該系統(tǒng)可以提高經(jīng)營決策和計(jì)劃預(yù)見能力通過電子商務(wù)對各類客戶的需求可以超前做到全面地了解使企業(yè)有針對性地提前安排生產(chǎn)經(jīng)營計(jì)劃,占得市場先機(jī);促進(jìn)產(chǎn)品銷售根據(jù)電子商務(wù)信息庫中保存的大量客戶資料,通過快速的信息溝通,為客戶及時(shí)提供所需的產(chǎn)品和服務(wù);在及時(shí)獲得市場對新產(chǎn)品需求的同時(shí),電子商務(wù)系統(tǒng)將使企業(yè)小批量多批次和按需生產(chǎn)的靈活生產(chǎn)方式的特色得到更充分更有效的發(fā)揮,增強(qiáng)企業(yè)創(chuàng)新能力;企業(yè)
16、的電子商務(wù)化完全可以提供和傳統(tǒng)大型生產(chǎn)企業(yè)同等的與批發(fā)供應(yīng)商建立良好信譽(yù)關(guān)系和交易的機(jī)會;電子商務(wù)是企業(yè)能直接面向最終客戶,從而降低交易成本和客戶售后咨詢等服務(wù)費(fèi)用,尤其是對無形產(chǎn)品的服務(wù),現(xiàn)階段企業(yè)開展電子商務(wù)以加強(qiáng)與客戶的溝通和促進(jìn)產(chǎn)品銷售。因此開發(fā)一個(gè)網(wǎng)上購物商城系統(tǒng)可以使中小型企業(yè)擁有投資少、回收快,不受時(shí)間、店面空間地理位置限制的店面。也便于消費(fèi)者不出門便可購買自己中意的商品。 </p><p> 1
17、.2相關(guān)領(lǐng)域的發(fā)展?fàn)顩r</p><p> 互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并進(jìn)入傳統(tǒng)的流通領(lǐng)域,電子商務(wù)開始發(fā)展起來,一種全新的購物理念開始形成,并以其高效、快捷、方便的優(yōu)勢,成為經(jīng)濟(jì)全球化和全球信息化的一個(gè)重要應(yīng)用領(lǐng)域。近年來我國的互聯(lián)網(wǎng)發(fā)展尤為迅速,但是我國網(wǎng)上購物的比例與網(wǎng)上購物發(fā)達(dá)的美國相比相差甚遠(yuǎn),網(wǎng)上購物人數(shù)發(fā)展?jié)摿薮?市場空間很大,只要中小企業(yè)開展網(wǎng)上交易,就一定會有收獲。 </p&
18、gt;<p> 我國現(xiàn)在的網(wǎng)上商城目前主要分為3大類。一類是大的門戶網(wǎng)站建立的商城。諸如搜狐、新浪、網(wǎng)易、卓越等。第二類是各家公司及個(gè)體自己建立的銷售網(wǎng)站。信用不一、價(jià)格也不一。第三類是交易平臺類,比較大的有:易趣、淘寶、一拍。所謂交易平臺即網(wǎng)站本身不經(jīng)營任何商品,只是建立一個(gè)平臺供注冊用戶買賣商品使用。在美、日等信息化程度較高的國家和地區(qū),網(wǎng)絡(luò)商店發(fā)展速度迅猛,美國的世界級超一流的零售商,如沃爾瑪、凱瑪特、家庭倉儲、科
19、羅格、J.C培尼等紛紛躋身于網(wǎng)絡(luò)經(jīng)商的行列。調(diào)查表明:美國的家庭己越來越習(xí)慣于在家中從網(wǎng)上購物。所以網(wǎng)上購物已成為人們生活中必不可少的部分。</p><p> 1.3主要研究內(nèi)容及目標(biāo)</p><p> 本論文主要研究和解決網(wǎng)上購物商城系統(tǒng)的可行性和需求、數(shù)據(jù)庫設(shè)計(jì)、主要功能模塊設(shè)計(jì)與實(shí)現(xiàn)、開發(fā)過程中重難點(diǎn)的解決情況。本系統(tǒng)利用現(xiàn)在比較廣泛的JavaEE技術(shù)和Oracle數(shù)據(jù)庫的架構(gòu)實(shí)
20、現(xiàn)的,進(jìn)行系統(tǒng)的分析,從消費(fèi)者的角度去思考,怎么實(shí)現(xiàn)足不出戶就可以買到所有的商品。從而實(shí)現(xiàn)信息化,規(guī)范化,系統(tǒng)化,網(wǎng)絡(luò)化的平臺,具有較好的適應(yīng)性和推廣性。此系統(tǒng)分為前臺管理和后臺管理兩個(gè)部分。前臺管理是友好的操作界面,供用戶瀏覽、查詢使用。大概包括:瀏覽商品、查詢商品、購物車、用戶維護(hù)等功能;后臺管理是提供給管理員的,其中包括:商品管理、用戶管理、訂單管理等。使管理員從繁瑣的手工操作中解脫出來,并提高了辦公效率。</p>
21、<p> 第二章系統(tǒng)可行性分析和需求分析</p><p><b> 2.1 系統(tǒng)定義</b></p><p> 網(wǎng)上商城系統(tǒng)通過建立一個(gè)網(wǎng)上購物系統(tǒng)以實(shí)現(xiàn)對商務(wù)零售企業(yè)提供信息化管理;解決了傳統(tǒng)企業(yè)的商業(yè)運(yùn)作中與供應(yīng)商、代理商、分銷商之間的溝通與數(shù)據(jù)交互問題。那么本網(wǎng)站能夠?yàn)榭蛻籼峁┰诰€銷售管理平臺和周到便利的服務(wù)。 </p>&l
22、t;p> 2.2系統(tǒng)可行性分析</p><p> 2.2.1 技術(shù)的可行性</p><p> 本系統(tǒng)采用MVC設(shè)計(jì)模式,使用當(dāng)前最流行的開源的SSH框架即:Struts2、Spring、Hibernate的開發(fā)和管理用戶界面,目前J2EE技術(shù)已經(jīng)非常成熟,結(jié)合JSP,Servlet及利用輕巧的JavaScript使開發(fā)更加高效,提示信息更加完善,界面更加友好。后臺采用Oracl
23、e數(shù)據(jù)庫完全能夠?qū)崿F(xiàn)并達(dá)到上述功能目標(biāo)。本系統(tǒng)采用開源的Java開發(fā)工具Eclipse和Tomcat服務(wù)器進(jìn)行程序的開發(fā)和發(fā)布。就目前的技術(shù)來說,在規(guī)定時(shí)間內(nèi)是可以定期完成的,所以在技術(shù)上是可行的。</p><p> 2.2.2 經(jīng)濟(jì)的可行性</p><p> 系統(tǒng)中應(yīng)用的開發(fā)工具及技術(shù)框架都是免費(fèi)的,這無疑壓縮了開發(fā)網(wǎng)站的成本,從成本可行性分析來看,該系統(tǒng)充分體現(xiàn)了將產(chǎn)品利益最大化的
24、企業(yè)原則。</p><p> 2.2.3 操作的可行性</p><p> 本系統(tǒng)主要面向的是喜歡網(wǎng)購的網(wǎng)友,只要本系統(tǒng)的用戶會一些簡單的計(jì)算機(jī)操作,就可以網(wǎng)上購物,不需要用戶具有較高的計(jì)算機(jī)專業(yè)知識,而且對于網(wǎng)站基本信息的維護(hù)也是十分簡單,管理員可以在任何一臺并入網(wǎng)絡(luò)的計(jì)算機(jī)上對網(wǎng)站進(jìn)行維護(hù)。在實(shí)體店鋪的業(yè)務(wù)方面,由于日常信息處理量大,耗費(fèi)時(shí)間長,出錯(cuò)效率高,在系統(tǒng)投入運(yùn)行后,可以實(shí)現(xiàn)
25、業(yè)務(wù)中的信息集中處理、分析利用信息息和信息的交流輔助市場的業(yè)務(wù)監(jiān)管和重大決定。并且可以實(shí)現(xiàn)實(shí)體店鋪進(jìn)一步向網(wǎng)絡(luò)服務(wù)發(fā)展,為信息工作打下良好的基礎(chǔ)。網(wǎng)站的簡單易用性充分說明了本系統(tǒng)的操作可行性。</p><p><b> 2.3系統(tǒng)需求分析</b></p><p> 2.3.1 用戶需求</p><p> 本系統(tǒng)需要實(shí)現(xiàn)的用戶需求分為三類:
26、</p><p> (1) 游客:沒有登錄權(quán)限。此類用戶只能進(jìn)行瀏覽商品、查看商品的基本信息、進(jìn)行用戶注冊。</p><p> (2) 用戶:已在系統(tǒng)中注冊。此類用戶必須在登錄頁輸入用戶名和密碼,輸入正確后才可以進(jìn)入操作界面使用各項(xiàng)功能。如果輸入錯(cuò)誤,則系統(tǒng)會顯示登錄錯(cuò)誤的提示信息。此類用戶除了包含游客所有權(quán)限外還可以將商品加入購物車,可以對購物車中的商品進(jìn)行數(shù)量選擇,或者是刪除不想要
27、的商品,可以修改個(gè)人信息,可以根據(jù)購物車生成訂單,查看訂單。</p><p> (3) 管理員:系統(tǒng)管理員主要是管理后臺信息。主要有商品管理,訂單管理,用戶管理。商品管理主要有添加商品、刪除商品、修改商品。用戶管理主要有查詢用戶、刪除用戶,查看用戶個(gè)人信息。</p><p> 2.3.2 系統(tǒng)功能需求</p><p> 本系統(tǒng)主要具有如下功能:</p&g
28、t;<p> (1) 瀏覽功能:列出所有記錄進(jìn)行瀏覽或者選定一項(xiàng)記錄進(jìn)行瀏覽商品、瀏覽用戶、瀏覽訂單。</p><p> (2) 查詢功能:使用名字或者屬性匹配查詢商品、用戶、訂單。</p><p> (3) 刪除功能:刪除用戶、商品、訂單。</p><p> (4) 修改功能:修改商品信息、用戶信息、購物車信息、訂單信息。</p>
29、<p> (5) 增加功能:增加商品、用戶、訂單,添加商品到購物車。</p><p> (6) 驗(yàn)證功能:輸入信息與數(shù)據(jù)庫信息進(jìn)行匹配,輸入是否符合規(guī)范,例如:用戶賬號不能包含特殊字符。</p><p><b> 2.3.3界面需求</b></p><p> 本系統(tǒng)界面要求如下:</p><p>
30、 (1) 界面中的文字標(biāo)識,含義準(zhǔn)確、清楚、用通用詞匯。</p><p> (2) 界面中基本信息部分盡量都采用下拉框選擇方式或者單選按鈕。降低人為誤操作錯(cuò)誤;減少手工輸入工作量;規(guī)范基本信息的一致性。</p><p> (3) 對于數(shù)值類型數(shù)據(jù)輸入部分,采用可編輯的輸入框,并對輸入的內(nèi)容進(jìn)行校驗(yàn),避免輸入非數(shù)值數(shù)據(jù)。</p><p> (4) 對于有關(guān)聯(lián)的內(nèi)
31、容,要有數(shù)據(jù)過濾。</p><p> (5) 數(shù)據(jù)量大時(shí),采用分頁瀏覽的形式。</p><p> 2.4相關(guān)理論和技術(shù)</p><p> 2.4.1 Java語言簡介</p><p> Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語言和Ja
32、va平臺(即JavaSE,JavaEE,JavaME)的總稱。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性。用Java實(shí)現(xiàn)的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態(tài)的Web、Internet計(jì)算。從此,Java被廣泛接受并推動了Web的迅速發(fā)展.。</p><p> Java由四方面組成:Java編程語言、Java類文件格式、Java虛擬機(jī)和Java應(yīng)用程
33、序接口(Java API)。</p><p> Java平臺由Java虛擬機(jī)(Java Virtual Machine,簡稱JVM)和Java 應(yīng)用編程接口(Application Programming Interface,簡稱API)構(gòu)成。Java應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺上安裝一個(gè)Java平臺之后,Java應(yīng)用程序就可運(yùn)行。
34、Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。</p><p> Java分為三個(gè)體系J2SE(Java2 Platform Standard Edition,java平臺標(biāo)準(zhǔn)版),J2EE(Java 2 Platform,Enterprise Edition,java平臺企業(yè)版),J2ME(Java 2 Platform Micro Edition,java
35、平臺微型版)。</p><p> Sun 公司對 Java 編程語言的解釋是:Java 編程語言是個(gè)簡單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動態(tài)的語言。</p><p> 2.4.2 SSH簡介</p><p> SSH在J2EE項(xiàng)目中表示了3種框架,即Spring + Struts2 +Hibernate。Struts2
36、對Model、View和Controller都提供了對應(yīng)的組件。Spring是一個(gè)輕量級的控制反轉(zhuǎn)(IOC)和面向切面(AOP)的容器框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,可以應(yīng)用在任何使用JDBC的場合,可以在Servlet/J
37、SP的Web應(yīng)用中使用,也可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p> 2.4.3 MVC簡介</p><p> MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,用于組織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法,這個(gè)方法的假設(shè)前提是如果業(yè)務(wù)邏輯被
38、聚集到一個(gè)部件里面,而且界面和用戶圍繞數(shù)據(jù)的交互能被改進(jìn)和個(gè)性化定制而不需要重新編寫業(yè)務(wù)邏輯MVC被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中。</p><p> 視圖是用戶看到并與之交互的界面,作用包括向用戶顯示相關(guān)的數(shù)據(jù)、接受用戶的輸入、向模型查詢業(yè)務(wù)狀態(tài)、接受模型發(fā)出的數(shù)據(jù)更新事件,從而對用戶界面進(jìn)行同步更新。</p><p> 模型表示業(yè)
39、務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,是應(yīng)用程序的主體部分。一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù),因此提高了代碼的可重用性。</p><p> 控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。當(dāng)Web用戶單擊Web頁面中的遞交按鈕來發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。控制器接收請求并決定調(diào)用哪個(gè)模型組件去處理請求,然后決定調(diào)用哪個(gè)視圖來顯示模型處理返回的數(shù)據(jù)。</p><p> 2.4
40、.4 SQL語言</p><p> SQL Structure Query Language(結(jié)構(gòu)化查詢語言)是高級的非過程化編程語言,是溝通數(shù)據(jù)庫服務(wù)器和客戶端的重要工具,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以,具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng),可以使用相同的SQL語言作為數(shù)據(jù)輸入與管理的接口。它以記錄集合作為操作對象,所有SQL語句接受集
41、合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使它具有極大的靈活性和強(qiáng)大的功能,在多數(shù)情況下,在其他語言中需要一大段程序?qū)崿F(xiàn)的功能只需要一個(gè)SQL語句就可以達(dá)到目的,這也意味著用SQL語言可以寫出非常復(fù)雜的語句。</p><p> SQL語言包含3個(gè)部分:</p><p> 數(shù)據(jù)定義語言Data Definiti
42、on Language(DDL),用來建立數(shù)據(jù)庫、數(shù)據(jù)對象和定義其列。定義:definition/ 例如:CREATE、DROP、ALTER等語句。</p><p> 數(shù)據(jù)操作語言Data Manipulation Language(DML),用來插入、修改、刪除、查詢,可以修改數(shù)據(jù)庫中的數(shù)據(jù)。操作:make/ 例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句、SELECT(查詢)&l
43、t;/p><p> 數(shù)據(jù)控制語言Data Controlling Language(DCL),用來控制數(shù)據(jù)庫組件的存取允許、存取權(quán)限等。控制:control/ 例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。</p><p> SQL 是一門 ANSI 的標(biāo)準(zhǔn)計(jì)算機(jī)語言,用來訪問和操作數(shù)據(jù)庫系統(tǒng)。SQL 語句用于取回和更新數(shù)據(jù)庫中的數(shù)據(jù)。SQL 可與數(shù)據(jù)庫程序協(xié)同工作
44、,比如MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase以及其他數(shù)據(jù)庫系統(tǒng)。</p><p> 第三章 系統(tǒng)總體設(shè)計(jì)</p><p><b> 3.1系統(tǒng)設(shè)計(jì)目標(biāo)</b></p><p> 本系統(tǒng)主要構(gòu)建一個(gè)能夠提供用戶網(wǎng)上購物服務(wù)的商品購物網(wǎng)站系統(tǒng),實(shí)現(xiàn)對用戶和商品各方面信息的管理。網(wǎng)
45、上購物具有很多傳統(tǒng)購物方式不可比擬的優(yōu)點(diǎn),可以幫助企業(yè)節(jié)約成本、提高工作效率,突破了商業(yè)往來上時(shí)間和空間的限制,方便快捷,對企業(yè)和消費(fèi)者來說都有益處。具體實(shí)現(xiàn)目標(biāo)如下:</p><p> 1. 實(shí)現(xiàn)對用戶信息的管理。</p><p> 2.實(shí)現(xiàn)對商品信息的管理</p><p> 3. 實(shí)現(xiàn)對用戶購物車信息的管理</p><p> 4.
46、 實(shí)現(xiàn)對用戶訂單信息的管理</p><p> 5.系統(tǒng)易維護(hù)和易操作。</p><p> 6.系統(tǒng)運(yùn)行穩(wěn)定、可靠。</p><p> 7.系統(tǒng)的擴(kuò)張性、信息的安全性高。</p><p><b> 開發(fā)環(huán)境:</b></p><p> 1.操作系統(tǒng):WINDOWS XP;</p>
47、;<p> 2.運(yùn)行工具:IE 6.0</p><p> 3.開發(fā)工具:MyEclipse 8.5</p><p> 4.數(shù)據(jù)庫: Orcle</p><p> 5.服務(wù)器: Tomcat 6.0</p><p> 3.2系統(tǒng)模塊總體設(shè)計(jì)</p><p> 網(wǎng)上商城系統(tǒng)所需要實(shí)現(xiàn)的功能可以細(xì)
48、分為以下幾個(gè)模塊:前臺展示、后臺管理,這兩個(gè)模塊下還有具體的幾個(gè)子模塊。系統(tǒng)的總體結(jié)構(gòu)圖如圖3-1:</p><p><b> 3-1系統(tǒng)總體結(jié)構(gòu)</b></p><p> 由圖可以看出本系統(tǒng)主要功能模塊,其中本系統(tǒng)前臺展示主要分為5個(gè)模塊,詳細(xì)描述如下:</p><p> (1) 注冊模塊:該模塊負(fù)責(zé)游客填寫用戶基本資料,注冊登錄賬戶和
49、密碼。</p><p> (2) 登錄模塊:該模塊負(fù)責(zé)游客注冊成為用戶后登錄系統(tǒng)。</p><p> (3) 商品瀏覽模塊:該模塊負(fù)責(zé)供游客和用戶查找商品使用,同時(shí)游客和用戶也可以瀏覽商品基本信息。</p><p> (4) 購物車模塊:該模塊負(fù)責(zé)用戶在登錄系統(tǒng)后瀏覽喜歡的商品,選擇想要的商品加入購物車。用戶可以對購物車中的商品進(jìn)行數(shù)量選擇,或者是刪除不想要的
50、商品,即時(shí)計(jì)算采購金額。</p><p> (5)訂單模塊:該模塊負(fù)責(zé)用戶根據(jù)購物車生成訂單,查看訂單。在購物車中確認(rèn)所購商品信息后,點(diǎn)擊確認(rèn)訂單,完成填寫訂單內(nèi)送貨方式,郵寄地址等信息,確認(rèn)后生成訂單。用戶可以隨時(shí)查看訂單當(dāng)前的處理情況。</p><p> 本系統(tǒng)后臺管理主要分為3個(gè)模塊,詳細(xì)描述如下:</p><p> (1) 用戶管理模塊:該模塊負(fù)責(zé)管理
51、注冊成為系統(tǒng)用戶的信息,可以進(jìn)行查詢用戶,查看用戶信息,刪除用戶操作。</p><p> (2) 商品管理模塊:該模塊負(fù)責(zé)管理員進(jìn)行添加商品,查看商品信息,修改商品信息,查詢商品操作。其中添加商品與修改商品要實(shí)現(xiàn)圖片的上傳。通過該模塊實(shí)現(xiàn)了系統(tǒng)中商品的更新與添加。</p><p> 訂單管理模塊:該模塊負(fù)責(zé)管理員進(jìn)行查詢訂單操作,并對訂單進(jìn)行處理,標(biāo)記該訂單的處理狀態(tài)。通過該模塊處理用
52、戶提交的訂單,從而是用戶順利地完成購物。</p><p> 3.3 系統(tǒng)流程分析</p><p> 系統(tǒng)功能流程圖主要體現(xiàn)用戶和管理員操作系統(tǒng)功能的一個(gè)流程,展示出用戶和管理員 可以進(jìn)行怎樣的操作。本系統(tǒng)的功能流程圖如下圖3-2所示:</p><p> 圖3-2系統(tǒng)功能流程圖</p><p> 圖3-1為系統(tǒng)功能流程圖,從圖中可以看出
53、登錄系統(tǒng)后分為普通用戶和管理員。普通用戶可以直接進(jìn)入商城主頁瀏覽商品,查看商品信息,購買商品。管理員進(jìn)入系統(tǒng)可以進(jìn)行商品管理,訂單管理,用戶管理。</p><p><b> 3.4數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)時(shí)應(yīng)考慮以下因素:</p><p> (1) 確定數(shù)據(jù)對象的命名規(guī)范</p><p&g
54、t; 一定要定義數(shù)據(jù)庫對象的命名規(guī)范,可以考慮用約定好的前綴或后綴:對表來說,表名可以加上前綴T_,對表內(nèi)的列[字段]來說,采用全大寫字母。對于String類型的數(shù)據(jù),在數(shù)據(jù)庫中都使用VARCHAR2數(shù)據(jù)類型。</p><p> (2) 仔細(xì)選擇數(shù)據(jù)類型</p><p> 在命名字段并為其指定數(shù)據(jù)類型的時(shí)候一定要保證一致性。</p><p> (3) 給文本
55、字段留足余量</p><p> ID等類型的文本字段,應(yīng)該設(shè)置得比一般想象更大。</p><p> (4) 使用系統(tǒng)生成的主鍵</p><p> 假如在設(shè)計(jì)數(shù)據(jù)庫的時(shí)候采用系統(tǒng)生成的鍵作為主鍵,那么就實(shí)際控制了數(shù)據(jù)庫的索引完整性。這樣,數(shù)據(jù)庫和非人工機(jī)制就有效地控制了對存儲數(shù)據(jù)中每一行的訪問。采用系統(tǒng)生成鍵作為主鍵還有一個(gè)優(yōu)點(diǎn):當(dāng)擁有一致的鍵結(jié)構(gòu)時(shí),很容易找到
56、邏輯缺陷。</p><p> (5) 對每張表添加備用字段</p><p> 在設(shè)計(jì)表字段時(shí),為每張表預(yù)備兩個(gè)備用字段,防止在數(shù)據(jù)庫建好后,編寫代碼中發(fā)現(xiàn)表中缺少字段時(shí),去重新生成數(shù)據(jù)庫。這樣就減少工作量,為系統(tǒng)實(shí)現(xiàn)縮短時(shí)間。</p><p> 3.4.1 數(shù)據(jù)庫的選擇</p><p> 幾乎所有的應(yīng)用程序都需要存放大量的數(shù)據(jù),并將其
57、組織成易于讀取的格式,這種要求通??梢酝ㄟ^數(shù)據(jù)庫管理系統(tǒng)(DBMS)來實(shí)現(xiàn)。簡單的說,數(shù)據(jù)庫就是一組排列成易于處理和讀取的相關(guān)信息的集合,因此,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞直接對應(yīng)系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生的影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。</p><p> 本系統(tǒng)采用了Oracle作為數(shù)據(jù)庫。Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是
58、甲骨文公司的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。Oracle數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個(gè)通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫,它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。它擁有可用性強(qiáng)、可擴(kuò)展性強(qiáng)、數(shù)據(jù)安全性強(qiáng)、穩(wěn)定性強(qiáng)的優(yōu)點(diǎn),而且處理速度快,非???、安全級別高,支持快閃以及完美的恢復(fù),即使硬件壞了,也可以恢復(fù)到故障發(fā)前的1s、幾臺數(shù)據(jù)庫做負(fù)載數(shù)據(jù)庫,可以做到30s以內(nèi)故障轉(zhuǎn)
59、移,網(wǎng)格控制,以及數(shù)據(jù)倉庫方面也非常強(qiáng)大,所以選擇Oracle作為本系統(tǒng)的數(shù)據(jù)庫。</p><p> 3.4.2 數(shù)據(jù)庫表的描述</p><p> 數(shù)據(jù)庫設(shè)計(jì)是整個(gè)數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)過程中最重要的一個(gè)環(huán)節(jié),它具體分為兩個(gè)部分:一是概念設(shè)計(jì),即E-R圖的設(shè)計(jì);二是邏輯結(jié)構(gòu)設(shè)計(jì),即表、字段的設(shè)計(jì)。 </p><p> 本網(wǎng)站表示實(shí)體及其聯(lián)系的E-R圖,見圖3—3。
60、</p><p> 圖3—3系統(tǒng)實(shí)體E—R圖</p><p><b> 1用戶表:</b></p><p> T_USER表用來記錄所有人員的基本信息,表中USERID即用戶標(biāo)識為該表的主鍵,為數(shù)據(jù)庫自動生成。該表記錄了用戶的登錄賬號(USERACCOUNT)、密碼(USERPASSWORD)以及用戶昵稱(USERNAME)、性別(USE
61、RSEX)等用戶的基本信息,其中用戶標(biāo)識是不能為空的,用戶備注1與用戶備注2是作為備用字段,而備用戶注1已用作為假刪除標(biāo)記字段。該表的表結(jié)構(gòu)如下表3-1所示:</p><p><b> 表 3-1 用戶表</b></p><p><b> 2商品表:</b></p><p> T_GOODS表記錄商品信息,表中GOO
62、DSID即商品標(biāo)識為主鍵,ORDERID即訂單標(biāo)識為外鍵。該表記錄了商品名稱(GOODSNAME)和商品品牌(BRAND)、生產(chǎn)商(PRODUCER)等信息,其中商品標(biāo)識不能為空,商品備注1與商品備注2為備用字段,而商品備注1已用作為假刪除標(biāo)記字段,商品原價(jià)與商品優(yōu)惠價(jià)可保留兩位小數(shù)點(diǎn)。該表的表結(jié)構(gòu)如下表3-2商品表所示:</p><p><b> 表 3-2商品表</b></p&g
63、t;<p><b> 3訂單表:</b></p><p> T_ORDER表記錄訂單信息,表中ORDERID即訂單標(biāo)識為主鍵,不能為空,USERID即用戶標(biāo)識與GOODSID即商品標(biāo)識為外鍵。該表記錄了郵寄方式(DELIVERWAY)、郵寄地址(DELIVERPLACE)、付款方式(PAYWAY)等信息。訂單備注1與訂單備注2為備用字段,而訂單備注1已用作為假刪除標(biāo)記字段,
64、訂單備注2已用作為訂單處理狀態(tài)字段。該表的表結(jié)構(gòu)如下表3-3訂單表所示:</p><p><b> 表 3-3訂單表</b></p><p><b> 4 購物車表:</b></p><p> T_SHOPPINGBANG表記錄購物車信息,表中的SHOPBAGID即購物車標(biāo)識為主鍵,不能為空,USERID即用戶標(biāo)識作
65、為購物車表的外鍵。購物車備注1與購物車備注2為備用字段,而購物車備注1已用作為假刪除標(biāo)記字段。該表的表結(jié)構(gòu)如下表3-4購物車表所示:</p><p><b> 表 3-4購物車表</b></p><p><b> 5 購買商品表:</b></p><p> T_MYGOODS表記錄用戶購買商品的信息,表中的MYGOO
66、DSID即購買商品標(biāo)識為主鍵,SHOPBAGID即購物車與GOODSID即商品標(biāo)識為外鍵,都不能為空。該表還記錄了購買商品的數(shù)量。購買商品備注1與購買商品備注2為備用字段,而購買商品備注1已用作為假刪除標(biāo)記字段。該表的表結(jié)構(gòu)如下表3-5購買商品表所示:</p><p> 表 3-5購買商品表</p><p> 3.4.3數(shù)據(jù)庫表關(guān)系</p><p> 用戶表與
67、訂單表是一對多的關(guān)系,商品表與訂單表是一對一的關(guān)系,購物車表與購買商品表是一對多的關(guān)系,商品表與購買商品表是一對多的關(guān)系,用戶表與購物車表是一對多的關(guān)系。各個(gè)表之間關(guān)系都是使用各表標(biāo)識字段進(jìn)行關(guān)聯(lián),各表標(biāo)識字段在實(shí)際中沒有太多含義,只是作為表主外鍵關(guān)系存在。</p><p><b> 3.5界面設(shè)計(jì)</b></p><p> 界面是交互的接口,也是評價(jià)系統(tǒng)好壞的重
68、要指標(biāo),在設(shè)計(jì)界面時(shí)要注意以下設(shè)計(jì)原則:</p><p> 1.簡單明了:用戶的操作要盡可能以最直接最形象且易于理解的方式呈現(xiàn)在用戶面前。對操作接口,直接點(diǎn)擊高于右鍵操作,文字表示要高于圖標(biāo)示意,盡可能的符合用戶對類似系統(tǒng)的識別習(xí)慣。</p><p> 2.方便使用:符合用戶習(xí)慣是方便使用的第一原則。其它還包括,實(shí)現(xiàn)目標(biāo)功能的最少操作數(shù)原則,鼠標(biāo)移動距離最短原則等。</p>
69、<p> 3. 用戶導(dǎo)向:為了方便用戶盡快熟悉系統(tǒng),簡化操作,應(yīng)該盡可能的提供向?qū)再|(zhì)的操作流程。</p><p> 4. 實(shí)時(shí)幫助:用戶需要能隨時(shí)響應(yīng)問題的用戶幫助。</p><p> 5. 提供高級自定義功能:為熟悉計(jì)算機(jī)及軟件系統(tǒng)的高級用戶設(shè)置自定義功能,可以對已經(jīng)確定的常規(guī)操作以及系統(tǒng)的方方面面進(jìn)行符合自身習(xí)慣的自定義設(shè)置。包括常規(guī)操作、界面排版、界面樣式等種種
70、自定義。</p><p> 6. 界面要求:計(jì)算機(jī)屏幕的發(fā)光成像和普通視覺成像有很大的不同,應(yīng)該注意這種差別做出恰當(dāng)?shù)纳蚀钆洹τ谛栌脩糸L時(shí)間使用的系統(tǒng),應(yīng)當(dāng)使用戶在較長時(shí)間使用后不至于過于感到視覺疲勞為宜。例如輕松的淡彩為主配色,灰色系為主配色等等。切忌色彩過多,花哨艷麗,嚴(yán)重妨礙用戶視覺交互。系統(tǒng)樣式排版整齊劃一,盡可能劃分不同的功能區(qū)域于固定位置,方便用戶導(dǎo)航使用;排版不宜過于密集,避免產(chǎn)生疲勞感。&l
71、t;/p><p> 經(jīng)過需求階段對用戶需求和系統(tǒng)業(yè)務(wù)的潛在需求的分析與確定,最終確定系統(tǒng)界面樣式風(fēng)格,具體顯示樣式如下:</p><p><b> 圖3-4商城主界面</b></p><p> 第四章系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 4.1 程序設(shè)計(jì)原則及質(zhì)量要求</p><p>
72、在系統(tǒng)設(shè)計(jì)中綜合考慮如下因素:</p><p> (1) 技術(shù)的先進(jìn)性,符合網(wǎng)絡(luò)發(fā)展的趨勢。</p><p> (2) 滿足人們的需要,節(jié)省時(shí)間。</p><p> (3) 提高工作效率,滿足網(wǎng)絡(luò)現(xiàn)在和將來的數(shù)據(jù)傳輸需求。</p><p> (4) 實(shí)用性、靈活性、模塊化、擴(kuò)充性、經(jīng)濟(jì)性、安全性。</p><p&g
73、t; 在設(shè)計(jì)階段,我們將集中研究系統(tǒng)的軟件實(shí)現(xiàn)問題,即在分析模型的基礎(chǔ)上形成實(shí)現(xiàn)環(huán)境下的設(shè)計(jì)模型。</p><p> (5)對于質(zhì)量要求,要求系統(tǒng)能達(dá)到文檔設(shè)計(jì)要求,在運(yùn)行時(shí)正常,無較大的差錯(cuò)。</p><p><b> 4.2重難點(diǎn)實(shí)現(xiàn)</b></p><p> 4.2.1 MVC的實(shí)現(xiàn)</p><p> M
74、VC即controller、model、view,其中頁面為view。將后臺代碼分為三層即dao層、service層、action層后,action層為controller,dao層與service層為model。dao層主要是對數(shù)據(jù)庫的增刪查改工作,service層主要進(jìn)行業(yè)務(wù)邏輯,在這兩層中都進(jìn)行了接口設(shè)計(jì),這樣設(shè)計(jì)顯得機(jī)構(gòu)非常清晰,程序顯得非常簡潔,action層主要負(fù)責(zé)接收頁面數(shù)據(jù)在傳遞到service層,從service得到數(shù)
75、據(jù)選擇哪個(gè)頁面進(jìn)行顯示。</p><p> 4.2.2圖片上傳實(shí)現(xiàn)</p><p> 在增加頁面中需要實(shí)現(xiàn)商品圖片的上傳,那么就需要在form標(biāo)簽中enctype的值要等于multipart/form-date,在form表單中文件上傳代碼為:</p><p> <input type="file" name="upload
76、" id="file1" /></p><p> 在對應(yīng)的后臺action設(shè)置接收上傳的內(nèi)容與名字的屬性,分別為File類型屬性upload,String類型的屬性uploadFileName,再分別寫上get/set方法就能獲取頁面?zhèn)鬟f的圖片內(nèi)容與圖片名字。對圖片進(jìn)行處理的代碼為:</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> 將圖片保存在指定的物理地址中,在數(shù)據(jù)庫中
81、保存的是圖片的相對路徑。</p><p> 4.2.3 SSH框架的整合</p><p> 1 web.xml的配置</p><p> 對Struts2、Spring、Hibernate的整合,首先得把三個(gè)框架的jar包導(dǎo)入,其次在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> 配置了后請求都會通過這個(gè)過濾器轉(zhuǎn)給Strust2來處理,Struts2再應(yīng)用自己的攔截器來交給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 的事務(wù)管理器探測到。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容器時(shí),自動裝配ApplicationContext的配置信息,而配置信息就從context-param中配置的去找。</p><p> 2 Spring配置文件的配置</p><p> 由于Spring配置的信息比較多,所以將使用多個(gè)Spring配置文件,action,service,dao的依賴注入配置各使用一個(gè)配
92、置文件,以免放在一個(gè)文件中造成臃腫、混亂。一個(gè)作為Spring的主配置文件,主要配置數(shù)據(jù)源,session工廠等。Spring的主配置文件中數(shù)據(jù)源的配置如下:</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> 在數(shù)據(jù)源配置中,配置了數(shù)據(jù)庫驅(qū)動、JDBC連接的URL、登錄數(shù)據(jù)庫的用戶名與密碼以及最大連接數(shù)和最小連接數(shù)。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> 這個(gè)sessionFactory依賴于之前配置的數(shù)據(jù)源,配置了Hibernate會話、配置了是否需要在控制臺規(guī)范的打印SQL語句,在把數(shù)據(jù)庫映射文件配置進(jìn)來。有關(guān)于事物的配置如下,首先先配置事物管理器:</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表示如果存在一個(gè)事務(wù),則使用當(dāng)前事務(wù),如果沒有,則開啟一個(gè)新的事務(wù)。最后是配置那些類的那些方法參與事物:</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的聲明式事務(wù)支持,在dao需要對象繼承HibernateDaoSupport,調(diào)用getHibernateTemplate。</p><p> 3 struts.xml的配置</
110、p><p> 在struts.xml的配置中配置了動態(tài)方法調(diào)用如下所示:</p><p> <constant name="struts.enable.DynamicMethodInvocation" value="true" /></p><p> 配置后表示可以在頁面上指定調(diào)用action的某個(gè)方法。配置了開
111、發(fā)模式如下:</p><p> <constant name="struts.devMode" value="true" /></p><p> 是為了方便系統(tǒng)開發(fā)時(shí)進(jìn)行調(diào)試。配置了對象池如下:</p><p> <constant name="struts.objectFactory&quo
112、t; value="spring"></constant></p><p> 表示將action的創(chuàng)建交給Spring去管理。對于action的配置是獨(dú)立出來配置在引進(jìn)到struts.xml文件,其引進(jìn)配置如下:</p><p> <include file="com/cx/struts/TGoods-struts.xml"
113、;></include></p><p> 需要注意action的配置中action標(biāo)簽的class屬性的值與applicationContext*.xml配置bean標(biāo)簽的id值一樣。</p><p> 4.3用戶注冊界面實(shí)現(xiàn)</p><p><b> 4.3.1功能描述</b></p><p&g
114、t; 用戶注冊界面如下圖4-1所示,主要是用于提供給需要進(jìn)行購物但沒有賬號的用戶,用戶需要填完這些,完成注冊后才能登陸。圖中帶星號都為必填項(xiàng),都是需要使用JavaScript寫驗(yàn)證,驗(yàn)證賬號、密碼、電話號碼、身份證、昵稱長度,賬號、密碼、昵稱不能包含特殊字符,電話號碼與身份證只能為數(shù)字,Email格式是否正確。</p><p><b> 4.3.2界面風(fēng)格</b></p>
115、<p> 圖 4-1用戶注冊界面</p><p><b> 4.3.3具體實(shí)現(xiàn)</b></p><p> 功能的具體實(shí)現(xiàn)是指從Jsp頁面編寫到后臺代碼是怎樣去實(shí)現(xiàn)這個(gè)功能的工作流程。在這里以用戶注冊即對用戶表進(jìn)行增加一條數(shù)據(jù)的功能為例。</p><p> 在用戶注冊頁面regist.jsp中編寫form表單,form標(biāo)簽中ac
116、tion屬性的值為該form表單中所有數(shù)據(jù)所需要提交到的action,而method的值為數(shù)據(jù)提交到后臺的方式,只有post與get兩種,需要注意的是在form表單中的輸入框中的name屬性值一定得是user.用戶屬性名,否則后臺將不能接收到數(shù)據(jù)。代碼示例如下:</p><p> <form action="registAction.action" method="post&
117、quot;></form></p><p> 而action的值中還可以在.action后加感嘆號再加方法名,表示調(diào)用提交到action中的某個(gè)方法。當(dāng)用戶正確填寫資料后點(diǎn)擊注冊系統(tǒng)會根據(jù)form標(biāo)簽中的action從TUSER-struts.xml中查找對應(yīng)的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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)專業(yè)畢業(yè)論文----網(wǎng)上商城系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文--網(wǎng)上珠寶店的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文
- 網(wǎng)上商城購物系統(tǒng)計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)論文
- 網(wǎng)上商城計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文(招聘管理系統(tǒng))
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科畢業(yè)論文(設(shè)計(jì))
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科畢業(yè)論文
- 網(wǎng)上商城本科畢業(yè)論文-基于web的電子商城的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文——網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 廈門大學(xué)計(jì)算機(jī)專業(yè)本科畢業(yè)論文
- 畢業(yè)論文--網(wǎng)上商城的設(shè)計(jì)與實(shí)現(xiàn)
- 河南大學(xué)2016屆本科畢業(yè)論文-校園購網(wǎng)上商城設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上商城畢業(yè)論文--網(wǎng)上購物商城設(shè)計(jì)和實(shí)現(xiàn)
- 計(jì)算機(jī)與信息學(xué)院信計(jì)專業(yè)本科畢業(yè)論文(設(shè)計(jì))
- 網(wǎng)上商城系統(tǒng)畢業(yè)論文
- 網(wǎng)上商城網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科畢業(yè)論文小區(qū)物業(yè)管理系統(tǒng)
評論
0/150
提交評論