基于Java的商城網(wǎng)站系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于Java的商城網(wǎng)站系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于Java的商城網(wǎng)站系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于Java的商城網(wǎng)站系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于Java的商城網(wǎng)站系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 2016屆畢業(yè)生畢業(yè)論文題目:基于JAVA的商城網(wǎng)站系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)院(系)別 經(jīng)濟(jì)與管理學(xué)院 專 業(yè) 電子商務(wù) 班 級 電商121 學(xué) 號 120914117 姓 名 許榮倩 指導(dǎo)教師 張啟徽 二一五年十一月摘 要隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,Internet的普及,以及IT技術(shù)的迅猛發(fā)展,我們的社會已經(jīng)進(jìn)入了一個信息化時代。隨著信息化時代的到來,電子商務(wù)隨之產(chǎn)生。電子商務(wù)指利用簡單、快捷、低成本的電子網(wǎng)絡(luò)通訊方式,買賣雙方通過互聯(lián)網(wǎng)進(jìn)行各種服務(wù)、產(chǎn)品等有形或無形商品交換的的一種商業(yè)交易模式。隨著信息時代的到來,以及互聯(lián)網(wǎng)的迅速發(fā)展和普及,人們消費(fèi)觀念和生活方式也逐漸發(fā)生了改變,電子商務(wù)這種新

2、型的商業(yè)模式逐漸融入了人們的生活中。本網(wǎng)站的設(shè)計(jì)和開發(fā)是基于web的一個網(wǎng)上商城交易系統(tǒng)。系統(tǒng)主要以J2EE 5.0作為開發(fā)基礎(chǔ),使用了struts2+spring+hibernate等多種協(xié)議或技術(shù),用My Eclipse作為開發(fā)工具,以JSP和CSS技術(shù)進(jìn)行頁面的布局和美化。基本實(shí)現(xiàn)了網(wǎng)上商城交易系統(tǒng)應(yīng)有的基本功能和主要模塊,該系統(tǒng)界面簡單、操作方便,容易維護(hù)。關(guān)鍵字:電子商務(wù),J2EE,struts2 + spring + hibernate,商城網(wǎng)站AbstractWith the rapid development of Internet technology, the popula

3、rity of Internet, as well as the rapid development of IT technology, our society has entered an era of information technology. With the advent of the information age, electronic commerce will be produced. Electronic commerce refers to the use of simple, fast, low-cost electronic network communicatio

4、n, the seller and the buyer through the Internet to carry out a variety of services, products, such as tangible or intangible commodity exchange of a business model. With the advent of the information age, and the rapid development and popularization of the Internet, people's consumption concept

5、 and way of life also gradually changed, electronic commerce as a new business model gradually integrated into the people's lives.The design and development of this website is an online shopping mall system based on Web. System mainly to J2EE 5 as the basis for development, using a variety of pr

6、otocols such as struts2+spring+hibernate or technology, using Eclipse My as a development tool to JSP and CSS technology for the layout and beautification of the page. Basically realized the basic functions and main modules of the online shopping mall transaction system, the system interface is simp

7、le, easy to operate, easy to maintain.  Key words: E-commerce ,J2EE  ,struts2 + spring + hibernate ,Mall website目 錄 前 言11 課題研究綜述21.1 論文框架21.2 課題背景21.3 課題目的和意義22 系統(tǒng)應(yīng)用的關(guān)鍵技術(shù)32.1 JSP技術(shù)介紹32.1.1 JSP的概述32.1.2 JSP技術(shù)的特點(diǎn)32.2 JAVA組件JavaBeans42.2.1 什么是JavaBeans42.2.2 JavaBeans與JSP的關(guān)系42.3 J2E

8、E概述42.4 Struts2概述52.4.1 Struts2簡介52.4.2 Sturus2的主要功能52.4.3 Sturus2的工作原理52.5 Spring概述72.5.1 Spring簡介72.5.2 Spring的工作機(jī)制、優(yōu)點(diǎn)及功能72.6 Hibernate概述82.6.1 Hibernate簡介82.6.2 Hibernate的優(yōu)點(diǎn)82.6.3 Hibernate的工作原理92.7 MySql概述92.7.1 MySql簡介92.7.2 MySql的特點(diǎn)102.8 Tomcat服務(wù)器概述102.8.1 Tomcat簡介102.8.2 Tomcat的優(yōu)勢103 系統(tǒng)的需求分析和

9、總體設(shè)計(jì)113.1 系統(tǒng)的功能需求分析113.1.1 系統(tǒng)前臺功能需求分析113.1.2 系統(tǒng)后臺功能需求分析113.2 系統(tǒng)的角色及其功能分析113.2.1 系統(tǒng)的三種角色113.2.2 系統(tǒng)的角色功能分析113.3 網(wǎng)站總體設(shè)計(jì)123.3.1 項(xiàng)目規(guī)劃123.3.2 系統(tǒng)功能結(jié)構(gòu)圖123.3.3 設(shè)計(jì)目標(biāo)133.3.4 開發(fā)及運(yùn)行環(huán)境133.4 系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)143.5 系統(tǒng)的類設(shè)計(jì)183.5.1 POJO類的設(shè)計(jì)183.5.2 DAO類的設(shè)計(jì)193.5.3 過濾器的設(shè)計(jì)193.5.4 Action類的設(shè)計(jì)203.5.5 監(jiān)聽器的設(shè)計(jì)204 系統(tǒng)的實(shí)現(xiàn)214.1 數(shù)據(jù)庫與POJO映射的實(shí)

