jsp5基于shh的手機(jī)購(gòu)物網(wǎng)站(ssh)_第1頁(yè)
jsp5基于shh的手機(jī)購(gòu)物網(wǎng)站(ssh)_第2頁(yè)
jsp5基于shh的手機(jī)購(gòu)物網(wǎng)站(ssh)_第3頁(yè)
jsp5基于shh的手機(jī)購(gòu)物網(wǎng)站(ssh)_第4頁(yè)
jsp5基于shh的手機(jī)購(gòu)物網(wǎng)站(ssh)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章系統(tǒng)概述1.1電子商務(wù)介紹在20世紀(jì)90年代電子商務(wù)緊跟著信息經(jīng)濟(jì)的腳步成為在美國(guó)、歐洲等發(fā)達(dá)國(guó)家崛起的新概念。日前,電子商務(wù)在國(guó)際上并沒有統(tǒng)一的說明和解釋。通常來說,消費(fèi)者在開放的國(guó)際互聯(lián)網(wǎng)和其他網(wǎng)絡(luò)環(huán)境下經(jīng)過服務(wù)器的運(yùn)行完成網(wǎng)上購(gòu)物、企業(yè)間商業(yè)交易的一種新式的貿(mào)易運(yùn)營(yíng),這便是狹義上的電子商務(wù)。即電子商務(wù)=Web(服務(wù)器)+I(xiàn)T(信息技術(shù))+企業(yè)業(yè)務(wù)。電子商務(wù)的種類有以下幾種:從它業(yè)務(wù)往來的對(duì)象來看,電子商務(wù)的運(yùn)用包含了企業(yè)與企業(yè)之間的電子商務(wù)(B2B)、企業(yè)與消費(fèi)者之間的電子商務(wù)(B2C)、企業(yè)與政府之間的電子商務(wù)(B2G)、政府與消費(fèi)者之間的電子商務(wù)(G2C)、企業(yè)內(nèi)部的電子商務(wù)。②電子商務(wù)的內(nèi)在特質(zhì):商務(wù)和電子商務(wù)角逐力在于信息平臺(tái)、電子商務(wù)的任務(wù)在于使用互聯(lián)網(wǎng)科技對(duì)傳統(tǒng)能源融合——這才是電子商務(wù)的核心?,F(xiàn)如今電子商務(wù)已經(jīng)發(fā)展成為貿(mào)易的全球化、直接化、網(wǎng)絡(luò)化,電子商務(wù)的發(fā)展已經(jīng)呈現(xiàn)勢(shì)不可擋的趨勢(shì),但是我國(guó)的電子商務(wù)仍然有待優(yōu)化。如果想盡早的完成全過程的電子商務(wù),就要加緊網(wǎng)絡(luò)基本設(shè)施的建立和網(wǎng)絡(luò)互聯(lián),讓金融電子化及海關(guān)、稅務(wù)、行政監(jiān)管部門電子化,市場(chǎng)環(huán)境網(wǎng)上支付不在是夢(mèng)想,盡快建成安全的系統(tǒng)認(rèn)證體系,健全相關(guān)法律法規(guī)等等。1.2電子商務(wù)系統(tǒng)初級(jí)的電子商務(wù)網(wǎng)上交易實(shí)現(xiàn)的體系就要以電子商務(wù)系統(tǒng)為保證。網(wǎng)上貿(mào)易的信息交流就是通過數(shù)字化的信息渠道實(shí)行的,交易的兩方都一定要具有一定的信息技術(shù)用具。為了保證雙方的利益不受損害,并且得到保障,一定要有相對(duì)應(yīng)的貨物配送和支付結(jié)算的策略。另外,為了讓企業(yè)、組織和消費(fèi)者可以利用數(shù)字化交流渠道,讓交易順?biāo)爝M(jìn)行配送和支付多一層保障,這就需要口的中間商參與其中,就是通俗意義上的電子商務(wù)服務(wù)商。一個(gè)詳細(xì)的電子商務(wù)解剖體系,如圖1-1所示:圖1-1電子商務(wù)系統(tǒng)下面按電子商務(wù)系統(tǒng)的基礎(chǔ)和環(huán)境來分別介紹。1.2.1基礎(chǔ)電子商務(wù)系統(tǒng)初級(jí)的電子商務(wù)體系囊括了Internet信息系統(tǒng)、電子商務(wù)服務(wù)商、企業(yè)、組織、消費(fèi)者、實(shí)物配送和支付結(jié)算這五點(diǎn)。這五點(diǎn)就像人的五官一樣缺一不可,因?yàn)槿魏我稽c(diǎn)都決定這網(wǎng)上購(gòu)物能活順利完成。Internet信息系統(tǒng)企業(yè)、組織和電子商務(wù)服務(wù)商在Internet的底子上創(chuàng)造新的信息體系就是Internet信息體系。Internet存在的意義就是提供一個(gè)不僅通達(dá),而且具有安全性和可控制性的網(wǎng)上信息貿(mào)易平臺(tái)。這是電子商務(wù)的心臟。②電子商務(wù)服務(wù)商Internet是一個(gè)蘊(yùn)含著極大商機(jī)和潛力的平臺(tái),更是大批專業(yè)化分工者進(jìn)行相互合作的舞臺(tái),他們?yōu)槠髽I(yè)、組織和消費(fèi)者在網(wǎng)上交易提供了保障。這些就是電子服務(wù)商的影響和價(jià)值。電子商務(wù)服務(wù)商主要分為以下幾種:a、接入服務(wù)商(InternetAccessProvider,IAP),它重點(diǎn)提供Internet通信和線路租借服務(wù)。b、服務(wù)提供商(InternetServiceProvider,ISP),它關(guān)鍵為企業(yè)建立電子商務(wù)系體系提供全方位的支持。通常的企業(yè)、組織與消費(fèi)者上網(wǎng)時(shí)僅僅由ISP接入Internet,由ISP向IAP租借線路。c、內(nèi)容服務(wù)提供商(InternetContentProvider,ICP),以為企業(yè)提供信息內(nèi)容服務(wù)為首要任務(wù),如財(cái)經(jīng)信息、搜索引擎。d、應(yīng)用服務(wù)系統(tǒng)提供商(ApplicationServiceProvider,ASP),為企業(yè)、組織建設(shè)電子商務(wù)系統(tǒng)時(shí)提供解決方案是它的核心任務(wù)。③企業(yè)、組織與消費(fèi)者企業(yè)電子商務(wù)系統(tǒng)是由基于Intranet(企業(yè)內(nèi)部網(wǎng))基礎(chǔ)上的企業(yè)管理信息系統(tǒng)、電子商務(wù)站點(diǎn)和企業(yè)經(jīng)營(yíng)管理組織的人員組成。網(wǎng)上貿(mào)易交流的主要群體是企業(yè)、組織和消費(fèi)者,這些被稱之為網(wǎng)上交易的基礎(chǔ)。企業(yè)電子商務(wù)體系是以Internet(企業(yè)內(nèi)部網(wǎng))如圖1-2所示。圖1-2企業(yè)電子商務(wù)系統(tǒng)結(jié)構(gòu)圖a、企業(yè)內(nèi)部網(wǎng)絡(luò)系統(tǒng)企業(yè)組建電子商務(wù)體系時(shí)主要是考慮這幾個(gè)元素:第一是思考企業(yè)的經(jīng)營(yíng)者是誰(shuí)的問題,第二怎么采用不一樣的方法與這些客戶溝通。對(duì)于重要的戰(zhàn)略合作者或者可以簡(jiǎn)單的稱之為合伙人,企業(yè)要讓他們對(duì)企業(yè)的系統(tǒng)有不一樣的認(rèn)識(shí)和深入的認(rèn)知,必須讓其進(jìn)入企業(yè)的Intranet系統(tǒng)并且查看相關(guān)的信息;然而對(duì)于和企業(yè)業(yè)務(wù)相關(guān)合作的企業(yè),企業(yè)需要和他們一起建立Extranet,方便企業(yè)間在信息資源上的共享;對(duì)普通的客戶做到Internet進(jìn)行聯(lián)系交流就夠了。b、企業(yè)管理信息系統(tǒng)如何在組織中看眼有效發(fā)揮收集、處理、存儲(chǔ)以及傳播信息和支持組織的決策是企業(yè)管理信息系統(tǒng)的影響。根據(jù)組織的不同用處,將其分成多個(gè)不同的信息系統(tǒng),例如營(yíng)銷系統(tǒng)、制造系統(tǒng)、財(cái)務(wù)系統(tǒng)、人力資源系統(tǒng)等,然后各部門各司其職,使之高效運(yùn)轉(zhuǎn),這就是部門信息化的必要性。依據(jù)組織內(nèi)部結(jié)構(gòu)還可以把企業(yè)管理信息系統(tǒng)更加細(xì)化,比如說可劃分為操作層、管理層、戰(zhàn)略層這四個(gè)不能層面。每個(gè)層面任務(wù)不能,操作層負(fù)責(zé)平日里基本的經(jīng)營(yíng)活動(dòng)和交易記錄;知識(shí)層負(fù)責(zé)專業(yè)知識(shí)和數(shù)據(jù)的提煉從而幫助工作人員的工作;管理層負(fù)責(zé)管理、監(jiān)督和控制,在管理的同時(shí)有效的做到控制局面;戰(zhàn)略管理層是至關(guān)重要的,不僅要負(fù)責(zé)資金是否到位,還要為企業(yè)的長(zhǎng)遠(yuǎn)發(fā)展做好規(guī)劃。c、電子商務(wù)站點(diǎn)它不僅可以直接連接到互聯(lián)網(wǎng),顧客或供貨商都可以直接通過網(wǎng)站了解企業(yè)信息、企業(yè)文化以及保證交易順利,而且可以將市場(chǎng)和企業(yè)有效連接起來,將市場(chǎng)信息快速與企業(yè)信息融合,這樣企業(yè)就不會(huì)與市場(chǎng)脫軌,也可以掌握市場(chǎng)動(dòng)態(tài)。電子商務(wù)站點(diǎn)在其中起到的作用可謂是承上啟下。企業(yè)內(nèi)部網(wǎng)絡(luò)系統(tǒng)、企業(yè)管理信息系統(tǒng)、電子商務(wù)站點(diǎn)是企業(yè)電子商務(wù)中的“金三角”,三者缺一不可。企業(yè)內(nèi)部網(wǎng)絡(luò)系統(tǒng)是信息傳播的媒介,就讓貨幣是商品交易的媒介一樣;企業(yè)管理信息系統(tǒng)則是扮演工人的角色,負(fù)責(zé)加工和處理;電子商務(wù)站是企業(yè)推展業(yè)務(wù)的通道。④商品配送在網(wǎng)上交易主要是因?yàn)樗芊奖?,可以送貨上門,如果買家付款后不能及時(shí)享受到配送和送貨上門的服務(wù),這就不能滿足買家的需求。因此,一個(gè)完整的電子商務(wù)系統(tǒng)是需要高效率的配送物流體系為紐帶的。⑤支付結(jié)算支付問題是網(wǎng)上購(gòu)物中的重要問題,由于現(xiàn)在網(wǎng)上購(gòu)物處于發(fā)展階段,仍然有許多問題沒有解決,例如信用問題和網(wǎng)上交易安全問題,因此許多網(wǎng)上購(gòu)物并不通過網(wǎng)絡(luò)平臺(tái)完成交易。1.2.2電子商務(wù)系統(tǒng)環(huán)境電子商務(wù)系統(tǒng)在提供交易的同時(shí)必須經(jīng)過信息交換、支付結(jié)算和商品配送這基礎(chǔ)的服務(wù),還將面臨更大的挑戰(zhàn),例如信息技術(shù)和交易平臺(tái)不成熟的新問題,每個(gè)問題都將帶來嚴(yán)重的后果,有的會(huì)給企業(yè)帶來致命的打擊,有的會(huì)讓消費(fèi)者對(duì)企業(yè)喪失信心。。要想上述問題得到有效解決必須從市場(chǎng)外部環(huán)境著手。企業(yè)要通過制定相關(guān)政策,遵守法律法規(guī)來完善自我,保證消費(fèi)者權(quán)益;社會(huì)上需要普及網(wǎng)上交易知識(shí),做好引導(dǎo)工作。政府要完善法律法規(guī)。綜上所述,發(fā)展電子商務(wù)不是單方面的,是需要政府、企業(yè)、社會(huì)一起積極參與的,1.3電子商務(wù)系統(tǒng)Web平臺(tái)的開發(fā)方式1.3.1Web平臺(tái)的體系架構(gòu)Web平臺(tái)的三層分布式體系結(jié)構(gòu)為圖1-3所示??蛻舳藶g覽器客戶端瀏覽器Web服務(wù)器應(yīng)用服務(wù)器數(shù)據(jù)庫(kù)服務(wù)器反饋頁(yè)面HTTP請(qǐng)求事務(wù)邏輯請(qǐng)求結(jié)果圖1-3Web平臺(tái)的三層分布式體系結(jié)構(gòu)三層分布式體系結(jié)構(gòu)的第一層是客戶端表示層、客戶層僅僅是整個(gè)應(yīng)用系統(tǒng)的圖形界面表示;處于第二層的應(yīng)用服務(wù)層,有一臺(tái)或多臺(tái)服務(wù)器組成,其中Web服務(wù)器主要負(fù)責(zé)對(duì)客戶端應(yīng)用程序的集中管理,應(yīng)用服務(wù)器(ApplicationServer)主要負(fù)責(zé)應(yīng)用邏輯的集中管理,即事務(wù)處理;處于第三層的是數(shù)據(jù)中心層,有數(shù)據(jù)庫(kù)系統(tǒng),主要負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和組織、數(shù)據(jù)庫(kù)的分布式管理、數(shù)據(jù)庫(kù)的備份和同步等等。電子商務(wù)的應(yīng)用可以看作一個(gè)客戶與電子商務(wù)站點(diǎn)之間的一系列交互過程。整個(gè)交互過程從客戶端所瀏覽的一個(gè)頁(yè)面開始。用戶單擊該頁(yè)面上的一個(gè)按鈕或鏈接就產(chǎn)生一個(gè)請(qǐng)求,該請(qǐng)求通過HTTP傳遞到Web服務(wù)器上,Web服務(wù)器將頁(yè)面中的請(qǐng)求及有關(guān)數(shù)據(jù)取出來傳給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器調(diào)用相關(guān)的商務(wù)邏輯,實(shí)際上是一個(gè)Web應(yīng)用程序,進(jìn)行相應(yīng)的處理,從外部數(shù)據(jù)庫(kù)服務(wù)器存取數(shù)據(jù),然后將結(jié)果傳回Web服務(wù)器,Web服務(wù)器再將數(shù)據(jù)結(jié)果轉(zhuǎn)換為頁(yè)面的形式傳給瀏覽器,于是在客戶端產(chǎn)生了新的頁(yè)面。該頁(yè)面是這一次請(qǐng)求的結(jié)果,也是下一次請(qǐng)求的開始。1.3.2Web服務(wù)器平臺(tái)在電子商務(wù)系統(tǒng)的開發(fā)中,Web服務(wù)器平臺(tái)的選擇是至關(guān)重要的,它包括Web服務(wù)器操作系統(tǒng)和Web服務(wù)器軟件,而Web服務(wù)器軟件通常又決定了將采用什么樣的操作系統(tǒng)。Web服務(wù)器平臺(tái)決定了電子商務(wù)網(wǎng)站的可靠性、對(duì)客戶的服務(wù)能力,以及為了維持網(wǎng)站運(yùn)行所需要付出的代價(jià)。只有選擇了正確的產(chǎn)品以及作出相應(yīng)正確的設(shè)計(jì),電子商務(wù)系統(tǒng)才可以成為商家和顧客之間進(jìn)行溝通的良好途徑。三種最常用的Web服務(wù)器平臺(tái)是:基于ApacheHTTPServer的服務(wù)器平臺(tái)、基于網(wǎng)景的NES的服務(wù)器平臺(tái)、基于微軟的IIS的服務(wù)器平臺(tái)。微軟的Windows2000Server+IIS架構(gòu)的Web服務(wù)器平臺(tái)功能強(qiáng)大,配置靈活,支持目前流行的多種服務(wù)器端開發(fā)技術(shù),開發(fā)成本低、周期短、維護(hù)相對(duì)簡(jiǎn)單,很適合中小企業(yè)進(jìn)行電子商務(wù)系統(tǒng)的開發(fā),我們采用了基于微軟的IIS的Web服務(wù)器平臺(tái)。下面就三種Web服務(wù)器平臺(tái)的特點(diǎn)作一比較。1.基于ApacheHTTPServer的服務(wù)器平臺(tái)Apache是一種功能強(qiáng)大、高靈活性、高可擴(kuò)展性的免費(fèi)Web服務(wù)器軟件。通過靈活的配置,ApacheWeb服務(wù)器可以實(shí)現(xiàn)諸多強(qiáng)大的功能,Apache源代碼開放,所以很容易與第三方模塊相結(jié)合,便于進(jìn)一步擴(kuò)展功能,定制成適合自己需要的系統(tǒng)。Apache可運(yùn)行在多種操作系統(tǒng)及硬件平臺(tái)上,但通常是與Linux操作系統(tǒng)搭配來組建Web服務(wù)器平臺(tái)。如果采用Linux+Apache架構(gòu),可以搭建大型Web服務(wù)器平臺(tái),實(shí)現(xiàn)復(fù)雜的企業(yè)級(jí)電子商務(wù)系統(tǒng)。由于Linux和Apache都是免費(fèi)的軟件,只需要花費(fèi)很低的成本就可以搭建出靈活的電子商務(wù)系統(tǒng)Web平臺(tái),但是它的開發(fā)是復(fù)雜而艱巨的,由于Linux和Apache都是開放的、不斷擴(kuò)展中的軟件,還不是很完善,系統(tǒng)的配置和維護(hù)比較困難,需要專業(yè)人員的參與,對(duì)于小型的企業(yè)電子商務(wù)系統(tǒng)并不適合。2.基于網(wǎng)景的NES的服務(wù)器平臺(tái)網(wǎng)景公司的NetscapeEnterpriseServer(NES)是一個(gè)非常流行的Web服務(wù)器平臺(tái),很適合開發(fā)復(fù)雜的企業(yè)級(jí)網(wǎng)站,幾乎可以在所有流行的操作系統(tǒng)上運(yùn)行,包括Digital、Unix、HP-UX、Solaris和WindowsNT等。因特網(wǎng)上很多有名的網(wǎng)站都是用NES開發(fā)的。NES功能強(qiáng)大,擁有廣泛的第三方組件及工具支持,而且支持多種編程模型。NES通常構(gòu)建在Linux或Unix類操作系統(tǒng)上,一般適用于開發(fā)大型的企業(yè)電子商務(wù)系統(tǒng)。3.基于微軟的IIS的服務(wù)器平臺(tái)微軟公司的InternetInformationServer(IIS)是因特網(wǎng)上非常流行的WWW服務(wù)器軟件,既適用于小網(wǎng)站,也適合于交易量很大的企業(yè)級(jí)網(wǎng)站。目前,IIS只能運(yùn)行在WindowsNT或Windows2000Server上。IIS內(nèi)有一個(gè)集成的搜索引擎,允許用戶用多種工具(包括ASP、ActiveXDataObjects以及SQL數(shù)據(jù)庫(kù)查詢)來創(chuàng)建搜索表,IIS允許用遠(yuǎn)程瀏覽器對(duì)服務(wù)器進(jìn)行管理,支持多個(gè)虛擬主機(jī)。此外由于引入了ASP技術(shù),你可以很方便的利用它來創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè)。Windows2000Server+IIS的架構(gòu)是當(dāng)前非常流行的一種Web服務(wù)器平臺(tái),它的配置和開發(fā)都比較容易,很適合中小企業(yè)開發(fā)B2C型的電子商務(wù)系統(tǒng)。4.Web平臺(tái)的動(dòng)態(tài)設(shè)計(jì)技術(shù)目前比較流行的Web開發(fā)技術(shù)有:CGI,ASP,PHP,JSP,ASP.NET等。在本電子商務(wù)系統(tǒng)的開發(fā)中,我們主要采用了目前比較流行的,來自微軟公司的Web動(dòng)態(tài)設(shè)計(jì)技術(shù)ASP.NET。①CGI技術(shù)CGI(公共網(wǎng)關(guān)接口CommonGatewayInterface)是最古老的Web程序設(shè)計(jì)方式,它提供了一個(gè)外部應(yīng)用程序與Web服務(wù)器交互的標(biāo)準(zhǔn)接口。CGI最大的好處在于其與瀏覽Web站點(diǎn)的用戶之間的交互能力,使信息網(wǎng)關(guān)、反饋機(jī)制、訪問數(shù)據(jù)庫(kù)、訂閱和查詢等一系列靈活復(fù)雜的操作得以實(shí)現(xiàn)。CGI程序可以使用Perl,C,C++等任何能夠形成可執(zhí)行程序的語(yǔ)言編寫,跨平臺(tái)性能極佳,幾乎可以在任何操作系統(tǒng)上實(shí)現(xiàn)。但是CGI開發(fā)很復(fù)雜,且不具備事務(wù)(Transaction)處理功能,會(huì)大量擠占Web系統(tǒng)的資源,影響系統(tǒng)的運(yùn)行效率。②ASP技術(shù)ASP(ActiveServerPages)內(nèi)含于IIS中,提供了一個(gè)服務(wù)器端的腳本運(yùn)行環(huán)境,現(xiàn)在的IIS5.0已經(jīng)支持ASP3.0了。利用它可以產(chǎn)生和運(yùn)行動(dòng)態(tài)的、交互的Web服務(wù)應(yīng)用程序。與常見的在client端實(shí)現(xiàn)動(dòng)態(tài)主頁(yè)的技術(shù)如JavaApplet、ActiveXControl、VBScript、JavaScript等不同,ASP中的命令和Script語(yǔ)句都是由服務(wù)器來解釋執(zhí)行的,執(zhí)行結(jié)果產(chǎn)生動(dòng)態(tài)生成的Web頁(yè)面并送到瀏覽器,而Client端技術(shù)的Script命令則是由瀏覽器來解釋執(zhí)行的。ASP的優(yōu)點(diǎn)是使用Script(描述性的語(yǔ)言),不需要編譯,可嵌入到Web頁(yè)面中,并且由于ASP在服務(wù)器端解釋執(zhí)行,開發(fā)者可以不必考慮瀏覽器是否支持。ASP的缺點(diǎn)是它的跨平臺(tái)能力差,目前只能運(yùn)行在微軟的Web服務(wù)器上,且安全性不好,需要注意經(jīng)常下載微軟發(fā)布的補(bǔ)丁程序。③PHP技術(shù)PHP是一種跨平臺(tái)的服務(wù)器端的嵌入式腳本語(yǔ)言,它大量地借用C、Perl語(yǔ)言的語(yǔ)法,并結(jié)合PHP自己的特性,使Web開發(fā)者能夠快速寫出動(dòng)態(tài)頁(yè)面。它可以在Windows、Unix、Linux的Web服務(wù)器平臺(tái)上正常運(yùn)行,還支持IIS、Apache等通用服務(wù)器軟件,用戶在更換服務(wù)器平臺(tái)時(shí),只需要作少量的改變即可。PHP最大的好處在于它是完全免費(fèi)的,可以不受限制的獲得源碼,使得開發(fā)者容易加入自己的特色。PHP的缺點(diǎn)在于雖然它支持目前大多數(shù)的數(shù)據(jù)庫(kù),但是提供的數(shù)據(jù)庫(kù)接口不統(tǒng)一,比如對(duì)Oracle、MySQL、Sybase的接口都不一樣,而且缺乏對(duì)分布式多層系統(tǒng)結(jié)構(gòu)的支持,由于電子商務(wù)系統(tǒng)會(huì)涉及到多種數(shù)據(jù)源,而且通常采用分布式體系結(jié)構(gòu),因此并不適合用來開發(fā)電子商務(wù)系統(tǒng)。④JSP技術(shù)JSP是Sun公司推出的新一代站點(diǎn)開發(fā)語(yǔ)言,它最大的特點(diǎn)是將Web程序設(shè)計(jì)的邏輯處理和內(nèi)容與外觀設(shè)計(jì)隔開,通過使用JSP標(biāo)記和小腳本來生成頁(yè)面上的動(dòng)態(tài)內(nèi)容。在服務(wù)器端,JSP引擎解釋JSP標(biāo)記和小腳本,生成所請(qǐng)求的內(nèi)容,例如通過訪問JavaBeans組件,使用JDBC/JDO技術(shù)訪問數(shù)據(jù)庫(kù),并且將結(jié)果以HTML或XML頁(yè)面的形式發(fā)送回瀏覽器。由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java編程語(yǔ)言的,擁有Java編程語(yǔ)言“一次編寫,各處運(yùn)行”的跨平臺(tái)無(wú)關(guān)性的好處,開發(fā)效率高,安全性好。⑤ASP.NET技術(shù)NET框架是.NET平臺(tái)中居于核心地位的編程引擎,它提供了.NET代碼的公共運(yùn)行環(huán)境和一個(gè)語(yǔ)言無(wú)關(guān)的基本類庫(kù)。.NET框架是高生產(chǎn)率的、基于標(biāo)準(zhǔn)的多語(yǔ)言應(yīng)用程序執(zhí)行環(huán)境,處理基本雜務(wù)和減輕部署任務(wù)。應(yīng)用程序執(zhí)行環(huán)境管理內(nèi)存,解決版本控制問題以及提高應(yīng)用程序的可靠性、可伸縮性和安全性。公共語(yǔ)言運(yùn)行庫(kù)是.NET框架中的引擎,它提供了一個(gè)安全的托管執(zhí)行環(huán)境,并且旨在用于支持開發(fā)人員使用多種不同的語(yǔ)言來創(chuàng)建應(yīng)用程序。它有統(tǒng)一的類型系統(tǒng)并允許跨語(yǔ)言繼承和調(diào)試。通過使用.NET框架,開發(fā)人員就擁有了速度最快、效率最高的生成應(yīng)用程序的方法。.NET平臺(tái)具有高安全性,.NET框架通過其核心安全功能提供保護(hù)客戶機(jī)和服務(wù)器的方法。由于公共語(yǔ)言運(yùn)行庫(kù)在核心層透明地處理安全性,因此開發(fā)人員可將精力集中于應(yīng)用程序邏輯。開發(fā)人員仍然可以隨時(shí)使用和擴(kuò)展安全模型。目前,CGI技術(shù)由于開發(fā)復(fù)雜,效率也不是很高,現(xiàn)在已經(jīng)很少有人再用它來開發(fā)Web應(yīng)用程序。ASP和PHP技術(shù)則在國(guó)內(nèi)比較流行,但是由于PHP自身的缺點(diǎn),并不是很適合開發(fā)電子商務(wù)系統(tǒng),JSP在國(guó)際上比較流行,適合開發(fā)一些企業(yè)級(jí)電子商務(wù)系統(tǒng),但現(xiàn)在在國(guó)內(nèi)運(yùn)用的還比較少,在技術(shù)上和成本上要求都比較高。因此對(duì)于一些中小企業(yè)開發(fā)B2C型電子商務(wù)系統(tǒng),采用微軟的IIS+ASP方式,開發(fā)周期短,成本低,通過引入XML技術(shù)來描述及傳送數(shù)據(jù)內(nèi)容,可以開發(fā)出靈活的電子商務(wù)應(yīng)用,但是ASP的跨平臺(tái)能力差,目前只能運(yùn)行在微軟的Web服務(wù)器上,且安全性不好,需要注意經(jīng)常下載微軟發(fā)布的補(bǔ)丁程序。因此,本系統(tǒng)采用ASP.NET+I(xiàn)IS5.0、SQLServer2000為開發(fā)工具,具有良好的擴(kuò)展性。1.3.3Web平臺(tái)的開發(fā)方法本系統(tǒng)主要運(yùn)用了MVC來闡述該系統(tǒng)的開發(fā)過程,經(jīng)過系統(tǒng)規(guī)劃、系統(tǒng)需求分析、系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)、系統(tǒng)總體設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì)和測(cè)試逐步完成系統(tǒng)各功能的實(shí)現(xiàn),將計(jì)算機(jī)作為管理決策的支持手段,融入日常業(yè)務(wù)的各個(gè)環(huán)節(jié),使得管理更加規(guī)范,同時(shí)也能夠更好的為顧客服務(wù),該系統(tǒng)大大提高了工作效率,為公司帶來了更好的社會(huì)效益和經(jīng)濟(jì)效益。1.4軟硬件需求硬件需求:CPU:Pentium以上計(jì)算機(jī)內(nèi)存:512M以上軟件需求:操作系統(tǒng)版本:WindowsXP/vista/Win7開發(fā)工具:MyEclipse6.0.1后臺(tái)服務(wù)器:ApacheTomcat6.0開發(fā)語(yǔ)言:Java瀏覽器:IE6.0

