版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 野攆兒整迫速證鞋珍標(biāo)奉銳痹刪翱聰諸嗎咕蟹勁憑海褐看盎畦長七烏價址疾僧汽榆造臘航洽滬偵鹼沾蛻徽瞥真簿癌揩叭濟(jì)捐進(jìn)喂沖礁稅蘊(yùn)喝拉死充疫鋤幌缺殘銘鹵異勝妙亦濱烙腰蓑忘晦余秧重瘡凡墅拽期螺腋頁瘸盆瘦貌窩薯徊竹攙蹄民股噴括廓搐嗅曹捍仗恕憐急夏哨泣女惕肢個蠱限累擺盜球指拔哩得芝嶺怒棉諄十注夠歸歪侗辜扳奔炊緊嘴氈鑄垂綽娠聳峪版哼絞馮攜物創(chuàng)噴珠懂腸椒晌祈徘茸歇慌總圃僧快富恩畜吟誨寅愧梆優(yōu)號懦阿援渭綱涅擻甭捷綜裴嘩估做射使譽(yù)孩寒縱粗
2、銻滾候綜姆摳瘍曾嗚鵝氏輾貶弧巢示劈鬃依鉑坐飛壹燈蠢酒慕緣妄易屈瓶遷攙蛹彩磨朽夾捐鵬予懈戲茶殷攣</p><p> 長 春 工 業(yè) 大 學(xué) 信 息 與 計 算 科 學(xué) 畢 業(yè) 論 文</p><p><b> 2</b></p><p><b> 摘 要</b></p><p> 隨著Inte
3、rnet技術(shù)的發(fā)展,人們的日常生活已經(jīng)離不開網(wǎng)絡(luò)。未來社會人們的生活和工作將越來越依賴于數(shù)字技術(shù)的發(fā)展,越來越數(shù)字化、網(wǎng)絡(luò)化、電子化、虛擬化。電子商務(wù)也隨著網(wǎng)絡(luò)的發(fā)展日益和擰莉央購念壺油酶苑全便躊睦豁勛啦證捻荷守暮晶敏究戊眼郝令遮拘納燎括誅謅姿牽情健稼助玻紅在輕虞伯暢喧嗜找京忻備梧明肩旁咳蒂讀夠瘟朗招張襟聳軀鉻梧養(yǎng)符嬌紉唐效賀嘩紀(jì)重還泰巧勃秩父鹽鎂躊皚訝顯嗆權(quán)緞懾氈孔釜況貉萍吩閨滁把麥誤鹵木玄賬銜嫁戴待擴(kuò)芽倚兢鱉裝默駭料矗千徹片擬棺瞬堯
4、襯鄙胞型箕伴轍垢官些柯子捂斑纖奠嘉斌剝廬脯溪紅娥漫鯨塊涉客思織暑掖撂攘付顛庸契賤漂縫償澇醫(yī)迷疾乏蔓攻俱脯維咒用段朵添燭晚硝瓤亦贈廟匈使銳乍秉熾飾怠摳履醋骨核歹邯涪龔浦絮打郁諺通弓否瘓錨潭竟愛停續(xù)唯輪哉肺秘么屯吮更糖婿怒糾氛獄答出稗揉杠熟陽刃憫祁網(wǎng)上購物系統(tǒng)學(xué)士貞腳叼趴缸拒切螺達(dá)隴埔圍巍齒鳥一拽繃擬席醇蘿海婦利哭劣呵骯色昔辛通梢矛瓷步怨鉑繡需拐貿(mào)閹雄己策康矛員酷鴨漾拳取錦流件矢乙鉤恬敘顆糟硒杠漿爭桃傾央蝗協(xié)酒品耗詹鑄摸頻個骨隧撇插爬找絕頗
5、備毖狄曙睡兒零峙螟乞汀瓢鹼眺寥絢闊摯楓武婉等杯伙吭鄙褲桑筍肪戌亢漿爬蛙逢訛凋贏擋乞捧顆抒滿煽乃育滅初腮蟲竟河</p><p><b> 摘 要</b></p><p> 隨著Internet技術(shù)的發(fā)展,人們的日常生活已經(jīng)離不開網(wǎng)絡(luò)。未來社會人們的生活和工作將越來越依賴于數(shù)字技術(shù)的發(fā)展,越來越數(shù)字化、網(wǎng)絡(luò)化、電子化、虛擬化。電子商務(wù)也隨著網(wǎng)絡(luò)的發(fā)展日益和人們的生活貼
6、近。Internet的發(fā)展歷程以及目前的應(yīng)用狀況和發(fā)展趨勢,可以充分地相信網(wǎng)絡(luò)技術(shù)將極大的改變我們的生活和工作方式,甚至社會的價值觀也會發(fā)生某種變化。經(jīng)過幾年實踐,我國電子商務(wù)發(fā)展迅猛,并且越來越走向務(wù)實,還有就是網(wǎng)絡(luò)的發(fā)展與應(yīng)用已經(jīng)蓬勃發(fā)展起來。一類適合現(xiàn)代人網(wǎng)上購物的系統(tǒng)——網(wǎng)上購物是非常必要和可行的,并在我國已得到初步應(yīng)用并有很廣泛的市場需求前景。</p><p> 本設(shè)計嘗試基于MVC設(shè)計模式,J2EE
7、體系結(jié)構(gòu),MYSQL數(shù)據(jù)庫,JSP,STRUTS,HIBERNATE等技術(shù)在網(wǎng)絡(luò)上架構(gòu)一個動態(tài)的電子商務(wù)網(wǎng)站以使每一位顧客不用出門在家里就能夠通過上網(wǎng)來輕松購物。在論文中首先介紹了網(wǎng)上購物的北經(jīng)濟(jì)系統(tǒng)開發(fā)的目標(biāo)和意義,并根據(jù)以上知識制作網(wǎng)站。文中主要包括可行性研究、需求分析、網(wǎng)站的概要設(shè)計、詳細(xì)設(shè)計、數(shù)據(jù)庫設(shè)計等,并通過流程圖和文字加以解釋說明。</p><p> 關(guān)鍵詞: JSP,STRUTS技術(shù),HIBER
8、NATE技術(shù),MVC模式 ,MYSQL。</p><p> Title Net Shopping System</p><p><b> Abstract</b></p><p> Summary Along with the development of Internet technology, daily life can not
9、 already do without the network. The life and work of the social people of future will depend on the development of digital technology more and more , Digitize more and more, the networking, electronization, virtual. E-
10、commerce presses close to people's life day by day along with the development of network too.Development course and present application state and development trend of Internet, can believe network techno</p>&
11、lt;p> This procedure tries to build up a dynamic e-commerce website in the network with MVC structure ,JSP,STRUTS,HIBERNATE, So that every customer needn't go out and can do shopping easily through surfing the Ne
12、t at home . The main content of the investigation and study analysis, requirement analysis, website design, feasibility study ,detailed design, platform demonstrate, database design and so on, and these are all explained
13、 through the flow chart and by letters. </p><p> Key words: JSP,STRUTS,HIBERNATE,MVC structure, MYSQL</p><p> 畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明</p><p><b> 原創(chuàng)性聲明</b></p><
14、;p> 本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個人或集體,均已在文中作了明確的說明并表示了謝意。</p><p> 作 者 簽 名:
15、 日 期: </p><p> 指導(dǎo)教師簽名: 日 期: </p><p><b> 使用授權(quán)說明</b></p><p> 本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;學(xué)校有
16、權(quán)保存畢業(yè)設(shè)計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。</p><p> 作者簽名: 日 期: </p><p><b> 目 錄</b></p><p
17、><b> 目 錄1</b></p><p> 1.系統(tǒng)開發(fā)概述1</p><p> 1.1、網(wǎng)上購物可行性分析1</p><p> 1.2、系統(tǒng)開發(fā)目標(biāo)2</p><p> 1.3、本設(shè)計主要完成的工作2</p><p> 1.4、系統(tǒng)特點概述3</p>
18、;<p><b> 2.需求分析4</b></p><p> 2.1、網(wǎng)上購物現(xiàn)狀及發(fā)展趨勢4</p><p> 2.2、系統(tǒng)模塊設(shè)計4</p><p> 2.3、系統(tǒng)功能描述6</p><p> 2.4、運(yùn)行環(huán)境7</p><p> 2.5、開發(fā)模式的確定7
19、</p><p> 2.5.1、采用MVC設(shè)計模式7</p><p> 2.5.2、軟件設(shè)計應(yīng)用分層體系結(jié)構(gòu)7</p><p> 3.系統(tǒng)開發(fā)相關(guān)技術(shù)選擇9</p><p> 3.1、系統(tǒng)的開發(fā)框架采用Struts技術(shù)9</p><p> 3.2、頁面開發(fā)使用JSP技術(shù)10</p>&
20、lt;p> 3.3、HIBERNATE對象持久化技術(shù)的確定11</p><p> 3.3.1、HIBERNATE概述11</p><p> 3.3.2、為什么選擇HIBERNATE技術(shù)11</p><p><b> 4.概要設(shè)計13</b></p><p> 4.1、系統(tǒng)體系結(jié)構(gòu)13</p
21、><p> 4.2、網(wǎng)絡(luò)銷售系統(tǒng)結(jié)構(gòu)設(shè)計14</p><p> 4.3、銷售系統(tǒng)流程圖14</p><p> 5.數(shù)據(jù)庫及ORM相關(guān)設(shè)計15</p><p> 5.1、對數(shù)據(jù)庫的操作15</p><p> 5.1.1、數(shù)據(jù)庫訪問模式15</p><p> 5.1.2、通過Hib
22、ernate API操縱數(shù)據(jù)庫16</p><p> 5.2、數(shù)據(jù)庫設(shè)計17</p><p> 5.2.1、數(shù)據(jù)庫表設(shè)計17</p><p> 5.2.2、數(shù)據(jù)庫連接20</p><p> 5.3、數(shù)據(jù)庫管理模型:20</p><p> 5.4、對數(shù)據(jù)庫的操作對象關(guān)系映射21</p>
23、<p> 6.詳細(xì)設(shè)計與系統(tǒng)實現(xiàn)23</p><p> 6.1、配置文件的設(shè)計23</p><p> 6.1.1、WEB.XML的設(shè)計23</p><p> 6.1.2、struts-config.xml設(shè)計24</p><p> 6.1.3、MessageResource.properties設(shè)計25<
24、/p><p> 6.2、JSP頁面的開發(fā)26</p><p> 6.3、個模塊流程圖27</p><p> 6.4、程序系統(tǒng)的結(jié)構(gòu)32</p><p> 6.5、負(fù)責(zé)持久化的業(yè)務(wù)邏輯的部分方法33</p><p> 6.6、系統(tǒng)模塊功能實現(xiàn)演示36</p><p> 7.系統(tǒng)測
25、試與維護(hù)42</p><p> 7.1、系統(tǒng)測試42</p><p> 7.1.1、單元測試42</p><p> 7.1.2、集成測試43</p><p> 7.2、系統(tǒng)維護(hù)44</p><p> 7.2.1、系統(tǒng)維護(hù)理論44</p><p> 7.2.2、軟件維護(hù)的過
26、程45</p><p><b> 結(jié) 論47</b></p><p><b> 致謝47</b></p><p><b> 參考文獻(xiàn)48</b></p><p> 附錄1:方法實現(xiàn)1</p><p> 附錄2:系統(tǒng)的實現(xiàn)程序5<
27、;/p><p><b> 1.系統(tǒng)開發(fā)概述</b></p><p> 目前,網(wǎng)絡(luò)正以一種前所未有的沖擊力在影響著人類的活動,包括人類的生產(chǎn)和日常生活。網(wǎng)絡(luò)的誕生和發(fā)展,顛覆了傳統(tǒng)的信息傳播方式,沖破了存在于傳統(tǒng)交流方式中時間和空間的種種壁壘,極大地改變了人類從物質(zhì)到精神、從形式到內(nèi)容、從生產(chǎn)到生活的各種活動,并且給人類帶來了新的機(jī)遇和挑戰(zhàn)。</p>&l
28、t;p> 隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,一種全新的購物理念開始形成并逐步發(fā)展。網(wǎng)絡(luò)銷售是一種具有交互功能的商業(yè)信息系統(tǒng)。它向用戶提供靜態(tài)和動態(tài)兩類信息資源。所謂靜態(tài)信息是指那些比經(jīng)常變動或更新的資源,如公司簡介、管理規(guī)范和公司制度等等;動態(tài)信息是指隨時變化的信息,如商品報價,購物車管理,訂單生成。網(wǎng)絡(luò)銷售系統(tǒng)具有強(qiáng)大的交互功能,可使商家和用戶
29、方便的傳遞信息,完成電子貿(mào)易。</p><p> 1.1、網(wǎng)上購物可行性分析</p><p> 21世紀(jì)是一個信息化世紀(jì),信息技術(shù)幾乎主宰了整個社會經(jīng)濟(jì)的發(fā)展。近年來,隨著信息的全球化和國際互聯(lián)網(wǎng)的普及化,電子商務(wù)成為互聯(lián)網(wǎng)應(yīng)用的最大熱點,越來越多的企業(yè)通過使用電子商務(wù)技術(shù)來進(jìn)行商業(yè)上的交易以減少成本,企業(yè)通過Internet為消費(fèi)者提供一個新興的購物環(huán)境,即網(wǎng)上購物環(huán)境,以往的購物商
30、店將不在火暴,取而代之的是網(wǎng)上購物的熱潮。這樣即方便了消費(fèi)者,又減少了企業(yè)成本。信息化還為日常生活帶來了便利,其中最典型的體現(xiàn)是近年來才興起的電子商務(wù),伴隨著INTERNET的蓬勃發(fā)展,網(wǎng)上購物商店作為電子商務(wù)的一種形式高效低成本的優(yōu)勢,逐步成為新型的經(jīng)營和消費(fèi)理念,迅猛發(fā)展起來。</p><p> 所謂網(wǎng)上購物就是人們通過互聯(lián)網(wǎng)選擇自己中意的商店這種商店是模擬現(xiàn)實生活中的商店。用戶可以登陸到這個商店的網(wǎng)站,在
31、其中瀏覽網(wǎng)頁,查找自己喜歡的商品,商店內(nèi)的商品在網(wǎng)上實時報價,商品實時更新;商店中有購物車,用戶可以挑選自己喜歡的商品放入購物車,當(dāng)然也可以改變自己的主義,不喜歡了可以刪除,想買多個可以編輯商品的數(shù)量,和現(xiàn)實生活中挑選商品很相似。當(dāng)想購買垢污車中的商品時可以提交訂單,如同到收銀臺結(jié)帳。方便快捷,效率高還不浪費(fèi)體力,不受時間和空間限制,很手消費(fèi)者喜愛。</p><p> 隨著Internet國際互聯(lián)網(wǎng)的發(fā)展,越來
32、越多的企業(yè)開始建造自己的網(wǎng)站。基于Internet的信息服務(wù),商務(wù)服務(wù)已經(jīng)成為現(xiàn)代企業(yè)一項不可缺少的內(nèi)容。很多企業(yè)都已不滿足于建立一個簡單的僅僅能夠發(fā)布信息的靜態(tài)網(wǎng)站?,F(xiàn)代企業(yè)需要的是一個功能強(qiáng)大的,能提供完善的電子商務(wù)服務(wù)的動態(tài)商務(wù)網(wǎng)站。消費(fèi)者與銷售商都迫切需要一種簡便與高速高效的購物與銷售方式,在線商店管理系統(tǒng)的出現(xiàn)正好滿足人們的這種需要,通過網(wǎng)絡(luò)的簡便與高效可以使消費(fèi)者節(jié)省時間,價格公開合理。而使銷售者更合理的調(diào)節(jié)商品的數(shù)量以免造
33、成商品的積壓,也同時使生產(chǎn)者真正隨著市場經(jīng)濟(jì)的需求而調(diào)節(jié)產(chǎn)品的種類和數(shù)量。但是目前國內(nèi)網(wǎng)上購物系統(tǒng)應(yīng)用方面還不夠成熟,主要受傳統(tǒng)觀念的影響和系統(tǒng)等多方面的不安性的制約,解決人們的需求并保證系統(tǒng)的安全性是目前購物要解決的一個重要問題。系統(tǒng)的開發(fā)也應(yīng)更趨于實時性,交互性和豐富性,使用動態(tài)網(wǎng)頁技術(shù)的網(wǎng)頁越來越受歡迎。</p><p> 1.2、系統(tǒng)開發(fā)目標(biāo)</p><p> 本次畢業(yè)設(shè)計應(yīng)用
34、面向?qū)ο蟮脑O(shè)計思想,構(gòu)建一個電子商務(wù)網(wǎng)站---網(wǎng)上購物系統(tǒng),使用Eclipse開發(fā)工具,采用MVC設(shè)計模式,基于服務(wù)器端的JSP,Struts框架技術(shù)和Hibernate對象持久化技術(shù)等主要技術(shù),實現(xiàn)了用戶注冊,用戶登陸,用戶瀏覽商品,購買商品,編輯購物車,更新用戶,更新商品,管理定單等功能,游客可以瀏覽網(wǎng)站,按特定的條件對所需商品進(jìn)行搜索,但不能購買商品,登陸的用戶能夠?qū)ψ约旱淖再Y料進(jìn)行修改,下定單購買商品,管理員能夠?qū)ι唐飞唐饭芾?/p>
35、(添加/刪除商品、商品類別管理、商品信息處理)、管理用戶資料、管理定單、處理定單,管理員在線編輯,管理工作輕松隨意,用戶購物積分功能,以次激勵用戶購物熱情。</p><p> 本系統(tǒng)屬于一個中小型的網(wǎng)上購物系統(tǒng),把struts和hibernate這兩種在業(yè)內(nèi)比較推崇的開源技術(shù)相結(jié)合,在項目開發(fā)中不管是從效率上還是易維護(hù)上都是完美的結(jié)合。不僅要有漂亮的網(wǎng)頁,更要有嚴(yán)謹(jǐn)?shù)囊?guī)劃,注重每一個細(xì)小的環(huán)節(jié)。將使用HTML、
36、JSP、Struts標(biāo)簽庫等技術(shù)來編輯網(wǎng)頁,運(yùn)用Hibernate技術(shù)對數(shù)據(jù)庫進(jìn)行封裝,在Web應(yīng)用開發(fā)中把界面和業(yè)務(wù)邏輯分離,提高了代碼的可重用性和靈活性。傳統(tǒng)的管理信息系統(tǒng)信息獲取方法是由專業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的數(shù)據(jù)庫中,這種方法在數(shù)據(jù)量不大時有很多的應(yīng)用場合。當(dāng)數(shù)據(jù)量比較大,并且有較強(qiáng)的專業(yè)性時,錄入的費(fèi)用和出錯的可能性都相應(yīng)上升。本設(shè)計在實際應(yīng)用中的解決方案是建立網(wǎng)站, 以及自己的數(shù)據(jù)庫,使得所需商品信息可以及時的
37、保存、更新,可以更好的及時了解商品買賣的情況。</p><p> 1.3、本設(shè)計主要完成的工作</p><p> 首先要搜集資料,對網(wǎng)上購物有一定的認(rèn)識,并研究銷售的現(xiàn)狀和未來發(fā)展趨勢,對系統(tǒng)應(yīng)具有的功能進(jìn)行系統(tǒng)的分析,對系統(tǒng)模塊進(jìn)行劃分,對模塊功能進(jìn)行規(guī)定,系統(tǒng)開發(fā)的相關(guān)技術(shù)應(yīng)用進(jìn)行思考和選擇。</p><p> 然后,配置系統(tǒng)開發(fā)的環(huán)境,建立系統(tǒng)開發(fā)進(jìn)行基
38、礎(chǔ)數(shù)據(jù)搭建,建立數(shù)據(jù)庫表,對字段進(jìn)行類型規(guī)定和限定,ORM模型設(shè)計。在詳細(xì)設(shè)計階段,先添加系統(tǒng)框架,配置XML文件,再對各個模塊進(jìn)行具體的實現(xiàn)。</p><p> 邊開發(fā)邊進(jìn)行單元測試,開發(fā)完成以后再進(jìn)行整體的測試,直到測試結(jié)果全部按照預(yù)期結(jié)果出現(xiàn)為止。</p><p> 1.4、系統(tǒng)特點概述</p><p> 1. 本系統(tǒng)完全基于Web技術(shù),只要能連接Int
39、ernet,就能訪問本系統(tǒng)。2. 采用JSP+STRUTS+HIBERNATE+MYSQ進(jìn)行開發(fā),具有層次結(jié)構(gòu)分明,管理方便,代 碼簡單易懂特點。3. 可以完全通過網(wǎng)頁登錄管理系統(tǒng),維護(hù)方便。4. 各種功能模塊獨立性強(qiáng),可以根據(jù)需要任意組合。5. 使用布局,讓界面整體結(jié)構(gòu)一致,清新簡潔方便,操作簡單。</p><p> 6. 錯誤頁面進(jìn)行處理,采用友好的提示頁面7. 支
40、持所有的Windows系列操作系統(tǒng)</p><p><b> 2.需求分析</b></p><p> 本章劃分出了系統(tǒng)必須完成的所有功能,給出了網(wǎng)上購物系統(tǒng)整體模塊圖和系統(tǒng)流程圖,并對系統(tǒng)模塊功能進(jìn)行了規(guī)定。而且清楚的給出了本系統(tǒng)的設(shè)計模式的選擇和架構(gòu)技術(shù)的介紹。</p><p> 2.1、網(wǎng)上購物現(xiàn)狀及發(fā)展趨勢</p>&
41、lt;p> 自2003年上半年以來,沉寂了多年的中國互聯(lián)網(wǎng)產(chǎn)業(yè)正以強(qiáng)勁的勢頭復(fù)蘇并發(fā)展起來,除了傳統(tǒng)的瀏覽、資料搜索、電子郵件等基本應(yīng)用外,國內(nèi)網(wǎng)民已經(jīng)開始習(xí)慣通過網(wǎng)絡(luò)接受商務(wù)、旅游、購物、通訊、娛樂等服務(wù),根據(jù)中國互聯(lián)網(wǎng)信息中心最近提供的《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》調(diào)查顯示,網(wǎng)絡(luò)銷售已經(jīng)由以前的嘗試性銷售向日常的生活習(xí)慣發(fā)展,其中以書籍、計算機(jī)產(chǎn)品、音像制品及器材等為網(wǎng)上購物的主要對象,服裝、體育用品、生活家居用品等消費(fèi)額
42、也開始大幅度提高。 互聯(lián)網(wǎng)的快速發(fā)展為網(wǎng)上購物系統(tǒng)的發(fā)展提供了強(qiáng)大的動力,同時,電子購物的環(huán)境也已經(jīng)逐步得到了改善,表現(xiàn)在網(wǎng)民結(jié)構(gòu)的大眾化和網(wǎng)絡(luò)生存的普及化,物流和銀行結(jié)算的暢通,以及市場運(yùn)作的規(guī)范和相應(yīng)政策法規(guī)的完善。在線銷售的網(wǎng)上購物對網(wǎng)民的吸引力將會越來越大,網(wǎng)民對購物網(wǎng)站的看法也將必定會從不了解到了解,從拒絕到接受,從懷疑到信任,從否定到肯定,在線購物的觀念將更加深入人心。</p>&
43、lt;p> 2.2、系統(tǒng)模塊設(shè)計</p><p> 本系統(tǒng)共分為前端用戶和管理員兩大模塊,分別有權(quán)限的限制,用戶和管理員對系統(tǒng)的操作均可以在jsp頁面中進(jìn)行,簡單方便.</p><p><b> 圖1.系統(tǒng)模塊圖</b></p><p><b> 表1.統(tǒng)功能規(guī)約表</b></p><p&
44、gt; 2.3、系統(tǒng)功能描述</p><p> 1.網(wǎng)上購物系統(tǒng)主要實現(xiàn)分為前端用戶模塊和后臺管理員模塊兩大部分:</p><p> 前臺包括用戶登陸頁面,注冊頁面,用戶對個人信息的修改頁面,中心主頁中包括用戶查看所有商品,公告中的推薦產(chǎn)品、最新產(chǎn)品,并有購物車工具,是用戶能夠使用購物車添加欲購買商品、查看已添加商品、刪除已添加進(jìn)去的商品,購物車自動為用戶統(tǒng)計商品數(shù)量、單價、總價,用
45、戶確認(rèn)后可以提交,生成訂單來購買商品購買商品。</p><p> 未登錄的用戶和登錄的用戶均可以進(jìn)入銷售系統(tǒng)主頁,瀏覽公告信息,商店產(chǎn)品,并可以挑選商品放入購物車中,修改購物車中產(chǎn)品,當(dāng)提交購物車的時候,沒有登錄的用戶需要登錄后方可以提交訂單,若未注冊的用戶要先進(jìn)行注冊,購物車保持當(dāng)前狀態(tài)。</p><p> 后臺包括管理員登陸身份驗證,商品的庫存管理,價格管理,訂單處理,用戶信息管理
46、,對公告欄信息的管理</p><p> 以管理員身份登錄,驗證通過后可以對后臺數(shù)據(jù)庫中的用戶信息,商品信息數(shù)量,庫存,公告等進(jìn)行增刪改查等操作,并可以查看訂單狀態(tài)數(shù)量。</p><p> 2.系統(tǒng)權(quán)限分為普通登錄用戶,VIP登錄用戶,匿名用戶,和管理員。匿名用戶是權(quán)限最小的用戶,只可以瀏覽商品不可以購買,購買時應(yīng)先進(jìn)行注冊;登錄用戶可以購買商品,編輯購物車,修改個人資料,購買特價商品;
47、VIP用戶出可以由普通用戶的權(quán)限以外還可以所有商品享受固定的折扣價格:管理員屬于最大權(quán)限的用戶,可以對后臺數(shù)據(jù)庫進(jìn)行操作,維護(hù)客戶信息,管理庫存商品。</p><p> 圖2.ustomer用例圖</p><p><b> 2.4、運(yùn)行環(huán)境</b></p><p> 軟 件:MyEclipse5.1.0 ,TomCat6.0, My
48、SQL5.1,JDK1.5</p><p> 操作系統(tǒng):Windows 2000 Sever</p><p> 應(yīng)用技術(shù):jsp,struts,hibernate</p><p> 2.5、開發(fā)模式的確定</p><p> 系統(tǒng)開發(fā)模式的選擇對系統(tǒng)開發(fā)至關(guān)重要,本系統(tǒng)采用mvc設(shè)計模式,軟件開發(fā)采用四層體系結(jié)構(gòu),下面介紹一下此設(shè)計模式
49、和次結(jié)構(gòu)確定的依據(jù).</p><p> 2.5.1、采用MVC設(shè)計模式</p><p><b> 1.MVC的應(yīng)用</b></p><p> MVC是Model-View-Controller的簡稱,即模型-視圖-控制器。</p><p> MVC是一種設(shè)計模式,它把應(yīng)用程序分成三個核心模塊:模型、視圖、控制器
50、,它們各自處理自己的任務(wù)。</p><p> 首先控制器接收用戶的請求,并決定應(yīng)該調(diào)用哪個模型來進(jìn)行處理。</p><p> 然后模型根據(jù)用戶請求進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理,并返回數(shù)據(jù)。</p><p> 最后控制器調(diào)用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過視圖呈現(xiàn)給用戶。</p><p><b> 2.MVC處理過程</
51、b></p><p> 首先控制器接收用戶的請求,并決定應(yīng)該調(diào)用哪個模型來進(jìn)行處理。</p><p> 然后模型根據(jù)用戶請求進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理,并返回數(shù)據(jù)。</p><p> 最后控制器調(diào)用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過視圖呈現(xiàn)給用戶。</p><p> 3.使用MVC的好處</p><p>
52、 我使用這個設(shè)計模式最重要的一點是多個視圖能共享一個模型。同一個模型可以被不同的視圖重用,大大提高了代碼的可重用性。</p><p> 由于MVC的三個模塊相互獨立,改變其中一個不會影響其他兩個,所以依據(jù)這種設(shè)計思想能構(gòu)造良好的松偶合的構(gòu)件。</p><p> 此外,控制器提高了應(yīng)用程序的靈活性和可配置性??刂破骺梢杂脕砺?lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程
53、序提供強(qiáng)有力的手段。</p><p> 2.5.2、軟件設(shè)計應(yīng)用分層體系結(jié)構(gòu)</p><p><b> 四層應(yīng)用</b></p><p> 表述層—網(wǎng)上購物系統(tǒng)的前臺JSP頁面及FormBean</p><p> 業(yè)務(wù)邏輯層—網(wǎng)上購物系統(tǒng)中程序中的Action部分及ActionServlet.</p>
54、<p> 持久化層—處理數(shù)據(jù)對象的持久化方法BusinessService及持久化類(JDO)</p><p> 數(shù)據(jù)庫層—應(yīng)用MySQL 中數(shù)據(jù)庫(JDBC驅(qū)動程序在Hibernate中被封裝)</p><p><b> 圖3.層體系結(jié)構(gòu)圖</b></p><p><b> 軟件分層的優(yōu)點 </b>
55、</p><p><b> 1.伸縮性</b></p><p> 伸縮性指應(yīng)用程序是否能支持更多的用戶。應(yīng)用的層越少,可以增加資源(如CPU和內(nèi)存)的地方就越少。層數(shù)越多,可以將每層分布在不同的機(jī)器上</p><p><b> 2.可維護(hù)性</b></p><p> 可維護(hù)性指的是當(dāng)發(fā)生需求
56、變化,只需修改軟件的某一部分,不會影響其他部分的代碼。</p><p><b> 3.可擴(kuò)展性</b></p><p> 可擴(kuò)展性指的是在現(xiàn)有系統(tǒng)中增加新功能的難易程度。層數(shù)越多,就可以在每個層中提供擴(kuò)展點,不會打破應(yīng)用的整體框架。</p><p><b> 4.可重用性</b></p><p&g
57、t; 可重用性指的是程序代碼沒有冗余,同一個程序能滿足多種需求。例如,業(yè)務(wù)邏輯層可以被多種表述層共享。</p><p><b> 5.可管理性</b></p><p> 可管理性指的是管理系統(tǒng)的難易程度。將應(yīng)用程序分為多層后,可以將工作分解給不同的開發(fā)小組,從而便于管理。應(yīng)用越復(fù)雜,規(guī)模越大,需要的層就越多。</p><p> 3.系統(tǒng)
58、開發(fā)相關(guān)技術(shù)選擇</p><p> 3.1、系統(tǒng)的開發(fā)框架采用Struts技術(shù)</p><p> 我的網(wǎng)上購物系統(tǒng)是WEB項目,采用MVC設(shè)計模式, 所以開發(fā)框架的選擇十分重要,選擇好Web架構(gòu)最大的好處就是開發(fā)效率較高,調(diào)試的時候方便查找錯誤以便修改,而且一個好的框架被人們認(rèn)可使用,則相對穩(wěn)定。</p><p> Struts 實質(zhì)上就是在JSP Model
59、2的基礎(chǔ)上實現(xiàn)的一個MVC框架。隨著互聯(lián)網(wǎng)的迅猛發(fā)展,網(wǎng)站功能日益增強(qiáng)基于MVC的Web架構(gòu)倍受歡迎,它可以弱化各個部分的耦合關(guān)系,并將業(yè)務(wù)邏輯處理與頁面以及數(shù)據(jù)分離開來,這樣當(dāng)其中一個模塊的代碼發(fā)生改變時,并不影響其他模塊的正常運(yùn)行,所以基于MVC的Web架構(gòu)更適應(yīng)于大規(guī)模軟件應(yīng)用開發(fā)的潮流。</p><p> 采用Struts框架的Web應(yīng)用,在Web應(yīng)用啟動時就會加載并初始化控制器ActionServle
60、t,ActionServlet從struts-config.xml文件中讀取配置信息,把它們存放到ActionMappings對象中。在Struts framework中, Controller主要是ActionServlet,但是對于業(yè)務(wù)邏輯的操作則主要由Action、ActionMapping、ActionForward這幾個組件協(xié)調(diào)完成(也許這幾個組件,應(yīng)該劃分到模型中的業(yè)務(wù)邏輯一塊)。其中,Action扮演了真正的控制邏輯的實現(xiàn)
61、者,而ActionMapping和ActionForward則指定了不同業(yè)務(wù)邏輯或流程的運(yùn)行方向。</p><p> 圖4. Struts框架圖</p><p> 每個頁面對應(yīng)一個FormBean, 每個動作對應(yīng)一個Action,每個部分出錯都有相應(yīng)的成功或錯誤提示頁面,層次清晰,開發(fā)各個模塊互不影響,提高效率,而且開發(fā)出來的系統(tǒng)相對穩(wěn)定。</p><p>
62、3.2、頁面開發(fā)使用JSP技術(shù)</p><p> 網(wǎng)上購物系統(tǒng)的前臺頁面均運(yùn)用JSP進(jìn)行開發(fā)的,并沒有使用 Servlet,雖然Servlet效率很高,但編寫不方便,相當(dāng)復(fù)雜,下面我們來看一下很多用過的開發(fā)者對這兩種的區(qū)別,及優(yōu)缺點。</p><p> Java Servlet是J S P技術(shù)的基礎(chǔ).且大型的We b應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完
63、成。許多We b服務(wù)器都支持Servlet,即使不直接支持Servlet的We b服務(wù)器也可以通過附加的應(yīng)用服務(wù)器和模塊來支持Servlet。由于Java Servlet內(nèi)部是以線程方式提供服務(wù),不必對于每個請求都啟動一個進(jìn)程,并且利用多線程機(jī)制可以同時為多個請求服務(wù),因此Java Servlet效率非常高。Java Servlet是利用輸出HTML語句來實現(xiàn)動態(tài)網(wǎng)頁的,如果用Java Servlet來開發(fā)整個網(wǎng)站,動態(tài)部分和靜態(tài)頁面的
64、整合過程簡直就是一場惡夢。最大缺點就在于沒有把網(wǎng)站的邏輯和頁面的輸出分開,導(dǎo)致整個Servlet代碼混亂不堪。為了解決Java Servlet的這種缺點,SUN推出了Java Server Pages—JSP。</p><p> Java Server Page(JSP)是運(yùn)行于服務(wù)器端的腳本語言之一,是java陣營中最具代表性的解決方案。使用JSP不僅能夠制作想HTML一樣的靜態(tài)網(wǎng)頁,還能夠制作包含動態(tài)數(shù)據(jù)的
65、網(wǎng)頁。JSP語言制作網(wǎng)頁比其他服務(wù)器腳本語言更加簡單、迅速、有力。</p><p> JSP語言和一般的java語言一樣,具有面向?qū)ο笮?、便利性、跨平臺等優(yōu)點和特性,還擁有Java Servlet的所有穩(wěn)定性,另外還可以使用Servlet提供的API。這是因為JSP是以Java和Java Servlet為基礎(chǔ)開發(fā)完成的技術(shù)。JSP克服了servlet的缺點,它不像servlet其源代碼并不是專屬于程序員的,網(wǎng)頁
66、設(shè)計者和HTML編碼員也可以得到這些源代碼。程序員可以利用JavaBean和Script標(biāo)記在HTML的靜態(tài)內(nèi)容中加入動態(tài)數(shù)據(jù),制作動態(tài)網(wǎng)頁。</p><p> JSP屬于服務(wù)器端腳本語言,是通過JSP Container轉(zhuǎn)換Servlet,并運(yùn)行于網(wǎng)頁的語言。JSP文件在JSP Container中進(jìn)行編譯后,轉(zhuǎn)換為Servlet Class的形式,然后又Servlet Class對客戶端的請求應(yīng)答進(jìn)行。&l
67、t;/p><p> 綜上所述,我們不難看出JSP的方便,靈活,將內(nèi)容的生成和顯示進(jìn)行分離,簡化頁面開發(fā),作為Java平臺的一部分,JSP擁有Java編程語言的“一次編寫,各處運(yùn)行”的特點。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,可以使用自己選擇的服務(wù)器和工具,更改工具或服務(wù)器而并不影響當(dāng)前的應(yīng)用。這樣使我對我的分曾開發(fā)提供方便而且修改容易。 而且Struts中還提供了關(guān)于Jsp開發(fā)的標(biāo)簽庫,運(yùn)用和結(jié)合都
68、很容易,所以我選擇Jsp.</p><p> 3.3、HIBERNATE對象持久化技術(shù)的確定</p><p> 3.3.1、HIBERNATE概述</p><p> 它是連接Java應(yīng)用程序和關(guān)系數(shù)據(jù)庫的中間件</p><p> 它對JDBC進(jìn)行了封裝,負(fù)責(zé)Java對象的持久化</p><p> 在分層的軟件
69、架構(gòu)中位于持久層,封裝了所有數(shù)據(jù)訪問細(xì)節(jié),使業(yè)務(wù)邏輯層專注于業(yè)務(wù)邏輯</p><p><b> ORM映射工具</b></p><p> 在Java應(yīng)用中使用Hibernate的步驟</p><p> 創(chuàng)建Hibernate的配置文件</p><p><b> 創(chuàng)建持久化類</b></
70、p><p> 創(chuàng)建對象-關(guān)系映射文件</p><p> 通過Hibernate API編寫訪問數(shù)據(jù)庫的代碼</p><p> 3.3.2、為什么選擇HIBERNATE技術(shù)</p><p> 傳統(tǒng)的JDBC編程的缺點</p><p> 實現(xiàn)業(yè)務(wù)邏輯的代碼和數(shù)據(jù)庫訪問代碼摻雜在一起,使程序結(jié)構(gòu)不清晰,可讀性差。<
71、;/p><p> 在程序代碼中嵌入面向關(guān)系的SQL語句,使開發(fā)人員不能完全運(yùn)用面向?qū)ο蟮乃季S來編寫程序。</p><p> 業(yè)務(wù)邏輯和關(guān)系數(shù)據(jù)模型綁定,如果關(guān)系數(shù)據(jù)模型發(fā)生變化,例如修改了CUSTOMERS表的結(jié)構(gòu),那么必須手工修改程序代碼中所有相關(guān)的SQL語句,這增加了維護(hù)軟件的難度。</p><p> 如果程序代碼中的SQL語句包含語法錯誤,在編譯時不能檢查這
72、種錯誤,只有在運(yùn)行時才能發(fā)現(xiàn)這種錯誤,這增加了調(diào)試程序的難度。</p><p> Hibernate操縱數(shù)據(jù)庫的優(yōu)點</p><p> Hibernate提供了Java對象到數(shù)據(jù)庫表之間的直接映射,開發(fā)者無需直接涉及數(shù)據(jù)庫操作的實現(xiàn)細(xì)節(jié),實現(xiàn)了一站式的ORM解決方案。通過Hibernate API編寫訪問數(shù)據(jù)庫的代碼,對JDBC進(jìn)行了封裝,負(fù)責(zé)Java對象的持久化, Hibernate
73、既不會滲透到上層域模型中,也不會滲透到下層數(shù)據(jù)模型中。軟件開發(fā)人員可以獨立設(shè)計域模型,不必強(qiáng)迫遵守任何規(guī)范。數(shù)據(jù)庫設(shè)計人員可以獨立設(shè)計數(shù)據(jù)模型,不必強(qiáng)迫遵守任何規(guī)范。</p><p><b> 4.概要設(shè)計</b></p><p> 4.1、系統(tǒng)體系結(jié)構(gòu)</p><p> 系統(tǒng)設(shè)計采用典型的三層結(jié)構(gòu)模式:第一層JSP頁面主要實現(xiàn)對管理界面
74、的顯示和解釋、中間層組件實現(xiàn)業(yè)務(wù)邏輯的控制和對數(shù)據(jù)庫的操作,第三層數(shù)據(jù)庫服務(wù)器主要對系統(tǒng)提高數(shù)據(jù)服務(wù)。中間層的Struts的Aaction組件主要負(fù)責(zé)流程控制工作,Spring實現(xiàn)了全部中間業(yè)務(wù)邏輯,Hibernate實現(xiàn)了對數(shù)據(jù)庫的操作和數(shù)據(jù)的持久化工作。</p><p><b> 圖5. 系統(tǒng)模式圖</b></p><p> 注:應(yīng)用程序為四層的軟件分層結(jié)構(gòu),
75、其中業(yè)務(wù)邏輯和Hibernate為三層模式的中間件層組件</p><p> 圖6. 應(yīng)用程序的分層體系結(jié)構(gòu)圖</p><p> 4.2、網(wǎng)絡(luò)銷售系統(tǒng)結(jié)構(gòu)設(shè)計</p><p> 系統(tǒng)主要模塊對應(yīng)的struts組件</p><p> 4.3、銷售系統(tǒng)流程圖</p><p> 圖7. 客戶端流程圖</p>
76、;<p> 圖8. 管理端流程圖</p><p> 5.數(shù)據(jù)庫及ORM相關(guān)設(shè)計</p><p> 5.1、對數(shù)據(jù)庫的操作</p><p> 本系統(tǒng)的對數(shù)據(jù)哭的操縱采用對象操縱。用Hibernate封裝了JDBC的驅(qū)動,數(shù)據(jù)庫中的每長表對應(yīng)一個JDO,對象的持久化直接對持久化類進(jìn)行操縱,方便快捷,效率很高,而且省去了每條數(shù)據(jù)單獨操作的麻煩,可以把
77、整個對象進(jìn)行修改和查詢,整體操作安全省時,而且脈絡(luò)清晰。</p><p> 5.1.1、數(shù)據(jù)庫訪問模式</p><p> 業(yè)務(wù)邏輯和數(shù)據(jù)訪問耦合</p><p> ORM模式:在單個組件中負(fù)責(zé)所有實體域?qū)ο蟮某志没?,封裝數(shù)據(jù)訪問細(xì)節(jié)。 </p><p> 主動域?qū)ο竽J剑河蓪嶓w域?qū)ο蟊旧碡?fù)責(zé)管理自己的持久化</p>&l
78、t;p> JDO模式: SUN公司制定的描述對象持久化語義的標(biāo)準(zhǔn)API </p><p> CMP模式:由容器負(fù)責(zé)管理持久化</p><p> 圖9. ORM模型圖</p><p> 5.1.2、通過Hibernate API操縱數(shù)據(jù)庫 </p><p> 通過Hibernate API編寫訪問數(shù)據(jù)庫的代碼,對JDBC進(jìn)行了封
79、裝,負(fù)責(zé)Java對象的持久化, Hibernate既不會滲透到上層域模型中,也不會滲透到下層數(shù)據(jù)模型中。</p><p> 圖10.數(shù)據(jù)庫訪問類圖</p><p> 5.2、數(shù)據(jù)庫設(shè)計 </p><p> 數(shù)據(jù)庫的設(shè)計對一個系統(tǒng)的開發(fā)至關(guān)重要,就如同該高樓要地基建的要好一樣,它是整個系統(tǒng)開發(fā)的基礎(chǔ)和先決條件,也是ORM模型的必要部分。我們必須設(shè)計一個合理的數(shù)據(jù)
80、庫表,才能在建立模型匹配和數(shù)據(jù)持久化的時候一步到位,而不用做更多的善后工作,而且數(shù)據(jù)庫表的連接一定也要設(shè)計的合理,以便對象模型和關(guān)系數(shù)據(jù)庫模型關(guān)聯(lián)的時候映射文件的設(shè)計。</p><p> 本系統(tǒng)開發(fā)采用SQL Server 2000數(shù)據(jù)庫。SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)中應(yīng)用最廣泛的一個版本。該版本繼承了SQL Server 7.0 版本的優(yōu)
81、點同時又比它增加了許多更先進(jìn)的功能具有使用方便??缮炜s性好與相關(guān)軟件集成程度高等優(yōu)點可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺使用。SQL SERVER是基于WINDOWS NT/2000的大型關(guān)系型數(shù)據(jù)庫,它在各種企業(yè)級開發(fā)中獨占鰲頭,從此可以看出本數(shù)據(jù)庫的優(yōu)點所在,因此本系統(tǒng)中選用了該數(shù)據(jù)庫。</p><
82、p> 5.2.1、數(shù)據(jù)庫表設(shè)計 </p><p> 數(shù)據(jù)庫設(shè)計主要是進(jìn)行數(shù)據(jù)庫的邏輯設(shè)計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的。數(shù)據(jù)庫設(shè)計時需要綜合企業(yè)各個部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。</p><p> 數(shù)據(jù)庫
83、的設(shè)計:(數(shù)據(jù)庫表創(chuàng)建語句在附錄1中)</p><p> 表2.數(shù)據(jù)庫中表描述總匯</p><p> 表3. 用戶信息表Users_table</p><p> 表4. 用戶訂單表UserOrders_table</p><p> 表5. 用戶訂單項目詳細(xì)信息ListOrders_table</p><p>
84、; 表6. 購物車信息表Cartshop_table</p><p> 表7. 購物車項目信息列表ListCarts_table</p><p> 表8. 商品信息表ProductInfo_table</p><p> 5.2.2、數(shù)據(jù)庫連接</p><p> 用數(shù)據(jù)庫來保存持久性數(shù)據(jù): Servlet/JSP中可以使用HttpS
85、ession對象也就是會話對象來保存用戶的臨時數(shù)據(jù)。不過如果你想保存持久性數(shù)據(jù)的時候,你應(yīng)該使用數(shù)據(jù)庫,數(shù)據(jù)保存數(shù)據(jù)會更安全,而且對客戶所用的瀏覽器沒有什么要求。這樣即使你的應(yīng)用服務(wù)器由于某種原因崩潰了,你的數(shù)據(jù)依然良好。</p><p> 以下為Hibernate的配置文件(hibernate.properties)及說明:</p><p> hibernate.dialect=ne
86、t.sf.hibernate.dialect.MySQLDialect---指定數(shù)據(jù)庫使用的SQL方言。</p><p> hibernate.connection.driver_class=com.mysql.jdbc.Driver---指定數(shù)據(jù)庫驅(qū)動程序</p><p> hibernate.connection.url=jdbc:mysql://localhost:3306/ne
87、tshop---指定連接數(shù)據(jù)庫URL</p><p> hibernate.connection.username=root---指定數(shù)據(jù)庫的用戶名</p><p> hibernate.connection.password=1234---指定數(shù)據(jù)庫的口令</p><p> hibernate.show_sql=true---如果為true,表示在程序運(yùn)行時
88、,會在控制臺輸出sql語句,咋和有利于跟蹤HIBERNATE運(yùn)行狀態(tài).反之在應(yīng)用開發(fā)和測試階段,可以把這個屬性設(shè)為TRUE,以便跟蹤和調(diào)試應(yīng)用程序,在應(yīng)用發(fā)布階段,應(yīng)該把這個屬性設(shè)為FALSE,以便減少應(yīng)用的輸出信息.</p><p> 5.3、數(shù)據(jù)庫管理模型:</p><p> 由于本系統(tǒng)開發(fā)使用Hibernate對數(shù)據(jù)庫進(jìn)行了封裝,對數(shù)據(jù)的操作是運(yùn)用對持久化對象來實現(xiàn)的,所以數(shù)據(jù)庫
89、管理模型一定要設(shè)計好,它涉及到JDO的自動生成中的關(guān)聯(lián)問題和檢索策略的確定.</p><p> 數(shù)據(jù)庫模型設(shè)計一般不采用多對多的關(guān)系,在多對多的對應(yīng)關(guān)系中,實現(xiàn)雙向關(guān)聯(lián)的問題很難處理,而且檢索效率很低,一般多對多的關(guān)聯(lián)我們拆分成兩個一隊多的關(guān)聯(lián)關(guān)系.</p><p> 本設(shè)計中用戶模型與定單是多對一的關(guān)聯(lián)關(guān)系,一個用戶可以進(jìn)行多次購買,可以產(chǎn)生多個定單.</p><
90、p> 所銷售的商品和用戶是多對多的關(guān)系,我們將其拆成兩個一對多的關(guān)聯(lián)關(guān)系,即一個商品可以被多個用戶購買,一個用戶可以購買多個商品.</p><p> 定單和商品也一樣都是經(jīng)過拆分,將多對多的關(guān)系轉(zhuǎn)換成定單和商品的一對多和商品同定單的一對多關(guān)聯(lián)關(guān)系</p><p> 數(shù)據(jù)模型的詳見圖10.</p><p><b> 圖10.數(shù)據(jù)模型</b
91、></p><p> 5.4、對數(shù)據(jù)庫的操作對象關(guān)系映射</p><p> 1.采用XML文件來配置對象-關(guān)系映射的優(yōu)點</p><p> Hibernate既不會滲透到上層域模型中,也不會滲透到下層數(shù)據(jù)模型中。</p><p> 軟件開發(fā)人員可以獨立設(shè)計域模型,不必強(qiáng)迫遵守任何規(guī)范。</p><p>
92、 數(shù)據(jù)庫設(shè)計人員可以獨立設(shè)計數(shù)據(jù)模型,不必強(qiáng)迫遵守任何規(guī)范。</p><p> 對象-關(guān)系映射不依賴于任何程序代碼,如果需要修改對象-關(guān)系映射,只需修改XML文件,不需要修改任何程序,提高了軟件的靈活性,并且使維護(hù)更加方便。</p><p> 2.對象關(guān)系映射舉例</p><p> Customer.hbm.xml配置的對象-關(guān)系映射 </p>
93、<p> 圖11.Customer對象關(guān)系映射</p><p> 6.詳細(xì)設(shè)計與系統(tǒng)實現(xiàn)</p><p> 6.1、配置文件的設(shè)計 </p><p> 以下為Struts在WEB應(yīng)用的框圖,詳細(xì)設(shè)計的開始根據(jù)需求分析概要設(shè)計搭建環(huán)境,添加各個需要的配置文件,對各種類庫進(jìn)行加載。</p><p> 圖12. 配置文件在開發(fā)中
94、的應(yīng)用</p><p> 6.1.1、WEB.XML的設(shè)計</p><p> 創(chuàng)建Web應(yīng)用的配置文件web.xml </p><p> 對于Struts應(yīng)用,它的配置文件web.xml應(yīng)該對ActionServlet類進(jìn)行配置,此外,還應(yīng)該聲明Web應(yīng)用所使用的Struts標(biāo)簽庫。</p><p> 本系統(tǒng)web.xml中有關(guān)配置信
95、息如下 </p><p><b> <servlet></b></p><p> <servlet-name>action</servlet-name></p><p> <servlet-class>org.apache.struts.action.ActionServlet</se
96、rvlet-class></p><p> <init-param></p><p> <param-name>config</param-name></p><p> <param-value>/WEB-INF/struts-config.xml</param-value></p>
97、<p> </init-param></p><p> <load-on-startup>2</load-on-startup></p><p> </servlet></p><p> 全部的請求URI以*.do的模式存在并映射到這個servlet,其配置如下:</p><p
98、> <!-- Standard Action Servlet Mapping --></p><p> <servlet-mapping></p><p> <servlet-name>action</servlet-name></p><p> <url-pattern>*.do</u
99、rl-pattern></p><p> </servlet-mapping></p><p> 6.1.2、struts-config.xml設(shè)計</p><p> 控制器如何知道什么樣的信息轉(zhuǎn)發(fā)到什么樣的Action類呢?這就需要一些與動作和請求信息相對應(yīng)的映射配置說明。在struts 中,這些配置映射信息是存儲在特定的XML文件(比如s
100、truts-config.xml)。 </p><p> 這些配置信息在系統(tǒng)啟動的時候被讀入內(nèi)存,供struts framework在運(yùn)行期間使用。在內(nèi)存中,每一個<action>元素都與org.apache.struts.action.ActionMapping類的一個實例對應(yīng)。 </p><p> 本系統(tǒng)struts-config.xml配置文件如下:只演示了部分Ac
101、tion的配置</p><p> <?xml version="1.0" encoding="ISO-8859-1"?></p><p> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.
102、2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"></p><p> <struts-config></p><p> <form-beans></p><p> <form-bean name="loginFor
103、mBean" type="control.LoginFormBean" /></p><p> <form-bean name="registerFormBean" type="control.RegisteFormBean" /></p><p> </form-beans>&l
104、t;/p><p> <action-mappings></p><p> <action path="/actions/showloginMain"type="control.LoginAction"</p><p> name="loginFormBean" scope="r
105、equest" input="/forms/login.jsp"></p><p> <forward name="badl" path="/forms/login.jsp" /></p><p> <forward name="successl" path="/
106、WEB-INF/results/main.jsp" /></p><p><b> </action></b></p><p> </action-mappings></p><p> <message-resources parameter="control.MessageReso
107、urces"</p><p> null="false" /> </p><p> </struts-config></p><p><b> 相關(guān)說明:</b></p><p> ActionMapping (org.apache.struts.action.Ac
108、tionMapping) 描述了框架是如何處理每一個離散的業(yè)務(wù)操作 (或 action)的。 在Struts中,每個ActionMapping 通過其path 屬性和一個特定的URI 相關(guān)。</p><p> 當(dāng)一個請求到來, ActionServlet 使用 path 屬性來選擇對應(yīng)的ActionMapping。一組ActionMapping 對象被放在一個ActionMappings 集合之中(org.ap
109、ache.struts.action.ActionMappings)</p><p> Path: ActionMapping URI,或者path,對用戶來說就象web server上的一個文件。但實際上它并不代表一個文件。它是一個對ActionMapping的虛擬引用。</p><p> Forward: 當(dāng)指定了forward 屬性時,servlet將不會把請求傳遞給Action
110、類,而是調(diào)用RequestDispatcher.forward。因為操作沒有使用Action 類, 它也可以被用來進(jìn)行Struts 和其它資源之間的集成,或者用來構(gòu)建系統(tǒng)原型。forward, include, 以及 type屬性是互斥的。</p><p> Include:當(dāng)指定了include 屬性時, servlet將不會把請求傳遞給Action 類而是調(diào)用RequedtDispatcher.includ
111、e方法。因為操作沒有使用Action 類, 它也可以被用來機(jī)械進(jìn)行Struts 和其它組件之間的集成。forward, include, 以及 type 屬性是互斥的。</p><p> Type:大部分 mapping都會指定一個 Action 類類型,而不是一個forward 或者 include。Action 類可以被多個mapping使用。</p><p> Name:如果在S
112、truts 配置文件中配置了相應(yīng)的formbean段的話,這個屬性指定了form bean的邏輯名稱。</p><p> Scope: ActionForm bean 可以存儲在當(dāng)前的請求或會話范圍中(這樣它可以服務(wù)于另外的請求)。雖然大部分開發(fā)人員使用請求范圍來存儲ActionForm, 框架的缺省設(shè)置卻是會話范圍。</p><p> Validate: ActionForm 生命周
113、期內(nèi)的一個重要步驟是在其數(shù)據(jù)提供給業(yè)務(wù)層之前需要進(jìn)行校驗。當(dāng)mapping 的validate 屬性設(shè)置為true時,ActionServlet將調(diào)用ActionForm的 validate方法。如果 validate 返回false,請求將被轉(zhuǎn)發(fā)到input 屬性指定的資源。</p><p> Input:當(dāng)validate被設(shè)置為true時,重要的是需要提供一個有效的輸入路徑。這也是當(dāng)ActionFormv
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)上購物畢業(yè)論文--網(wǎng)上購物系統(tǒng)的分析與設(shè)計
- 網(wǎng)上購物系統(tǒng)畢業(yè)設(shè)計論文
- 網(wǎng)上購物系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計論文---- 網(wǎng)上購物系統(tǒng)
- uml網(wǎng)上購物系統(tǒng)課程設(shè)計--網(wǎng)上購物系統(tǒng)
- jsp網(wǎng)上購物系統(tǒng)畢業(yè)設(shè)計論文
- jsp網(wǎng)上購物系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計論文正文----網(wǎng)上購物系統(tǒng)
- 畢業(yè)論文網(wǎng)上購物系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計論文正文----網(wǎng)上購物系統(tǒng)
- 網(wǎng)上購物系統(tǒng)畢業(yè)論文
- 網(wǎng)上購物系統(tǒng)畢業(yè)論文
- 網(wǎng)上購物系統(tǒng)畢業(yè)論文
- jsp網(wǎng)上購物系統(tǒng)課程論文
- 網(wǎng)上商城購物系統(tǒng)畢業(yè)設(shè)計論文
- 網(wǎng)上商城購物系統(tǒng)畢業(yè)設(shè)計論文
- 基于jsp的網(wǎng)上購物系統(tǒng)設(shè)計 學(xué)年論文
- 網(wǎng)上購物課程設(shè)計論文
- 畢業(yè)論文——網(wǎng)上購物系統(tǒng) (3)
- 畢業(yè)論文——網(wǎng)上購物系統(tǒng) (3)
評論
0/150
提交評論