10、現(xiàn)214.2 主要模塊的實(shí)現(xiàn)與界面展示214.2.1 商城前臺功能實(shí)現(xiàn)214.2.2 前臺會員管理模塊234.2.3 購物車管理模塊234.2.4 后臺管理模塊23結(jié) 論25致 謝26參考文獻(xiàn)27前 言隨著我國互聯(lián)網(wǎng)的普及以及IT技術(shù)的迅速發(fā)展,電子商務(wù)應(yīng)運(yùn)而生,出現(xiàn)在人們的視線中。隨著社會的發(fā)展,人們的享受欲望也在逐漸增加,傳統(tǒng)的購物方式已經(jīng)不再能夠滿足人們對購物的欲望,而電子商務(wù)的產(chǎn)生給人們帶來了新的曙光。電子商務(wù)的經(jīng)典模式就是網(wǎng)上電子商城。網(wǎng)上電子商城它向顧客展現(xiàn)了一種新的新的消費(fèi)理念。網(wǎng)絡(luò)的特性也在電子商城上充分的體現(xiàn)出來。在網(wǎng)絡(luò)商城的出現(xiàn)打破了商品在空間,時間上的限定。網(wǎng)絡(luò)電子商城2

11、4小時對客戶開放。如果用戶需要,只要登錄商城系統(tǒng),世界各地的數(shù)以千計(jì)商品就可以通過網(wǎng)絡(luò)展現(xiàn)在用戶眼前,用戶就可以根據(jù)自己的需求進(jìn)行選購。這種購物方式。節(jié)省時間,節(jié)約成本。消費(fèi)者不用舟車勞頓趕往各地選購商品,在商城選購之后,只需坐等家中,商品就可以到達(dá)消費(fèi)者手中。商家負(fù)責(zé)將商品送達(dá)消費(fèi)者手中,大大節(jié)省了時間成本和費(fèi)用。網(wǎng)絡(luò)商城還大大加強(qiáng)了用戶與用戶間、用戶與商家間的交流,用戶可以通過網(wǎng)絡(luò)了解商品的各中信息,商家可以通過網(wǎng)絡(luò)了解消費(fèi)者的需求。商家可以根據(jù)獲得的信息及時調(diào)整商業(yè)策略,獲得更大的利益。消費(fèi)者則可以貨比三家,買到更實(shí)惠的商品,一定程度上避免了商業(yè)欺騙的行為。這種信息的交流提高了交易的透明

12、度,也加強(qiáng)了商業(yè)競爭。網(wǎng)絡(luò)商城不僅擁有信息交互的作用,他還需要簡介漂亮的頁面。本商城系統(tǒng)使用JSP技術(shù)編寫頁面。JSP技術(shù)可以解決了商城需要向用戶提供靜態(tài)消息和動態(tài)消息的需求。本系統(tǒng)分為前臺和后臺兩個小系統(tǒng),共用一個數(shù)據(jù)庫,后臺是商城管理人員的天地,實(shí)現(xiàn)了對商城商品、顧客和公開消息的管理。前臺是針對消費(fèi)者開發(fā)的空間,消費(fèi)者可以在這個電子構(gòu)筑的空間里購買商品,獲取信息。商城還應(yīng)用了struts2 + spring + hibernate整合框架技術(shù),使得編碼更加簡單方便,大大提高了代碼的復(fù)用,簡化了編碼的過程。將hibernate整合進(jìn)spring中,進(jìn)行分層編碼,提高了編碼的效率,簡化了對數(shù)據(jù)

13、庫的操作。本商城系統(tǒng)實(shí)現(xiàn)了用戶對商城系統(tǒng)的基本需求的實(shí)現(xiàn),但還存在許多的不足之處。在對商城的設(shè)計(jì)和開發(fā)過程中,讓我加深了對電子商城的了解,對項(xiàng)目開發(fā)過程的了解,更發(fā)現(xiàn)了自身在技術(shù)層面的欠缺并進(jìn)行補(bǔ)漏,還對以前所學(xué)的技術(shù)進(jìn)行了鞏固和提高。1 課題研究綜述1.1 論文框架本文共分四個章節(jié),系統(tǒng)的闡述了網(wǎng)站系統(tǒng)開發(fā)和設(shè)計(jì)的全過程。第1章 ,主要介紹了系統(tǒng)開發(fā)的背景、目的和意義。第2章 ,主要介紹了商城網(wǎng)站系統(tǒng)開發(fā)用到的開發(fā)工具和關(guān)鍵技術(shù)。第3章 ,主要對網(wǎng)站系統(tǒng)的需求和功能進(jìn)行分析以及設(shè)計(jì)。分析了網(wǎng)站系統(tǒng)需要提供的角色,以及角色的各種功能。還對各功能進(jìn)行模塊劃分,對各功能模塊進(jìn)行分析設(shè)計(jì)。對數(shù)據(jù)庫、

14、過濾器、監(jiān)聽器和實(shí)體類的設(shè)計(jì),并進(jìn)行解析描述。第四章,主要對各個功能模塊的實(shí)現(xiàn)及實(shí)現(xiàn)的方法進(jìn)行解析描述。并給出關(guān)鍵源代碼和最終效果圖。1.2 課題背景隨著當(dāng)今社會進(jìn)入互聯(lián)網(wǎng)信息時代,互聯(lián)網(wǎng)的飛速發(fā)展和普及給人類生活帶來巨大的改變。Internet將傳統(tǒng)意義的社會空間轉(zhuǎn)變成了一個用電子構(gòu)造的虛擬空間,把人們帶入了一個網(wǎng)絡(luò)虛擬社會中。網(wǎng)絡(luò)時代的到來,帶給人們的不只是快捷、方便,它帶來的是劃時代的進(jìn)步。在網(wǎng)絡(luò)大家族中,電子商務(wù)則是一個熱點(diǎn),它的發(fā)展速度之快遠(yuǎn)遠(yuǎn)超過我們的想象,普及速度之快令人難以置信。我們完全有理由相信,全球性的電子商務(wù)熱潮必將一浪高于一浪。電子商務(wù)將信息、網(wǎng)絡(luò)、生物工程和其他高科技