第2章可行性分析開發(fā)系統(tǒng)的過程不是一帆風(fēng)順的,總會(huì)受到這樣和那夜的限制。所以每一個(gè)項(xiàng)目開發(fā)前都有進(jìn)行全方面的可行性分析,這樣可以規(guī)避一定的風(fēng)險(xiǎn),減少人力、物力和財(cái)力不必要的浪費(fèi)。下面我就通過技術(shù)、經(jīng)濟(jì)、操作以及法律四個(gè)方面來分析。2.1技術(shù)的可行性這個(gè)系統(tǒng)的開發(fā)一MyEclippse和MySql數(shù)據(jù)庫(kù)為依托,開發(fā)語(yǔ)言是Java,著重采用了J2EE技術(shù),java作為一個(gè)面向?qū)ο蟮木幊陶Z(yǔ)言,不僅簡(jiǎn)單易學(xué)而且靈活方便。在大學(xué)期間java課程和J2EE知識(shí)都有了解和學(xué)習(xí),總體而言本系統(tǒng)的在開發(fā)上難度系數(shù)并不高,這個(gè)系統(tǒng)的“心臟”是數(shù)據(jù)庫(kù)設(shè)計(jì)和操作。幸好上大學(xué)時(shí)認(rèn)真學(xué)習(xí)了軟件工程、軟件測(cè)試等一系列課程,也完成了一定量的課程設(shè)計(jì),培養(yǎng)了我的系統(tǒng)分析能力、設(shè)計(jì)能力和測(cè)試能力。所以在系統(tǒng)實(shí)現(xiàn)上完全具有一定的可行性。2.2經(jīng)濟(jì)的可行性本系統(tǒng)所用的軟件都是開源的,為開發(fā)軟件節(jié)省了大量的金錢和時(shí)間,達(dá)到降低成本,提高開發(fā)效率的目的,本系統(tǒng)對(duì)計(jì)算機(jī)配置的要求不高,甚至網(wǎng)吧更換下來的低配置電腦都可以完全滿足需要,所以在經(jīng)濟(jì)上具有完全的可行性2.3操作可行性這個(gè)系統(tǒng)有著便捷的操作方式,輸入信息的頁(yè)面大多為下拉式菜單的選擇方式,在一些頁(yè)面,信息甚至可以自動(dòng)生成,不要要輸入,就連時(shí)間的操作有日歷來操控的,操作簡(jiǎn)潔而又方便,對(duì)操作員沒有過高的要求,只要對(duì)電腦系統(tǒng)熟練操作就可以了,再加上對(duì)這個(gè)系統(tǒng)的稍微培訓(xùn)就能直接工作,正式因?yàn)橄到y(tǒng)擁有良好的可視性,所以在技術(shù)上沒有什么難度。2.4法律的可行性自己開發(fā)的交易管理系統(tǒng),是具有實(shí)際意義的系統(tǒng),將開源代碼運(yùn)用于開發(fā)環(huán)境軟件和使用數(shù)據(jù)庫(kù),這正是開發(fā)這個(gè)系統(tǒng)與一般系統(tǒng)的不同之處,它不存在任何侵權(quán)問題,這就是該系統(tǒng)在法律上的可行性。