15、產(chǎn)業(yè)聯(lián)系起來,孕育了巨大的市場和無限的商機(jī)?;ヂ?lián)網(wǎng)的迅速發(fā)展使市場突破了空間的限制,使企業(yè)或商家可以用網(wǎng)絡(luò)將遙遙相隔的人們聚集在同一個商業(yè)營銷網(wǎng)中,獲得全球性的無界限的商務(wù)空間。企業(yè)利用電子商務(wù),實(shí)施全球性的商務(wù)經(jīng)營戰(zhàn)略,加強(qiáng)全球范圍內(nèi)商家的合作,增強(qiáng)全球性的商業(yè)競爭能力,特別是對于剛剛起步的小企業(yè),通過電子商務(wù)了解世界市場的需求,促進(jìn)與全球經(jīng)濟(jì)的接軌,可以使企業(yè)更具有競爭力。1.3 課題目的和意義電子商務(wù)是現(xiàn)代化產(chǎn)業(yè)的重要產(chǎn)業(yè),自從出現(xiàn)在人們的生活中就備受關(guān)注和歡迎,并且在近年來得到了迅速的發(fā)展。電子商務(wù)產(chǎn)業(yè)就有“三高”、“三新”的特點(diǎn)。電子商務(wù)還具有人流、物流、資金流和信息流“四流合一”的

16、核心價值鏈。電子商務(wù)產(chǎn)業(yè)具有市場全球化、交易連續(xù)化、成本低廉化、資源集約化等優(yōu)勢。隨著電子商務(wù)發(fā)展環(huán)境的不斷完善,電子商務(wù)將被廣泛應(yīng)用于生產(chǎn)、流通、消費(fèi)等各領(lǐng)域和社會生活的各個層面。電子商務(wù)將覆蓋我們生活的每個方面,影響著我們的生活,給我們的生活帶來了很多方便。網(wǎng)上商城作為B to C(Business to Customer,企業(yè)對消費(fèi)者)、C to C(Customer to Customer,消費(fèi)者對消費(fèi)者)電子商務(wù)的前端商務(wù)平臺,在其商務(wù)活動全過程中起著舉足輕重的作用。本商城網(wǎng)站系統(tǒng)的目的和意義是旨在建立一個操作簡單,界面簡潔,用戶關(guān)系簡單,商品統(tǒng)一管理的一個B t

17、o C 的電子商務(wù)網(wǎng)上商城。它包括后臺和前臺兩個系統(tǒng),兩個部分操作完全分開,公用一個數(shù)據(jù)庫。實(shí)現(xiàn)后臺對商品和各種信息的管理和前臺用戶對商品查看,購買等功能。2 系統(tǒng)應(yīng)用的關(guān)鍵技術(shù)2.1 JSP技術(shù)介紹2.1.1 JSP的概述JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺的,可以在不同的系統(tǒng)平臺下運(yùn)行。JSP技術(shù)使用Java編程語言編寫類XML的

18、JSP標(biāo)記和Java程序代碼,來封裝產(chǎn)生動態(tài)網(wǎng)頁的代碼。網(wǎng)頁還能通過JSP標(biāo)記和Java程序代碼訪問服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。2.1.2 JSP技術(shù)的特點(diǎn)JSP技術(shù)所開發(fā)基于java的web應(yīng)用程序具有跨平臺、業(yè)務(wù)代碼分離、組件重用和預(yù)編譯的特點(diǎn)。(1)跨平臺JSP是基于Java語言的,所以它可以使用Java API,所以JSP也具有了Java的跨平臺特性。正因?yàn)樗目缙脚_特性,使得用JSP技術(shù)開發(fā)的項(xiàng)目可以不加修改的應(yīng)用到不同的平臺上。另外,JSP還可以用于不同的數(shù)據(jù)庫,JSP使用JD

19、BC技術(shù)操作數(shù)據(jù)庫,可以避免代碼移植導(dǎo)致更換數(shù)據(jù)庫時的代碼修改問題。(2)業(yè)務(wù)代碼分離用JSP技術(shù)開發(fā)的項(xiàng)目,通常用HTML語言和CSS來進(jìn)行頁面的布局和美化,使用EL標(biāo)簽和js片段來動態(tài)加載數(shù)據(jù)。程序開發(fā)人員可以將業(yè)務(wù)處理代碼全部放到JavaBean中,或者把業(yè)務(wù)處理代碼交給Servlet、Struts等其他業(yè)務(wù)控制層來處理,這樣JSP頁面只負(fù)責(zé)顯示數(shù)據(jù)即可從而實(shí)現(xiàn)業(yè)務(wù)代和頁面顯示代碼的分離。當(dāng)需要修改業(yè)務(wù)代碼時,只需修改業(yè)務(wù)控制層的Java代碼即可,不會影響JSP頁面的代碼。(3)組件重用JSP中可以使用Java文件編寫業(yè)務(wù)邏輯,也就是使用一個Java類封裝處理業(yè)務(wù)邏輯代碼或者一個bean

20、實(shí)體類,在JSP頁面甚至整個項(xiàng)目中都可以重復(fù)使用這個java程序。JavaBean也可以應(yīng)用到其他Java應(yīng)用程序中,包括桌面應(yīng)用程序。(4)預(yù)編譯預(yù)編譯就是在用戶第一次通過瀏覽器訪問JSP頁面時,服務(wù)器將對JSP頁面代碼進(jìn)行編譯,并且僅執(zhí)行一次編譯。編譯好的代碼將被保存,在用戶下一次訪問時,直接執(zhí)行編譯好的代碼。這樣不僅節(jié)約了服務(wù)器的CPU資源,還大大提升了客戶端的訪問速度。2.2 JAVA組件JavaBeans2.2.1 什么是JavaBeansJavaBeans事實(shí)上有三層含義。首先,JavaBeans是一種規(guī)范,一種在Java(包括JSP)中使用可重復(fù)使用的Java組件的技術(shù)規(guī)范,也可

21、以說成我們常說的接口。其次,JavaBeans是一個Java的類,一般來說,這樣的Java類將對應(yīng)于一個獨(dú)立的 .java文件 ,在絕大多數(shù)情況下,這應(yīng)該是一個public類型的類。最后,當(dāng)JavaBeans這樣的一個Java類在我們的具體的Java程序中被實(shí)例之后,這就是我們面向?qū)ο蟮膶ο?,我們有時也會將這樣的一個JavaBeans的實(shí)例稱之為JavaBeans??傊?,就是Java中的接口、類和對象。2.2.2 JavaBeans與JSP的關(guān)系使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML和XML的進(jìn)行頁面的設(shè)計(jì)和控制頁面的格式。頁面上的動態(tài)內(nèi)容利用JSP標(biāo)識或小腳本語言動態(tài)加載。被在J

22、SP和JavaBeans組件中封裝生成內(nèi)容的邏輯,并且捆綁在小腳本中,所有的腳本在服務(wù)器上運(yùn)行。在標(biāo)識和JavaBeans中封裝的核心邏輯,可以方便的網(wǎng)頁設(shè)計(jì)師編輯和使用JSP頁面。在服務(wù)器端,JSP引擎編譯JSP標(biāo)識生成所請求的內(nèi)容,并結(jié)果以HTML頁面的形式發(fā)送回瀏覽器。絕大多數(shù)JSP頁面依賴于可重用并且可跨平臺的組件(如JavaBeans)來執(zhí)行程序所要求的復(fù)雜的處理。有利于開發(fā)人員共享或交換實(shí)現(xiàn)普通操作的組件,從而加速團(tuán)隊(duì)開發(fā)過程。因此,對于較為復(fù)雜的應(yīng)用程序,JSP的復(fù)雜架構(gòu)就只有由JavaBeans達(dá)成,才可有效的執(zhí)行操作。2.3 J2EE概述J2EE是一套技術(shù)架構(gòu),它不同于傳統(tǒng)應(yīng)

23、用框架,它包含多個組件,可簡化應(yīng)用系統(tǒng)的開發(fā)與部署,提高程序的可移植性、實(shí)現(xiàn)程序的復(fù)用。J2EE由一組技術(shù)規(guī)范和指南,其中所包括的各類組件、服務(wù)結(jié)構(gòu)及技術(shù)層次,為其提供標(biāo)準(zhǔn)及規(guī)格,讓其適用于J2EE架構(gòu)的不同平臺之間,存在較好的兼容性,解決之前企業(yè)后臺使用的信息產(chǎn)品之間沒法兼容,解決企業(yè)內(nèi)部或外部溝通問題。J2EE各種組件和“一般” Java類的不同點(diǎn)在于:它被使用在一個J2EE程序中,具有規(guī)定的格式并遵循J2EE規(guī)范,由J2EE的服務(wù)器對它們進(jìn)行約束。J2EE規(guī)范:客戶端應(yīng)用程序和applet是屬于客戶端的組件;Servlet和jsp 屬于服務(wù)器端的組件;Enterprise Java Be

24、an (EJB )屬于服務(wù)器端的業(yè)務(wù)組件。2.4 Struts2概述2.4.1 Struts2簡介Struts2是一個基于MVC設(shè)計(jì)模式的Web應(yīng)用框架,它本質(zhì)上相當(dāng)于一個servlet,在MVC設(shè)計(jì)模式中,Struts2作為控制器 (Controller)來建立模型與視圖的數(shù)據(jù)交互。Struts 2是Struts的二代產(chǎn)品,是在 struts 1和WebWork的基礎(chǔ)上進(jìn)行了合并優(yōu)化的全新的框架。Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)差別巨大。Struts 2是以WebWork為核心,通過攔截器來處理用戶請求,這樣的設(shè)計(jì)有效的分離了業(yè)務(wù)層與ServletAPI,所以Strut

25、s 2是WebWork后更好的框架。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。2.4.2 Sturus2的主要功能(1)包含一個controllerServlet,它處理用戶的請求并發(fā)送到被請求的action對象。(2)controllerservlet 還可以為JSP tag庫提供關(guān)聯(lián)支持,從而有效的協(xié)助開發(fā)人員創(chuàng)建使用交互式表單。(3)提供了一些實(shí)用對象:處理 XML、JavaBeans屬性、國際化的實(shí)現(xiàn)等技術(shù)。Struts項(xiàng)目的目標(biāo)是為創(chuàng)建Java web應(yīng)用提供一個開放源代framework。Struts framew

26、ork的內(nèi)核是基于控制層。(例如JavaBeans,Java Servlets,XML, ResourceBundles,和各種Jakarta Commons包等)。Struts2由于提供自身的控制器組件和整合了其他技術(shù),所以以能提供模型和視圖。Struts2運(yùn)用于各種商業(yè)軟件或操作系統(tǒng),是一個非常優(yōu)秀servlet框架。2.4.3 Sturus2的工作原理在web應(yīng)用啟動時就會加載初始化ActionServlet,ActionServlet從struts-config.xml文件中讀取配置信息,把它們存放到各種配置對象當(dāng)ActionServlet接收到一個客戶請求時,將執(zhí)行如下流程.(1)檢