第3章需求分析1.在平臺(tái)功能的分析基礎(chǔ)上,得到本平臺(tái)的功能模塊圖如下:網(wǎng)上購(gòu)物平臺(tái)index.jsp網(wǎng)上購(gòu)物平臺(tái)index.jsp。商品修改用戶管理管理進(jìn)入新聞管理用戶注冊(cè)商品管理商品添加會(huì)員管理廣告鏈接新聞修改新聞添加廣告設(shè)置鏈接管理商品名稱用戶修改會(huì)員刪除商品搜索網(wǎng)站布局圖3-1平臺(tái)購(gòu)物模塊圖3.2系統(tǒng)用戶用例圖3.2.1普通用戶用例圖出于安全性的考慮,普通用戶只有瀏覽商品和商品查詢、商品購(gòu)買等功能,其他的刪除修改功能都沒有設(shè)計(jì),因?yàn)槠胀ㄓ脩糇钪饕P(guān)心的就是商品信息的更新和查詢等功能,普通用戶用例圖如圖3.2所示:圖3-2普通用戶用例圖3.2.2管理員用例圖管理員是系統(tǒng)的核心用戶,涉及到七大功能模塊,管理員對(duì)系統(tǒng)的所有信息有著操作的權(quán)限,能夠及時(shí)動(dòng)態(tài)的更新系統(tǒng)的各項(xiàng)信息。圖3-3管理員用例圖3.3功能模塊需求分析本系統(tǒng)最大的特點(diǎn)是使用操作簡(jiǎn)單、友好的提示信息。本系統(tǒng)將實(shí)現(xiàn)以下基本功能:(1)系統(tǒng)具有簡(jiǎn)潔大方的頁(yè)面,使用簡(jiǎn)便,友好的錯(cuò)誤操作提示(2)管理員用戶具有商品類別管理、商品信息管理、商品信息更新管理、訂單管理、會(huì)員信息管理、公告管理、系統(tǒng)管理功能(3)普通用戶用戶具有瀏覽商品、商品查詢、購(gòu)買商品、修改個(gè)人信息等功能(4)具有較強(qiáng)的安全性,避免用戶的惡意操作系統(tǒng)的功能結(jié)構(gòu)圖,分普通用戶平臺(tái),管理員平臺(tái)。普通用戶功能模塊圖說明:普通用戶可以在線瀏覽商品,查詢商品,瀏覽公告信息,如果要購(gòu)買、下訂單操作,首先需要注冊(cè)一個(gè)個(gè)人賬號(hào),然后登陸到系統(tǒng)中,如功能圖3-4所示:圖3-4普通用戶用戶功能模塊圖管理員功能模塊圖說明:管理員是功能最多的一種用戶角色。(1)商品類別信息管理模塊:在該模塊中完成對(duì)商品類別信息的管理,包括類別錄入、查詢、修改、增加和刪除等功能操作。其中類別信息包括類別名稱、類別介紹等信息。(2)商品信息管理模塊:在該模塊中定義了商品信息的管理,其功能包括商品錄入、查詢、刪除等操作。(3)會(huì)員管理模塊:該模塊中包括瀏覽會(huì)員信息和刪除會(huì)員信息2個(gè)功能。(4)系統(tǒng)管理模塊:在該模塊中定義了系統(tǒng)日常維護(hù)的功能,包括公告信息的添加和查詢,修改功能,以及系統(tǒng)用戶管理和修改密碼等功能。管理員用戶功能模塊圖如圖3-5。圖3-5管理員用戶功能模塊圖3.4設(shè)計(jì)的基本思想設(shè)計(jì)思想遵循以下幾點(diǎn):1.采用B/S模式進(jìn)行開發(fā),其優(yōu)點(diǎn)是后臺(tái)與前臺(tái)處理層次分明,而且符合眾多已經(jīng)習(xí)慣網(wǎng)頁(yè)搜索方式的用戶。2.采用面向?qū)ο蟮拈_發(fā)與設(shè)計(jì)理念。運(yùn)用面向?qū)ο蠹夹g(shù)的前提是對(duì)整體系統(tǒng)的高度和準(zhǔn)確抽象,通過它可以保證系統(tǒng)良好的框架,進(jìn)而帶來產(chǎn)品較強(qiáng)的穩(wěn)定性和運(yùn)行效率。3.采用模塊化設(shè)計(jì)。模塊化設(shè)計(jì)要求將整個(gè)系統(tǒng)劃分成基于小的模塊,有利于代碼的重載,簡(jiǎn)化設(shè)計(jì)和實(shí)現(xiàn)過程。4.簡(jiǎn)單方便的系統(tǒng)界面。設(shè)計(jì)簡(jiǎn)單友好的系統(tǒng)界面,方便用戶較快的適應(yīng)系統(tǒng)的操作。5.速度優(yōu)先原則。由于此工具最重要的評(píng)測(cè)標(biāo)準(zhǔn)就是速度,因此在設(shè)計(jì)過程中,具體過程盡量做到資源占用少,速度快。6.設(shè)計(jì)既要突出重點(diǎn),又要細(xì)致周到。要符合設(shè)計(jì)需求,在有可能改進(jìn)的地方進(jìn)行擴(kuò)充,使系統(tǒng)更適應(yīng)用戶的需要。3.5性能需求3.5.1系統(tǒng)的安全性本商品交易系統(tǒng)在管理權(quán)限上要嚴(yán)格進(jìn)行控制,具體要求如下:1.要想管理本系統(tǒng)的商品信息,必須先要憑用戶名和密碼登陸到系統(tǒng)中,沒有權(quán)限的用戶不能通過任何方式登錄系統(tǒng)查看系統(tǒng)的任何信息和數(shù)據(jù),以確保系統(tǒng)的嚴(yán)密性和安全性。2.在具體實(shí)現(xiàn)中設(shè)定不同權(quán)限,不同權(quán)限用戶登錄到系統(tǒng)后,不能越級(jí)操作,管理員可以使使用所有模塊;普通用戶用戶只能在線瀏覽信息,比如,查詢商品信息、在線購(gòu)買、下訂單等功能。3.5.2數(shù)據(jù)的完整性1.各種記錄信息的完整性,信息記錄內(nèi)容不能為空2.各種數(shù)據(jù)間相互聯(lián)系的正確性3.相同數(shù)據(jù)在不同記錄中的一致性3.6界面需求界面設(shè)計(jì)目前已經(jīng)成為評(píng)價(jià)軟件質(zhì)量的一條重要指標(biāo),一個(gè)好的用戶界面可以增加用戶使用系統(tǒng)的信心和興趣,提高工作效率,JSP技術(shù)是用JAVA語(yǔ)言作為腳本語(yǔ)言的,JSP網(wǎng)頁(yè)為整個(gè)服務(wù)器端的JAVA庫(kù)單元提供了一個(gè)接口來服務(wù)于HTTP的應(yīng)用程序。創(chuàng)建動(dòng)態(tài)頁(yè)面非常方便。用戶界面是指軟件系統(tǒng)與用戶交互的接口,通常包括輸出、輸入、人-機(jī)對(duì)話的界面格式等。1.輸出設(shè)計(jì)輸出是由計(jì)算機(jī)對(duì)輸入的原始信息進(jìn)行加工處理,形成高質(zhì)量的有效信息,并使之具有一定的格式,提供管理者使用,這是輸出設(shè)計(jì)的主要職責(zé)和目標(biāo)。系統(tǒng)設(shè)計(jì)的過程正好和實(shí)施過程相反,并不是從輸入設(shè)計(jì)到輸出設(shè)計(jì),而是從輸出設(shè)計(jì)到輸入設(shè)計(jì),這是因?yàn)檩敵霰砀裰苯优c使用者相聯(lián)系,設(shè)計(jì)的出發(fā)點(diǎn)應(yīng)當(dāng)是保證輸出表格方便地為使用者服務(wù),正確及時(shí)反映和組成用于各部門的有用信息。輸出設(shè)計(jì)的原則是考慮既要全面反映不同管理層的各項(xiàng)需要,又要言簡(jiǎn)意賅,不要將用戶需要和不需要的都提供給用戶。2.輸入設(shè)計(jì)輸入數(shù)據(jù)的收集和錄入是比較費(fèi)事的,需要大量的人力和一定設(shè)備,并且容易出錯(cuò)。如果輸入系統(tǒng)的數(shù)據(jù)有錯(cuò)誤,則處理后的輸出將擴(kuò)大這些錯(cuò)誤,因此輸入數(shù)據(jù)的正確性對(duì)于整個(gè)系統(tǒng)質(zhì)量的好壞是具有決定性意義的。輸入設(shè)計(jì)的原則有如下幾點(diǎn):1)輸入量應(yīng)保持在能滿足處理要求的最低限度。設(shè)計(jì)中可采用設(shè)置字段初值,下拉式數(shù)據(jù)窗口等方式盡量減少用戶鍵盤輸入量。輸入量越少,錯(cuò)誤率就越少,數(shù)據(jù)準(zhǔn)備時(shí)間也減少。2)輸入的準(zhǔn)備及輸入過程應(yīng)盡量容易進(jìn)行,從而減少錯(cuò)誤的發(fā)生。3)應(yīng)盡量早對(duì)輸入數(shù)據(jù)進(jìn)行檢查(盡量接近原數(shù)據(jù)發(fā)生點(diǎn)),以便使錯(cuò)誤及時(shí)得到更正。4)輸入數(shù)據(jù)盡早地用其處理所需的形式被記錄,以避免數(shù)據(jù)由一種介質(zhì)轉(zhuǎn)移到另一種介質(zhì)時(shí)需要轉(zhuǎn)錄而可能發(fā)生的錯(cuò)誤。

第四章系統(tǒng)分析與設(shè)計(jì)4.1數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)計(jì)算機(jī)信息系統(tǒng)以數(shù)據(jù)庫(kù)為核心,在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)和傳播等操作。數(shù)據(jù)庫(kù)已經(jīng)成為現(xiàn)在信息系統(tǒng)等計(jì)算機(jī)系統(tǒng)的基礎(chǔ)與核心部分。數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接影響到整個(gè)系統(tǒng)的質(zhì)量和效率。數(shù)據(jù)庫(kù)的設(shè)計(jì)一般經(jīng)過規(guī)劃。需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)5個(gè)步驟。4.1.1數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)概念設(shè)計(jì)是指在數(shù)據(jù)分析的基礎(chǔ)上自底向上的建立整個(gè)系統(tǒng)的數(shù)據(jù)庫(kù)概念結(jié)構(gòu),從用戶的角度進(jìn)行視圖設(shè)計(jì),然后將視圖集成,最后對(duì)集成的結(jié)構(gòu)分析優(yōu)化得到最后結(jié)果。數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)采用實(shí)體—聯(lián)系(E-R)模型設(shè)計(jì)方法。E-R模型法的組成元素有:實(shí)體、屬性、聯(lián)系,E-R模型用E-R圖表示,是提示用戶工作環(huán)境中所涉及的事物,屬性則是對(duì)實(shí)體特性的描述。概念設(shè)計(jì)的目標(biāo)是產(chǎn)生反映企業(yè)組織信息要求的數(shù)據(jù)庫(kù)概念結(jié)構(gòu),即概念模式。概念模式是獨(dú)立于數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu),獨(dú)立于支持?jǐn)?shù)據(jù)庫(kù)的DBMS,不依賴于計(jì)算機(jī)系統(tǒng)的,根據(jù)以上對(duì)數(shù)據(jù)庫(kù)的需求分析,并結(jié)合系統(tǒng)概念模型的特點(diǎn)及建立方法,建立E-R模型圖。實(shí)體間關(guān)系屬性實(shí)體實(shí)體間關(guān)系屬性實(shí)體