27、索和用戶請求匹配的ActionMapping實(shí)例,如果不存在,就返回請求路徑無效信息;(2)如果ActionForm實(shí)例不存在,就創(chuàng)建一個ActionForm對象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對象中;(3)根據(jù)配置信息決定是否需要表單驗(yàn)證.如果需要驗(yàn)證,就調(diào)用ActionForm的validate()方法;(4)如果ActionForm的validate()方法返回null或返回一個不包含ActionMessage的ActuibErrors對象, 就表示表單驗(yàn)證成功;(5)ActionServlet根據(jù)ActionMapping所包含的映射信息決定將請求轉(zhuǎn)發(fā)給哪個Action

28、,如果相應(yīng)的Action實(shí)例不存在,就先創(chuàng)建這個實(shí)例,然后調(diào)用Action的execute()方法;(6)Action的execute()方法返回一個ActionForward對象,ActionServlet在把客戶請求轉(zhuǎn)發(fā)給ActionForward對象指向的JSP組件;(7)ActionForward對象指向JSP組件生成動態(tài)網(wǎng)頁,返回給客戶;如圖2-1所示:圖2-1:Struts2原理圖2.5 Spring概述2.5.1 Spring簡介Spring是分層的JavaSE/EE full-stack(一站式) 輕量級開源框架(1)分層:SUN提供的EE的三層結(jié)構(gòu):web層、業(yè)務(wù)層、數(shù)據(jù)訪問

29、層(持久層,集成層) Struts2是web層基于MVC設(shè)計(jì)模式框架. Hibernate是持久的一個ORM的框架.(2) 一站式:Spring框架有對三層的每層解決方案:web層:Spring MVC. 持久層:JDBC Template 業(yè)務(wù)層:Spring的Bean管理.(3)Spring的核心:IOC:(Inverse of Control 反轉(zhuǎn)控制) 控制反轉(zhuǎn):將對象的創(chuàng)建權(quán),交由Spring完成。 AOP:Aspect Oriented Programming 是 面向?qū)ο蟮墓δ苎由?不是替換面向?qū)ο?是用來解決OO中一些問題。 IOC:控制反轉(zhuǎn)。2.5.2 Spring的工作機(jī)制

30、、優(yōu)點(diǎn)及功能(1)spring的工作機(jī)制 spring mvc請所有的請求都提交給DispatcherServlet,它會委托應(yīng)用系統(tǒng)的其他模塊負(fù)責(zé)負(fù)責(zé)對請求進(jìn)行真正的處理工作。 DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller。 DispatcherServlet請請求提交到目標(biāo)Controller。 Controller進(jìn)行業(yè)務(wù)邏輯處理后,會返回一個ModelAndView。 Dispathcher查詢一個或多個ViewResolver視圖解析器,找到ModelAndView對象指定的視圖對象。 視圖對象負(fù)責(zé)渲染返回給客戶端。

31、 (2)Spring的優(yōu)點(diǎn)如下: Spring就是一個大工廠,可以將所有對象創(chuàng)建和依賴關(guān)系維護(hù),交給Spring管理AOP編程的支持。 Spring是POJO編程,POJO編程使得可持續(xù)構(gòu)建和可測試能力提高依賴注入和IoC使得JDBC操作簡單化。 Spring提供面向切面編程,可以方便的實(shí)現(xiàn)對程序進(jìn)行權(quán)限攔截、運(yùn)行監(jiān)控等功能聲明式事務(wù)的支持。 Spring不排斥各種優(yōu)秀的開源框架,其內(nèi)部提供了對各種優(yōu)秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持降低JavaEE API的使用難度。(3)spring的功能Spring即使一個AOP框架,也是一IOC容器

32、。 Spring 最好的地方是它有助于您替換對象。有了 Spring,只要用 JavaBean 屬性和配置文件加入依賴性(協(xié)作對象)。然后可以很容易地在需要時替換具有類似接口的協(xié)作對象。IOC 允許創(chuàng)建一個可以構(gòu)造對象的應(yīng)用環(huán)境,然后向這些對象傳遞它們的協(xié)作對象。正如單詞 倒置 所表明的,IOC 就像反過來的 JNDI。沒有使用一堆抽象工廠、服務(wù)定位器、單元素(singleton)和直接構(gòu)造(straight construction),每一個對象都是用其協(xié)作對象構(gòu)造的。因此是由容器管理協(xié)作對象(collaborator)。2.6 Hibernate概述2.6.1 Hibernate簡介Hib

33、ernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate是輕量級JavaEE應(yīng)用的持久層解決方案,是一個關(guān)系數(shù)據(jù)庫ORM框架.* ORM:Object Relational Mapping;* 傳統(tǒng)方式開發(fā);* 持久層;* 編寫SQL.執(zhí)行SQL.

34、 String sql = “insert into 表 values (?,?,?.)”;* 開發(fā)語言Java:面向?qū)ο螅? 數(shù)據(jù)庫:MySQL(關(guān)系型的數(shù)據(jù)庫);* 將Java中的實(shí)體類與數(shù)據(jù)庫的關(guān)系表建立一個映射.就可以操作Java中對象,從而操作數(shù)據(jù)庫。2.6.2 Hibernate的優(yōu)點(diǎn)(1) 對象/關(guān)系數(shù)據(jù)庫映射(ORM)它使用時只需要操縱對象,使開發(fā)更對象化,拋棄了數(shù)據(jù)庫中心的思想,完全的面向?qū)ο笏枷?。hibernate的性能非常好,因?yàn)樗莻€輕量級框架。映射的靈活性很出色。它支持各種關(guān)系數(shù)據(jù)庫,從一對一到多對多的各種復(fù)雜關(guān)系。(2) 透明持久化(persistent)hiber