(1)普通用戶實(shí)體E-R圖如圖4-1所示:性別姓名年齡性別姓名年齡密碼密碼聯(lián)系方式用戶名聯(lián)系方式用戶名普通用戶普通用戶圖4-1普通用戶E-R圖(2)商品類別實(shí)體E-R圖類別介紹類別介紹是否刪除類別名稱是否刪除類別名稱商品類別商品類別圖4-2商品類別信息實(shí)體E-R圖

(3)商品信息E-R圖商品介紹商品圖片商品價(jià)格商品介紹商品圖片商品價(jià)格商品品牌商品品牌商品名稱類別ID商品名稱類別ID商品信息商品信息圖4-3商品信息實(shí)體E-R圖(4)公告信息E-R圖公告內(nèi)容公告內(nèi)容發(fā)布時(shí)間發(fā)布時(shí)間公告標(biāo)題公告標(biāo)題公告信息公告信息圖4-4公告信息實(shí)體E-R圖

(5)管理員信息E-R圖登陸賬號(hào)登陸賬號(hào)登陸密碼用戶ID登陸密碼用戶ID管理員管理員圖4-5管理員信息實(shí)體E-R圖(6)訂單信息E-R圖送貨地址付款方式圖片總金額送貨地址付款方式圖片總金額下單時(shí)間紹下單時(shí)間紹訂單編號(hào)會(huì)員ID訂單編號(hào)會(huì)員ID訂單信息訂單信息圖4-6訂單信息實(shí)體E-R圖4.1.2數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)我們知道,數(shù)據(jù)庫(kù)概念模型獨(dú)立于任何特定的數(shù)據(jù)庫(kù)管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫(kù)管理系統(tǒng)的特點(diǎn)進(jìn)行轉(zhuǎn)換。即轉(zhuǎn)化為按計(jì)算機(jī)觀點(diǎn)處理的邏輯關(guān)系模型,E-R模型向關(guān)系數(shù)據(jù)庫(kù)模型轉(zhuǎn)換應(yīng)遵循下列原則:*每一個(gè)實(shí)體要轉(zhuǎn)換成一個(gè)關(guān)系*所有的主鍵必須定義非空(NOTNULL)*對(duì)于二元聯(lián)系應(yīng)按照一對(duì)多、弱對(duì)實(shí)、一對(duì)一、多對(duì)多等聯(lián)系來定義外鍵。根據(jù)E-R模型,普通用戶公寓管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結(jié)構(gòu),下面是各數(shù)據(jù)表的詳細(xì)說明。(1)普通用戶表主要是記錄了普通用戶基本信息。表結(jié)構(gòu)如表4-1所示。表4-1普通用戶表(t_user)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明user_idint4否是用戶IDuser_namevarchar50否否用戶名user_pwvarchar50否否用戶密碼user_realnamevarchar50否否姓名user_sexvarchar50否否性別user_telvarchar20否否聯(lián)系方式user_addressvarchar20否否住址商品類別信息表主要是記錄了商品類別的基本信息,表結(jié)構(gòu)如表4-2所示。表4-2商品類別信息表(t_catelog)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明catelog_idint4否是類別IDcatelog_namevarchar50否否類別名稱catelog_miaoshuvarchar50否否類別介紹(3)商品信息表主要是商品的相關(guān)信息,其中ID是主鍵,表結(jié)構(gòu)如圖4-3所示。表4-3商品信息表(t_goods)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明goods_idInt4否是商品IDcatelog_idInt4否否類別IDgoods_namevarchar50否否名稱goods_miaoshuvarchar50否否介紹goods_picvarchar50否否商品封皮shichangjiaDate50否否商品價(jià)格goods_tejiavarchar50否否商品特價(jià)(4)公告信息表記錄了管理員發(fā)布的系統(tǒng)公告基本信息,表如圖4-4所示。表4-4公告信息表(t_gonggao)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明idint4否是公告IDtitlevarchar50否否公告標(biāo)題contentvarchar50否否公告內(nèi)容shijianvarchar50否否發(fā)布日期(5)管理員信息表主要記錄了管理員的賬號(hào)信息,包括用戶名和密碼,表結(jié)構(gòu)如表4-5所示。表4-5管理員信息表(t_admin)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明userIdint4否是編號(hào)userNamevarchar50否否用戶名userPwvarchar50否否密碼(6)訂單信息表主要記錄的會(huì)員的訂單的信息,包括訂單編號(hào)、下單時(shí)間等,表結(jié)構(gòu)如表4-6所示。表4-6訂單信息表(t_order)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明order_idint4否是編號(hào)order_datevarchar50否否下單時(shí)間order_zhuangtaivarchar50否否訂單狀態(tài)songhuodizhivarchar50否否送貨地址fukuanfangshivarchar50否否付款方式j(luò)inevarchar50否否總金額user_idint4否否會(huì)員ID(7)留言信息表主要記錄了會(huì)員的留言的信息,包括留言標(biāo)題、留言內(nèi)容等,表結(jié)構(gòu)如表4-7所示。表4-7留言信息表(t_liuyan)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明idint4否是編號(hào)titlevarchar50否否留言標(biāo)題contentvarchar50否否留言內(nèi)容shijianvarchar50否否留言時(shí)間4.1.3數(shù)據(jù)庫(kù)的連接原理采用JDBC連接數(shù)據(jù)庫(kù)的方式,只需在工程中導(dǎo)入對(duì)應(yīng)數(shù)據(jù)庫(kù)的jar包,就可以方便的對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接,在程序中,用Class.forName()方法來加載驅(qū)動(dòng)程序,在用DriverManager的getConnection()方法就可以創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接。程序采用的是DAO模式來操作數(shù)據(jù)庫(kù),DAO(DataAccessObject,數(shù)據(jù)訪問對(duì)象),是Java編程中的一種經(jīng)典模式,已被廣泛應(yīng)用,也是J2EE架構(gòu)中持久層框架的基礎(chǔ)知識(shí),基于分層次式的軟件架構(gòu)來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問操作。DAO模式的主要思想就是從抽象數(shù)據(jù)源獲取與操縱數(shù)據(jù)的方法。抽象數(shù)據(jù)的含義就是編寫應(yīng)用程序的程序員不必關(guān)心數(shù)據(jù)庫(kù)的物理位置,已經(jīng)是何種數(shù)據(jù)庫(kù),只需使用封裝數(shù)據(jù)庫(kù)中表示記錄的數(shù)據(jù)對(duì)象即可。其思想如圖4-11所示:DataSource封裝使用DataSource封裝使用DataAccessObjectBusinessObjectDataAccessObjectBusinessObject創(chuàng)建/使用獲取/修改創(chuàng)建/使用獲取/修改DataTransferObjectDataTransferObject圖4-11DAO模式類圖圖中BussinessObject是業(yè)務(wù)對(duì)象,是使用DAO模式的客戶端;DataTransferObject數(shù)據(jù)傳輸對(duì)象,在應(yīng)用程序不同層次之間傳輸對(duì)象,在一個(gè)分布式應(yīng)用程序中,通??梢蕴岣哒淼男阅埽籇ataObjectAcces數(shù)據(jù)輸入/輸出對(duì)象封裝了對(duì)數(shù)據(jù)源的一些基本操作;DataSource指的是數(shù)據(jù)源??梢詮膱D中看出,DAO模式分離了業(yè)務(wù)邏輯和數(shù)據(jù)羅即將,是的編寫的軟件具有良好的層次式體系結(jié)構(gòu)。本系統(tǒng)為了方便數(shù)據(jù)庫(kù)的操作,主要使用DBContent的對(duì)象來接一個(gè)數(shù)據(jù)庫(kù)(建立一個(gè)類DBContent),代碼如下:publicDBContent(){ StringCLASSFORNAME="com.mysql.jdbc.Driver";//連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng) Stringurl="jdbc:MySql://localhost:1433;databaseName=db_tushu"; Stringuser="root";//連接數(shù)據(jù)庫(kù)的用戶名 Stringpassword="root";//連接數(shù)據(jù)庫(kù)的密碼 try{ Class.forName(CLASSFORNAME); con=DriverManager.getConnection(url,user,password);//加載數(shù)據(jù)庫(kù)的驅(qū)動(dòng) stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); } catch(Exceptionex){ ex.printStackTrace(); } } 在程序需要連接數(shù)據(jù)庫(kù)的地方,只需要生成一個(gè)DBConnet的對(duì)象,就可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接并操作。4.2中文亂碼問題處理在程序中經(jīng)常會(huì)遇到中文亂碼的情況,如果手動(dòng)的在servlet和jsp頁(yè)面進(jìn)行設(shè)置,相當(dāng)麻煩。因此,在程序的開始就寫了一個(gè)過濾器SetCharacterEncodingFilter。在web.xml中配置:<filter><filter-name>SetCharacterEncodingFilter</filter-name><filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>gb2312</param-value></init-param></filter><filter-mapping><filter-name>SetCharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern>//*表示工程下所有的頁(yè)面都會(huì)有此過濾器的處理</filter-mapping>對(duì)應(yīng)的SetCharacterEncodingFilter.java文件中的重要代碼,在初始化init()方法中定義:publicvoidinit(FilterConfigfilterConfig)throwsServletException{ this.filterConfig=filterConfig;this.encoding=filterConfig.getInitParameter("encoding");Stringvalue=filterConfig.getInitParameter("ignore");}在工具包util包中同樣定義了DataFormate類來處理字符轉(zhuǎn)換:publicstaticStringtoUni(StringgbStr){StringuniStr="";/*把字符串轉(zhuǎn)換成uincode編碼*/if(gbStr==null){gbStr="";}try{byte[]tempByte=gbStr.getBytes("GB2312");uniStr=newString(tempByte,"ISO8859_1");}catch(Exceptionex){}returnuniStr;}/*把字符串轉(zhuǎn)換成Utf8編碼*/publicstaticStringtoUtf8String(Strings){StringBuffersb=newStringBuffer();for(inti=0;i<s.length();i++){charc=s.charAt(i);if(c>=0&&c<=255){sb.append(c);}else{byte[]b;try{b=Character.toString(c).getBytes("utf-8");}catch(Exceptionex){System.out.println(ex);b=newbyte[0];}for(intj=0;j<b.length;j++){intk=b[j];if(k<0){k+=256;}sb.append("%"+Integer.toHexString(k).toUpperCase());}} returnsb.toString();}

第5章系統(tǒng)功能實(shí)現(xiàn)在管理信息系統(tǒng)的生命周期中,僅過了需求分析、系統(tǒng)設(shè)計(jì)等階段之后,便開始了系統(tǒng)實(shí)施階段。在系統(tǒng)分析和設(shè)計(jì)階段,系統(tǒng)開發(fā)工作主要是集中在邏輯、功能和技術(shù)設(shè)計(jì)上,系統(tǒng)實(shí)施階段要繼承此前面各個(gè)階段的工作成果,將技術(shù)設(shè)計(jì)轉(zhuǎn)化為物理實(shí)現(xiàn),因此系統(tǒng)實(shí)施的成果是系統(tǒng)分析和設(shè)計(jì)階段的結(jié)晶。5.1管理員登陸頁(yè)面1.描述:為了保證系統(tǒng)的安全性,要使用本系統(tǒng)必須先登陸到系統(tǒng)中。2.程序運(yùn)行效果圖如圖5-1所示:圖5-1管理員登陸頁(yè)面設(shè)計(jì)3.在登陸頁(yè)面輸入用戶名和密碼以,點(diǎn)擊提交按鈕,跳轉(zhuǎn)到登陸的service中,在該service中會(huì)對(duì)用戶名,密碼進(jìn)行判斷,如果正確提示“通過驗(yàn)證”,進(jìn)入到管理界面,如果錯(cuò)誤則提示“用戶名和密碼不正確”,頁(yè)面調(diào)轉(zhuǎn)到登陸頁(yè)。loginservice關(guān)鍵代碼:publicStringlogin(StringuserName,StringuserPw,intuserType){ try { Thread.sleep(700); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringresult="no"; if(userType==0){ //系統(tǒng)管理員登陸 Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0){ result="no"; } else{ WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } if(userType==2){ } returnresult; }5.2管理員模塊1.描述:管理員主頁(yè)面:左方頁(yè)面展示了管理員可操作的七大功能,進(jìn)入相關(guān)的管理頁(yè)面可以鏈接到子菜單,并且高亮顯示,每個(gè)管理模塊下面都有相應(yīng)的子菜單。2.程序運(yùn)行效果圖如圖5-2所示:圖5-2管理員主頁(yè)面在每個(gè)jsp頁(yè)面將會(huì)對(duì)相關(guān)用戶進(jìn)行攔截操作,這樣可以提高安全性,防止用戶不經(jīng)過登陸頁(yè)面而進(jìn)入任何子菜單頁(yè)面:if(session.getAttribute("user")==null){out.print("<script>alert('請(qǐng)先登錄!');window.open('../index.jsp','_self')</script>"); }5.2.1商品類別管理1.類別信息錄入(1)描述:管理員輸入類別相關(guān)正確信息后點(diǎn)擊錄入按鈕,如果是沒有輸入完整的普通用戶信息,比如沒有輸入類別名稱,都會(huì)給出相應(yīng)的錯(cuò)誤提示,不能錄入成功。輸入數(shù)據(jù)都通過form表單中定義的方法onsubmit="returncheckForm()"來檢查,checkForm()函數(shù)中是各種的校驗(yàn)輸入數(shù)據(jù)的方式。程序效果圖如下圖5-3所示:圖5-3類別信息錄入

3.流程圖如下圖5-4所示:登陸系統(tǒng)登陸系統(tǒng)管理員錄入商品類別信息管理員錄入商品類別信息系統(tǒng)驗(yàn)證錄入類別信息錄入成功結(jié)束通過未通過圖5-4商品類別信息錄入流程圖 2.類別信息管理(1)描述:管理員點(diǎn)擊左側(cè)的菜單“商品類別管理”,頁(yè)面跳轉(zhuǎn)到類別管理界面,調(diào)用后臺(tái)的action類查詢所有商品類別信息。(2)程序效果圖如下圖5-5所示圖5-5商品類別管理類別管理關(guān)鍵代碼:publicStringcatelogMana(){ Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS;} publicStringcatelogAll(){ Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS; } publicStringcatelogAdd(){ TCatelogcatelog=newTCatelog(); catelog.setCatelogName(catelogName); catelog.setCatelogMiaoshu(catelogMiaoshu); catelog.setCatelogDel("no"); catelogDAO.save(catelog); this.setMessage("操作成功"); this.setPath("catelogMana.action"); return"succeed"; } publicStringcatelogDel(){ Stringsql="fromTGoodswheregoodsDel='no'andgoodsCatelogId="+catelogId; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); if(goodsList.size()>0){ this.setMessage("請(qǐng)先刪除此類別下的商品"); this.setPath("catelogMana.action"); } else{ TCatelogcatelog=catelogDAO.findById(catelogId); catelog.setCatelogDel("yes"); catelogDAO.attachDirty(catelog); this.setMessage("操作成功"); this.setPath("catelogMana.action"); } return"succeed"; }3.類別信息刪除(1)描述:先是點(diǎn)擊類別信息管理,頁(yè)面跳轉(zhuǎn)到類別管理界面,瀏覽所有的類別信息,點(diǎn)擊要?jiǎng)h除的類別,彈出的確定對(duì)話框,即可刪除該類別信息。2.程序效果圖如下圖5-6所示圖5-6類別信息刪除5.2.2商品信息管理1.商品信息錄入(1)描述:在此頁(yè)面主要是輸入商品信息,包括商品編號(hào)、名稱、商品介紹、商品圖片、商品價(jià)格等,其中商品介紹這個(gè)地方,使用的是開源的在線文本編輯器fckEditor這個(gè)富文本框?qū)崿F(xiàn)。是否為空也是通過form表單中的onsubmit="returncheckForm()來檢查。(2)程序效果圖如圖5-7所示:圖5-7商品信息錄入(3)在整個(gè)系統(tǒng)中所有涉及輸入日期的地方都是采用的mydata97這個(gè)日歷控件的方式來實(shí)現(xiàn),要在工程中導(dǎo)入Calendar.js文件,在jsp頁(yè)面開始引入<scripttype="text/javascript"src="../js/calendar.js"></script>該js文件,在文本框的屬性定義中定義方法onclick="newCalendar().show(this);"即可。2.商品信息管理(1)描述:管理員點(diǎn)擊左側(cè)的菜單“商品管理”,頁(yè)面跳轉(zhuǎn)到商品管理界面,調(diào)用后臺(tái)的商品Action類查詢出所有的商品信息,并把這些信息封轉(zhuǎn)到數(shù)據(jù)集合List中,綁定到request對(duì)象,然后頁(yè)面跳轉(zhuǎn)到相應(yīng)的jsp,顯示出商品信息。(2)程序效果圖如下圖5-8所示圖5-8商品信息管理頁(yè)面商品管理關(guān)鍵代碼:publicStringgoodsNoTejiaAdd(){ TGoodsgoods=newTGoods(); goods.setGoodsCatelogId(goodsCatelogId); goods.setGoodsName(goodsName); goods.setGoodsYanse(goodsYanse); goods.setGoodsMiaoshu(goodsMiaoshu); goods.setGoodsPic(fujian); goods.setGoodsShichangjia(goodsShichangjia); if(goodsTejia==0){ goods.setGoodsTejia(goodsShichangjia);// goods.setGoodsIsnottejia("no"); } else{ goods.setGoodsTejia(goodsTejia); goods.setGoodsIsnottejia("yes"); } goods.setGoodsKucun(goodsKucun); goods.setGoodsDel("no"); goodsDAO.save(goods); this.setMessage("操作成功"); this.setPath("goodsManaNoTejia.action"); return"succeed"; } publicStringgoodsNoTejiaDel(){ TGoodsgoods=goodsDAO.findById(goodsId); goods.setGoodsDel("yes"); goodsDAO.attachDirty(goods); this.setMessage("操作成功"); this.setPath("goodsManaNoTejia.action"); return"succeed"; } publicStringgoodsManaNoTejia(){ Stringsql="fromTGoodswheregoodsDel='no'orderbygoodsIsnottejia"; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); for(inti=0;i<goodsList.size();i++){ TGoodsgoods=(TGoods)goodsList.get(i); System.out.println(goods.getGoodsCatelogId()); goods.setGoodsCatelogName(catelogDAO.findById(goods.getGoodsCatelogId()).getCatelogName()); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("goodsList",goodsList); returnActionSupport.SUCCESS; } publicStringgoodsShezhiTejia(){ TGoodsgoods=goodsDAO.findById(goodsId); goods.setGoodsIsnottejia("yes"); goods.setGoodsTejia(goodsTejia); goodsDAO.attachDirty(goods); returnActionSupport.SUCCESS; } publicStringgoodsKucun(){ Stringsql="fromTGoodswheregoodsDel='no'orderbygoodsIsnottejia"; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("goodsList",goodsList); returnActionSupport.SUCCESS; } publicStringgoodsRuku(){ TGoodsgoods=goodsDAO.findById(goodsId); goods.setGoodsKucun(goods.getGoodsKucun()+rukushuliang); goods.setGoodsTejia(goodsTejia); goodsDAO.attachDirty(goods); returnActionSupport.SUCCESS; } publicStringgoodsDetailHou(){ Maprequest=(Map)ServletActionContext.getContext().get("request"); TGoodsgoods=goodsDAO.findById(goodsId); request.put("goods",goods); returnActionSupport.SUCCESS; } publicStringgoodsDetail(){ Maprequest=(Map)ServletActionContext.getContext().get("request"); TGoodsgoods=goodsDAO.findById(goodsId); request.put("goods",goods); returnActionSupport.SUCCESS; } 5.2.3會(huì)員信息管理1.會(huì)員信息管理(1)描述:游客訪問該站點(diǎn)的時(shí)候,可以注冊(cè)成為會(huì)員,管理員登陸后可以管理會(huì)員信息,點(diǎn)擊左側(cè)的“會(huì)員管理“,頁(yè)面調(diào)轉(zhuǎn)中后臺(tái)的是java類userAction,在此類中,讀取數(shù)據(jù)庫(kù)中,提取會(huì)員的信息,綁定到request對(duì)象,再輸出到相應(yīng)的jsp顯示頁(yè)面頁(yè)面。(2)程序效果圖如圖5.9所示:圖5-9會(huì)員信息管理會(huì)員管理核心代碼:publicStringuserDel(){ TUseruser=userDAO.findById(userId); user.setUserDel("yes"); userDAO.attachDirty(user); this.setMessage("刪除成功"); this.setPath("userMana.action"); return"succeed";} publicStringuserXinxi(){ TUseruser=userDAO.findById(userId); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("user",user); returnActionSupport.SUCCESS; } publicStringuserMana(){ ListuserList=userDAO.findAll(); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("userList",userList); returnActionSupport.SUCCESS; }5.2.4系統(tǒng)管理1.查詢管理員信息(1)描述:點(diǎn)擊系統(tǒng)管理菜單,右側(cè)展示了所有的系統(tǒng)管理員信息。主要包括用戶名和密碼。(2)程序效果圖如圖5-12所示:圖5-12查詢管理員2.添加管理員(1)描述:輸入要添加管理員的信息以后,點(diǎn)擊添加按鈕。兩次輸入的密碼必須相同。(2)程序效果圖如圖5-13所示:圖5-13添加管理員5.2.5修改密碼1.描述:輸入用戶名和用戶的原有密碼,輸入新密碼以后點(diǎn)擊修改按鈕即可修改密碼成功。2.程序效果圖如圖5-14所示:

圖5-14修改密碼5.2.6退出系統(tǒng)1.描述:點(diǎn)此按鈕回到系統(tǒng)的主頁(yè)面。2.關(guān)鍵代碼:主要是通過javascript語(yǔ)句來實(shí)現(xiàn),item_word[8][4]="退出系統(tǒng)";item_link[8][4]="javascript:window.open('../index.jsp','_self')";5.3普通用戶模塊5.3.1系統(tǒng)主頁(yè)面實(shí)現(xiàn)1.描述:頁(yè)面的上方顯示的是該網(wǎng)站的logo和當(dāng)前的時(shí)間,下方主要部分是信息顯示區(qū)域,左側(cè)部分是通知公告,管理員發(fā)布的信息公告都可以在此點(diǎn)擊后鏈接到相應(yīng)的信息頁(yè)面查看具體通知公告,左上方是登陸模塊,用戶必須輸入正確的用戶名、密碼和驗(yàn)證碼后才能進(jìn)入系統(tǒng),做下方方是一個(gè)商品類別信息。2.程序運(yùn)行效果圖如圖5-15所示:圖5-15系統(tǒng)主頁(yè)面設(shè)計(jì)5.3.2商品類別查詢1.描述:普通用戶點(diǎn)擊導(dǎo)航欄的“類別查詢”。調(diào)用后臺(tái)的java類catelogAction查詢所有的類別信息,并綁定這些信息到request對(duì)象中,在顯示層jsp展示出來,然后用戶點(diǎn)擊類別名稱,即可顯示該類別的信息。2.程序效果圖如圖5-16所示:圖5-16類別查詢界面設(shè)計(jì)5.3.3用戶注冊(cè)1.描述:對(duì)于游客,至于瀏覽的功能,如果想進(jìn)一步使用本系統(tǒng),比如說購(gòu)買商品、在線下訂單等,首先需要注冊(cè)一個(gè)合法的賬號(hào),然后登陸后,方能使用,點(diǎn)擊導(dǎo)航欄菜單“免費(fèi)注冊(cè)”,調(diào)用js的open()方法,彈出注冊(cè)頁(yè)面,輸入相關(guān)正確信息后點(diǎn)擊注冊(cè)按鈕即可完成注冊(cè),如果是沒有輸入完整的信息,或都會(huì)給出相應(yīng)的錯(cuò)誤提示,不能錄入成功。輸入數(shù)據(jù)都通過form表單中定義的方法onsubmit="returncheckForm()"來檢查,checkForm()函數(shù)中是各種的校驗(yàn)輸入數(shù)據(jù)的方式。2.程序效果圖如圖5-17所示:圖5-17用戶注冊(cè)界面設(shè)計(jì)

第6章系統(tǒng)測(cè)試6.1系統(tǒng)測(cè)試目的與意義系統(tǒng)測(cè)試作為管理信息系統(tǒng)開發(fā)過程中一個(gè)至關(guān)重要并且不可或缺的一部,它的重要性可以在保證系統(tǒng)質(zhì)量以及可靠性的最后峽口,也是系統(tǒng)考法過程包括系統(tǒng)、設(shè)計(jì)、實(shí)現(xiàn)的最終審查。為什么要做系統(tǒng)測(cè)試呢?其主要目的就檢查程序中的錯(cuò)誤,讓軟件可靠性得到提高,檢查系統(tǒng)一個(gè)軟件做的如何,我任務(wù)應(yīng)該分為以下三個(gè)步驟:首先是大方面檢查模塊的程序是否有問題;然后是檢查模塊與模塊間銜接的是否科學(xué);最后是確定整個(gè)軟件系

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論