35、nate使用Java反射機(jī)制,而不是字節(jié)碼增強(qiáng)程序來實(shí)現(xiàn)透明性。實(shí)現(xiàn)對實(shí)體類的持久化,持久化的類會與session相關(guān)聯(lián), 當(dāng)session關(guān)閉,持久化對象將處于游離狀態(tài),被別的程序使用。而session打開和關(guān)閉的過程很短,所以持久化類的生命周期也很短暫。 (3) 事務(wù)Transaction(org.hibernate.Transaction)Hibernate對事務(wù)進(jìn)行管理。事務(wù)是單線程的,它油hibernate將具體的JDBC、JTA抽象出來進(jìn)行事務(wù)隔離,存在一個session中,每次使用事務(wù)都必須開啟事務(wù)和提交事務(wù)。 (4) 它沒有侵入性,即所謂的輕量級框架(5) 移植性會很好(6)

36、緩存機(jī)制,提供一級緩存和二級緩存(7) 簡潔的HQL編程2.6.3 Hibernate的工作原理Hibernate得工作原理:首先配置好hibernate的配置文件和與類對應(yīng)的配置文件后,啟動服務(wù)器。服務(wù)器啟動后通過實(shí)例化Configeration對象,讀取hibernate.cfg.xml文件的配置內(nèi)容,并根據(jù)相關(guān)的需求建好表或者和表建立好映射關(guān)系;hibernate通過實(shí)例化的Configeration對象就可以建立sessionFactory實(shí)例,進(jìn)一步,通過sessionFactory實(shí)例可以創(chuàng)建session對象;hibernate打開session之后,便可以創(chuàng)建事務(wù)Transat

37、ion,進(jìn)行持久化類操作,然后提交事務(wù)關(guān)閉session,關(guān)閉SesstionFactory。這是hibernate的工作原理及過程。除此外,hibernate還可以通過事物管理,表的關(guān)聯(lián)來實(shí)現(xiàn)較為復(fù)雜的數(shù)據(jù)庫設(shè)計(jì)。2.7 MySql概述2.7.1 MySql簡介MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言-結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)庫管理。由于MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個性化的需要對其進(jìn)行修改。MySQL因?yàn)槠渌俣?、可靠性和適應(yīng)性而備受關(guān)注。

38、大多數(shù)人都認(rèn)為在不需要事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇。MySQL,雖然功能未必很強(qiáng)大,但因?yàn)樗拈_源、廣泛傳播,導(dǎo)致很多人都了解到這個數(shù)據(jù)庫。它的歷史也富有傳奇性。2.7.2 MySql的特點(diǎn)(1)完全開源MySQL的數(shù)據(jù)庫管理系統(tǒng)(DBMS,Database Management System)是一個開源系統(tǒng)這是他的最大優(yōu)勢之一。開源意味著用戶可以免費(fèi)下載,當(dāng)然,并不是完全免費(fèi)免費(fèi),它還是有許多付費(fèi)功能。但是開源的特點(diǎn)使用戶可以根據(jù)自己的需求修改DBMS。 MySQL采用了GPL(General Public License),這意味著授權(quán)給用戶可以閱讀,修改和優(yōu)化源代碼

39、,這樣即使是免費(fèi)版的MySQL的功能也足夠強(qiáng)大。(2)快速更新和用戶友好MySQL的更新很快,MySQL的新版本不斷增加新功能,新特性。每當(dāng)新的版本出來之后,MySQL都會成為大多數(shù)服務(wù)器的主要數(shù)據(jù)庫。Linux web服務(wù)器已經(jīng)成為現(xiàn)在web服務(wù)器的主流,MySQL在linux服務(wù)器上面也得到了廣泛的應(yīng)用。(3)WebsitePanel,phpMyAdmin 和MySQl的黃金組合對于初學(xué)者來說,通過虛擬主機(jī)商提供的websitePanel控制面板學(xué)習(xí)MySQL是一個很不錯的方法。用戶不僅可以觀看很多視頻教程來學(xué)習(xí)使用 MySQL,還可以使用PhpMyAdmin通過web方式管理數(shù)據(jù)庫。 2

40、.8 Tomcat服務(wù)器概述2.8.1 Tomcat簡介Tomcat服務(wù)器是開源的免費(fèi)的web應(yīng)用服務(wù)器。Tomcat是一個由Apache軟件基金會(Apache Software Foundation)開發(fā)的Jakarta項(xiàng)目中的核心項(xiàng)目之一,由Apache軟件基金會、Sun公司和其他一些公司及個人合作開發(fā)而成。由于有了Sun公司的參與和支持,Tomcat中總能體現(xiàn)出最新的Servlet技術(shù) 和JSP技術(shù)規(guī)范,Tomcat 5支持最新的Servlet 2.4和JSP 2.0規(guī)范。由于Tomcat先進(jìn)的技術(shù)、穩(wěn)定的性能,還有免費(fèi)使用,所以深受廣大編程人員的喜愛,成為目前比較流行的Web應(yīng)用服務(wù)

41、器。2.8.2 Tomcat的優(yōu)勢(1)Tomcat是Apache的核心項(xiàng)目之一,也被 SUN 視作 Servlet/JSP 容器的一個重要參考實(shí)現(xiàn)而加以支持。因此 SUN 最新的Servlet/JSP規(guī)范,往往能夠很快地在Tomcat的新版本中得到體現(xiàn)。(2)Tomcat是一個小巧精致的web應(yīng)用服務(wù)器,配置、安裝、運(yùn)行、部署web應(yīng)用都很簡單,這讓用戶能夠很快地上手使用。(3)開源軟件的生命力,往往與其社區(qū)的狀況有緊密的聯(lián)系。Tomcat所擁有的優(yōu)秀社區(qū),對開發(fā)者而言,疑問和反饋能夠及時解決和有效的處理。這樣會吸引更多的人加入這個社區(qū)。不斷擴(kuò)大的用戶群,也會促進(jìn)社區(qū)的發(fā)展,使得社區(qū)更加充滿

42、活力。(4)編寫良好的文檔,是開發(fā)者在開發(fā)中最好的幫手之一。Apache在開源社區(qū)中,無疑是撰寫文檔方面的佼佼者。(5)由于Tomact開源和免費(fèi)的特性,使用戶無障礙自由地下載、安裝、使用Tomcat。這也是 Tomcat 能夠被廣泛使用的重要原因之一。3 系統(tǒng)的需求分析和總體設(shè)計(jì)3.1 系統(tǒng)的功能需求分析3.1.1 系統(tǒng)前臺功能需求分析(1)簡潔美觀的界面,保證操作的簡易性。(2)嚴(yán)格、規(guī)范的會員信息注冊。(3)會員的注冊,登陸,退出,修改。(4)嚴(yán)格分類商品,按類別查詢商品。(5)商品的分類查詢和按名稱查詢。(6)會員可以進(jìn)行網(wǎng)上商品的選購。(7)查看新上架商品和特價商品。(8)按照商品的

43、銷售數(shù)量進(jìn)行排行。 3.1.2 系統(tǒng)后臺功能需求分析(1) 簡單明了的界面,能保證系統(tǒng)的易用性(2) 管理員的登錄。(3) 對商品信息的添加、查看、修改。(4) 對網(wǎng)站前臺公告、信息的發(fā)布,刪除等管理。(5) 對網(wǎng)站會員的管理。3.2 系統(tǒng)的角色及其功能分析3.2.1 系統(tǒng)的三種角色根據(jù)對系統(tǒng)前臺和后臺的分析,系統(tǒng)的使用者總共有三種角色:(6) 前臺普通網(wǎng)站瀏覽者,即游客(7) 前臺網(wǎng)站會員用戶(8) 后臺網(wǎng)站管理者3.2.2 系統(tǒng)的角色功能分析(1)普通用戶網(wǎng)站的普通瀏覽者(即游客)只能瀏覽商品。(2)會員用戶普通瀏覽者只要注冊為網(wǎng)站會員用戶后,獲得自己的帳號,設(shè)置自己的密碼就具有以下功能:

44、登錄,退出,向購物車中添加商品,清空購物車,刪除購物車內(nèi)商品,生成并提交訂單,查看個人訂單,添加或修改個人資料等。(3)管理員后臺管理員必須登錄后才能瀏覽網(wǎng)頁和查看后臺信息。后臺管理員具有對商品、商品分類、訂單、公告、會員用戶的查看,修改,刪除,添加功能和退出系統(tǒng)的功能。3.3 網(wǎng)站總體設(shè)計(jì) 項(xiàng)目規(guī)劃電子商務(wù)系統(tǒng)是一個典型的JSP數(shù)據(jù)庫開發(fā)應(yīng)用程序,由前臺的商品展示、搜索及購買和后臺管理2部分組成。(1)前臺商品展示、搜索及購買該部分主要包括新品上架、銷售排行、特價商品、購物車管理、會員管理、商品公告及訂單查詢、商品查詢等。(2)后臺管理該部分主要對商城內(nèi)的一些基礎(chǔ)數(shù)據(jù)進(jìn)行有效管理,包括商品管

45、理、會員管理、訂單管理、公告管理等。3.3.2 系統(tǒng)功能結(jié)構(gòu)圖電子商務(wù)系統(tǒng)前臺功能結(jié)構(gòu)如圖3-1所示:圖3-1 系統(tǒng)前臺功能結(jié)構(gòu)圖電子商務(wù)系統(tǒng)后臺功能結(jié)構(gòu)如圖3-2所示:圖3-2 系統(tǒng)后臺功能結(jié)構(gòu)圖3.3.3 設(shè)計(jì)目標(biāo)本系統(tǒng)在設(shè)計(jì)時應(yīng)該滿足以下幾個目標(biāo):友好的界面,良好的用戶體驗(yàn),與用戶進(jìn)行良好的溝通全面展示商城內(nèi)所有商品,并可展示最新商品及特價商品為顧客提供一個方便、快捷的商品信息查詢功能。采用模糊查詢查詢數(shù)據(jù)。會員可以隨時修改自己的會員資料。 實(shí)現(xiàn)網(wǎng)上購物。商品銷售排行,幫助顧客了解商城商品的銷售熱點(diǎn),和方便公司管理者制定銷售策略。方便用戶查看商城的公告信息。用戶登錄網(wǎng)站可以查看所有的訂單

46、。會員注冊,進(jìn)行數(shù)據(jù)驗(yàn)證,保證數(shù)據(jù)的準(zhǔn)確性。系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性,系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。3.3.4 開發(fā)及運(yùn)行環(huán)境(1)硬件平臺:* CPU:Intel(R) Celeron(R);* 內(nèi)存:1G以上。(2)軟件平臺:* 操作系統(tǒng):Windows XP;* 數(shù)據(jù)庫:MySQL;* 開發(fā)工具包:JDK Version 1.6;* JSP服務(wù)器:Tomcat 7.0;* 瀏覽器:IE6.0 以上;* 分辨率:最佳效果1024×768。3.4 系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)(1)users(會員信息表)會員信息表主要用來存儲所注冊的會員的信息。表users的結(jié)構(gòu)如表3-1所示:表3-

47、1:會員信息表字段名數(shù)據(jù)類型長度是否主鍵描述uidbigint11是會員IDunamevarchar100會員名upasswordvarchar100會員密碼uemailvarchar100會員Emailamoneydouble8消費(fèi)額arankchar10會員等級utruenamevarchar100會員真實(shí)姓名ustatechar1會員狀態(tài)createtimevarchar100創(chuàng)建時間updatetimetimestamp0修改時間 (2)usersbook(會員地址簿表)會員地址簿表主要存儲會員的收貨地址和通訊等信息,usersbook表結(jié)構(gòu)如表3-2所示:表3-2:會員地址簿表字段名

48、數(shù)據(jù)類型長度是否主鍵描述ubidbigint4是地址薄IDuidbigint4外鍵會員IDuaddressvarchar80收貨地址unamevarchar20收貨人姓名upostcodevarchar6郵政編碼utelephonevarchar20聯(lián)系電話createtimetimestamp8創(chuàng)建時間updatetimetimestamp8修改時間 (3)goods(商品信息表)商品信息表主要用來保存商品信息,goods表結(jié)構(gòu)如表3-3所示:表3-3:商品信息表字段名數(shù)據(jù)類型長度是否主鍵描述gidbigint8是商品IDsupidbigint8大分類IDsubidbigint8外鍵小分類I

49、Dgnamevarchar30商品名稱goutpricedouble8市場價格ginpricedouble8商城價格gisspecialchar1是否特價gnumstoreint4商品數(shù)量gnumsoldint4已出售商品數(shù)量gcontentvarchar100商品簡介gpicturevarchar100商品圖片ncreatenamevarchar100創(chuàng)建人ncreatetimevarchar100創(chuàng)建時間nupdatenamevarchar100修改人nupdatenametimestamp0修改時間 (4)suptl(大分類表)大分類表主要存放商品的大分類,suptl表結(jié)構(gòu)如表3-4所示

50、:表3-4:大分類表字段名數(shù)據(jù)類型長度是否主鍵描述supidbigint4是大分類IDsupnamevarchar20大分類名稱supdescribevarchar200大分類描述 (5)subtl(小分類表)小分類表主要存儲商品的小分類,subtl表結(jié)構(gòu)如表3-5所示:表3-5:小分類表字段名數(shù)據(jù)類型長度是否主鍵描述subidbigint4是小分類IDsubnamevarchar20小分類名稱supidbigint4外鍵大分類IDsubdescribevarchar200小分類描述 (6)favourite(商品收藏表)商品收藏表用來保存用戶收藏的商品,表favourite的表結(jié)構(gòu)如表3-6

51、所示:表3-6:商品收藏表字段名數(shù)據(jù)類型長度是否主鍵描述IDbigint11是收藏IDuidbigint8外鍵會員IDgidbigint11外鍵商品ID (7)orderl(訂單信息主表)訂單信息主表用來保存訂單的概要信息。表orderL的結(jié)構(gòu)如表3-7所示:表3-7:訂單信息主表字段名數(shù)據(jù)類型長度是否主鍵描述oidbigint11是訂單IDonumbervarchar100訂單編號uidbigint11外鍵會員IDubidint11外鍵地址薄idocaccountdouble8訂單總金額pidbigint11外鍵付款方式ocidbigint100外鍵開具發(fā)票obillchar1是否開具發(fā)票o

52、contentvarchar15發(fā)票抬頭didint11外鍵送貨方式ortidint11外鍵送貨時間IDoremarkvarchar200訂單備注ostatechar1訂單狀態(tài)ocreatetimevarchar100創(chuàng)建時間oupdatetimedatetime11修改時間 (8)orderDetail(訂單明細(xì)表)訂單明細(xì)表用來保存訂單的詳細(xì)信息。表orderDetail的結(jié)構(gòu)如表3-8所示:表3-8:訂單明細(xì)表字段名數(shù)據(jù)類型長度是否主鍵描述odidbigint是訂單明細(xì)IDoidbigint8外鍵訂單IDgidbigint8外鍵商品IDgnamevarchar4商品名稱gpricedou

53、ble8商品單價gnumberint11商品數(shù)量ocreatetimevarchar100創(chuàng)建時間oupdatetimetimestamp0修改時間(9) paytype(訂單付款方式表)訂單付款方式表存儲訂單的付款方式,paytype表的表結(jié)構(gòu)如表3-9所示:字段名數(shù)據(jù)類型長度是否主鍵描述pidint4是支付方式IDpcontentvarchar50支付方式內(nèi)容pdescribevarchar150描述表3-9:訂單付款方式表(10)delivertype(送貨方式表)送貨方式表存儲的是訂單商品的送貨方式,delivertype表結(jié)構(gòu)如表3-10所示:表3-10:送貨方式表字段名數(shù)據(jù)類型長度是否主鍵描述didint4是送貨方式IDdcontentvarchar50送貨方式內(nèi)容ddaysint4送貨天數(shù)ddescribevarchar150描述 (11)ordercarrytime(送貨時間表)送貨時間表存放訂單的送貨時間,ordercarrytime表的表結(jié)構(gòu)如表3-11所示:表3-11:送貨時間表字段名數(shù)據(jù)類型長度是否主鍵描述ortidint4是送貨時間IDortcontentvarchar100送貨時間內(nèi)容 (12)Ordercheck(訂單發(fā)票表)訂單發(fā)票表存儲每一筆訂單的發(fā)票信息,ordercheck表結(jié)構(gòu)如表3-12所示

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論