654524044畢業(yè)設(shè)計(jì)(論文)jsp網(wǎng)上購(gòu)物管理系統(tǒng)_第1頁(yè)
654524044畢業(yè)設(shè)計(jì)(論文)jsp網(wǎng)上購(gòu)物管理系統(tǒng)_第2頁(yè)
654524044畢業(yè)設(shè)計(jì)(論文)jsp網(wǎng)上購(gòu)物管理系統(tǒng)_第3頁(yè)
654524044畢業(yè)設(shè)計(jì)(論文)jsp網(wǎng)上購(gòu)物管理系統(tǒng)_第4頁(yè)
654524044畢業(yè)設(shè)計(jì)(論文)jsp網(wǎng)上購(gòu)物管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要現(xiàn)如今的人們都會(huì)在網(wǎng)絡(luò)中獲取大量的信息。隨著人們對(duì)信息需求的增加,使得計(jì)算機(jī)、網(wǎng)絡(luò)技術(shù)滲透到了我們的日常工作中本文研究了基于mvc技術(shù)的webshop網(wǎng)上管理系統(tǒng),通過(guò)介紹mvc,充分體現(xiàn)了mvc模式的優(yōu)勢(shì),并通過(guò)對(duì)jsp、servlertjavabean的詳細(xì)介紹,給出了webshop網(wǎng)上管理系統(tǒng)的方法。本webshop網(wǎng)上管理系統(tǒng)采用mvc技術(shù)設(shè)計(jì)。在開(kāi)發(fā)過(guò)程中使用的開(kāi)發(fā)工具有:web服務(wù)器tomcat6.0,數(shù)據(jù)庫(kù)服務(wù)器mysql,針對(duì)mysql的一個(gè)管理軟件navicat for mysql,集成開(kāi)發(fā)工具myeclipse7.0和jdk1.6。本webshop網(wǎng)上管理系統(tǒng)實(shí)現(xiàn)了用

2、戶(hù)購(gòu)買(mǎi)商品,用戶(hù)注冊(cè),給支付寶沖值,查找商品等一系列功能,與傳統(tǒng)的購(gòu)物方式相比,webshop網(wǎng)上管理系統(tǒng)為用戶(hù)提供了更多的信息和更快捷的方式。【關(guān)鍵詞】:mvc;jsp;javabean;mysql;webshop網(wǎng)上管理系統(tǒng)。abstractnowadays people will be in the network access large amounts of information. as people opposite the demand of information, making the increase of computers and network technology

3、 permeated our daily work was studied in this paper based on mvc technology webshop online management system, and through introducing mvc, fully embodies the advantages of mvc pattern, and through the jsp, javabean servlet, the detailed introduction, gives webshop online management system of concret

4、e realization method.this webshop online management system by using mvc technical design. during the development process of development tools are: use tomcat6.0 web server, database server mysql, aiming at a management software mysql navicat for mysql, integrated development tools myeclipse7.0 and j

5、dk1.6. this webshop online management system realizes the user purchase the commodities and user registration, pay treasure chongzhi, find commodities, etc. series of function, compared with the traditional way, webshop shopping online management system provides customers with more information and m

6、ore efficient way.key words : mvc, the jsp, javabean; mysql, webshop online management system.目錄引 言1第1章 概 述21.1背景21.2系統(tǒng)涉及技術(shù)概述21.2.1 mysql21.2.2 myeclipse21.2.3 jsp31.2.4 javabeans31.2.5 mvc5第2章 可行性分析62.1 技術(shù)可行性分析62.1.1 動(dòng)態(tài)網(wǎng)站技術(shù)介紹62.1.2 程序語(yǔ)言的選擇62.2 系統(tǒng)結(jié)構(gòu)可行性分析72.2.1 b/s模式簡(jiǎn)介72.2.2 b/s模式的優(yōu)點(diǎn)82.3 開(kāi)發(fā)環(huán)境介紹82.3.1

7、 軟件環(huán)境82.3.2 硬件環(huán)境82.4 項(xiàng)目目標(biāo)與期望82.4.1促進(jìn)廣大用戶(hù)在線購(gòu)物82.4.2 提供一個(gè)省時(shí)省力的網(wǎng)上購(gòu)物平臺(tái)8第3章 項(xiàng)目需求分析83.1 系統(tǒng)功能需求83.2 系統(tǒng)的運(yùn)行需求83.3 系統(tǒng)數(shù)據(jù)流9第4章 概要設(shè)計(jì)104.1 系統(tǒng)功能設(shè)計(jì)13第5章 數(shù)據(jù)庫(kù)設(shè)計(jì)16第6章 系統(tǒng)詳細(xì)設(shè)計(jì)186.1 運(yùn)行環(huán)境186.2 主要源代碼實(shí)現(xiàn)236.2.1 src中部分代碼236.2.2 webroot中部分代碼25第7章 系統(tǒng)測(cè)試287.1 網(wǎng)上購(gòu)物管理系統(tǒng)測(cè)試287.2 測(cè)試舉例28第8章 總結(jié)30致 謝31參考文獻(xiàn)32引 言當(dāng)前社會(huì)已進(jìn)入信息化社會(huì),隨著互聯(lián)網(wǎng)(internet

8、)的高速發(fā)展和普及,計(jì)算機(jī)在各生產(chǎn)領(lǐng)域得以廣泛的應(yīng)用。自計(jì)算機(jī)應(yīng)用于管理領(lǐng)域以來(lái),信息系統(tǒng)的開(kāi)發(fā)與應(yīng)用獲得驚人的發(fā)展,電子商務(wù)也應(yīng)運(yùn)而生,并得已迅速推廣,給當(dāng)今的傳統(tǒng)型企業(yè)或者是現(xiàn)代型企業(yè)都帶來(lái)了巨大的沖擊和無(wú)限的商機(jī)。internet及全球信息網(wǎng)應(yīng)用的快速發(fā)展,為企業(yè)提供了一個(gè)無(wú)國(guó)界、無(wú)時(shí)間、無(wú)地域的便利環(huán)境來(lái)經(jīng)營(yíng)拓展商務(wù),實(shí)施電子商務(wù)是提高企業(yè)競(jìng)爭(zhēng)力的有利手段。電子商務(wù)是在激烈的市場(chǎng)競(jìng)爭(zhēng)環(huán)境中,用傳統(tǒng)商務(wù)過(guò)程與信息技術(shù)和網(wǎng)絡(luò)技術(shù)完美結(jié)合的產(chǎn)物,它為企業(yè)提供了一個(gè)新的經(jīng)營(yíng)環(huán)境和新的管理模式。電子商務(wù)為全球大大小小的公司提供了一個(gè)展現(xiàn)自我,推銷(xiāo)產(chǎn)品,進(jìn)行交易和服務(wù)的舞臺(tái)。企業(yè)信息的價(jià)值、產(chǎn)品價(jià)

9、值和服務(wù)價(jià)值,都能在這個(gè)舞臺(tái)上迅速轉(zhuǎn)化成使用價(jià)值而獲得增值。在網(wǎng)絡(luò)環(huán)境中,電子商務(wù)作為節(jié)點(diǎn)構(gòu)造了一個(gè)個(gè)堅(jiān)實(shí)而有增值能力的網(wǎng)絡(luò),從而真正開(kāi)始攜帶巨大的商業(yè)價(jià)值。電子商務(wù)在當(dāng)前企業(yè)界已成為一個(gè)熱門(mén)話題,但要成功實(shí)施還具有一定的難度。本webshop網(wǎng)上購(gòu)物管理系統(tǒng)是采用當(dāng)今比較流行的mvc進(jìn)行設(shè)計(jì)開(kāi)發(fā)的,在設(shè)計(jì)過(guò)程中,將頁(yè)面顯示與功能邏輯實(shí)現(xiàn)分離開(kāi),提高了代碼的重用,有利于日后系統(tǒng)的維護(hù)和升級(jí)。開(kāi)發(fā)過(guò)程中使用的開(kāi)發(fā)工具有:web服務(wù)器tomcat,數(shù)據(jù)庫(kù)服務(wù)器mysql,集成開(kāi)發(fā)工具myeclipse和jdk。前臺(tái)模塊實(shí)現(xiàn)的基本功能主要有:用戶(hù)登陸、用戶(hù)注冊(cè)、商品購(gòu)買(mǎi),商品查詢(xún)等。第1章 概 述1

10、.1背景電子計(jì)算機(jī)在過(guò)去的半個(gè)世紀(jì)的發(fā)展,可謂是突飛猛進(jìn)的發(fā)展。在硬件方面,它已由當(dāng)初的電子管,發(fā)展到現(xiàn)在的大規(guī)模、超大規(guī)模集成電路,中央處理器的發(fā)展也是相當(dāng)可觀;軟件方面,也已經(jīng)從過(guò)去的機(jī)器語(yǔ)言、匯編語(yǔ)言發(fā)展到今天的第四代、第五代語(yǔ)言;除此以外,計(jì)算機(jī)的應(yīng)用也越來(lái)越廣泛,已由當(dāng)初單純的數(shù)值計(jì)算擴(kuò)大到社會(huì)生活的各個(gè)領(lǐng)域,特別是應(yīng)用信息的交流,這是計(jì)算機(jī)應(yīng)用最廣泛的領(lǐng)域。如今,我們會(huì)在互聯(lián)網(wǎng)中獲取大量的信息??梢哉f(shuō)我們的生活是離不開(kāi)高質(zhì)量的信息。信息處理已經(jīng)成為當(dāng)今世界一項(xiàng)主要的社會(huì)活動(dòng)。甚至許多企業(yè)也在互聯(lián)網(wǎng)中發(fā)布和獲取信息。webshop網(wǎng)上購(gòu)物管理系統(tǒng)的產(chǎn)生,使我們能在現(xiàn)如今有著無(wú)數(shù)信息的

11、互聯(lián)網(wǎng)中方便的獲取我們想要的商品,和傳統(tǒng)的交流方式相比有著速度更快、信息更廣的優(yōu)勢(shì)。1.2.1 mysql mysql是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典mysql ab公司。在2008年1月16號(hào)被sun公司收購(gòu)。目前mysql被廣泛地應(yīng)用在internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了mysql作為網(wǎng)站數(shù)據(jù)庫(kù)。1.2.2 myeclipse myeclipse企業(yè)級(jí)工作平臺(tái)(myeclipse enterprise workbench ,簡(jiǎn)稱(chēng)myeclipse)是對(duì)eclipse ide

12、的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和j2ee的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的j2ee集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持html, struts, jsf, css, javascript, sql, hibernate。在結(jié)構(gòu)上,myeclipse的特征可以被分為6類(lèi):(1) j2ee模型(2) web開(kāi)發(fā)工具(3) 應(yīng)用程序服務(wù)器的連接器(4) j2ee項(xiàng)目部署服務(wù)(5) 數(shù)據(jù)庫(kù)服務(wù)(6) myeclipse整合幫助對(duì)于以上每一種功能上的類(lèi)別,在eclipse中都有相應(yīng)的功能部件,并通過(guò)一系列的插件來(lái)實(shí)現(xiàn)它們。myeclip

13、se結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情況下,對(duì)任意模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。簡(jiǎn)單而言,myeclipse是eclipse的插件,也是一款功能強(qiáng)大的j2ee集成開(kāi)發(fā)環(huán)境,支持代碼編寫(xiě)、配置、測(cè)試以及除錯(cuò)。1.2.3 jspjsp(java server pages)是由sun microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。jsp技術(shù)有點(diǎn)類(lèi)似asp技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp標(biāo)記(tag),從而形成jsp文件(*.jsp)。 用jsp開(kāi)發(fā)的web應(yīng)用是跨平臺(tái)的,既能在

14、linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。1.2.4 javabeansjavabeans事實(shí)上有三層含義。首先,javabeans是一種規(guī)范,一種在java(包括jsp)中使用可重復(fù)使用的java組件的技術(shù)規(guī)范。其次,javabeans是一個(gè)java的類(lèi),一般來(lái)說(shuō),這樣的java類(lèi)將對(duì)應(yīng)于一個(gè)獨(dú)立的.java文件,在絕大多數(shù)情況下,這應(yīng)該是一個(gè)public類(lèi)型的類(lèi)。最后,當(dāng)javabeans這樣的一個(gè)java類(lèi)在我們的具體的java程序中被實(shí)例之后,我們有時(shí)也會(huì)將這樣的一個(gè)javabeans的實(shí)例稱(chēng)之為javabeans。1.2.5 mvcmvc架構(gòu)是一個(gè)復(fù)雜的架構(gòu),其實(shí)現(xiàn)也顯得非常復(fù)雜。

15、但是,我們已經(jīng)總結(jié)出了很多可靠的設(shè)計(jì)模式,多種設(shè)計(jì)模式結(jié)合在一起,使mvc架構(gòu)的實(shí)現(xiàn)變得相對(duì)簡(jiǎn)單易行。views可以看作一棵樹(shù),顯然可以用composite pattern來(lái)實(shí)現(xiàn)。views和models之間的關(guān)系可以用observer pattern體現(xiàn)。controller控制views的顯示,可以用strategy pattern實(shí)現(xiàn)。model通常是一個(gè)調(diào)停者,可采用mediator pattern來(lái)實(shí)現(xiàn)。 現(xiàn)在讓我們來(lái)了解一下mvc三個(gè)部分在j2ee架構(gòu)中處于什么位置,這樣有助于我們理解mvc架構(gòu)的實(shí)現(xiàn)。mvc與j2ee架構(gòu)的對(duì)應(yīng)關(guān)系是:view處于web tier或者說(shuō)是clien

16、t tier,通常是jsp/servlet,即頁(yè)面顯示部分。controller也處于web tier,通常用servlet來(lái)實(shí)現(xiàn),即頁(yè)面顯示的邏輯部分實(shí)現(xiàn)。model處于middle tier,通常用服務(wù)端的javabean或者ejb實(shí)現(xiàn)。第2章 可行性分析2.1 技術(shù)可行性分析2.1.1 動(dòng)態(tài)網(wǎng)站技術(shù)介紹internet起源于20世紀(jì)60年代,它在近幾年迅速風(fēng)靡全球,其根本原因不僅在與它擁有卓越的國(guó)際通信功能,更在于它擁有巨大的信息資源。所謂的internet是指由分布在全世界成千上萬(wàn)的計(jì)算機(jī)網(wǎng)絡(luò)遵循一定得通訊協(xié)議,并相互聯(lián)系在一起而形成的 國(guó)際互連網(wǎng)絡(luò),也就是說(shuō),internet是建立和

17、使用在這些網(wǎng)絡(luò)的人群、群體、公司以及各種網(wǎng)絡(luò)資源的集合體。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,單純的靜態(tài)頁(yè)面已經(jīng)不能滿足發(fā)展的需要,因?yàn)殪o態(tài)的頁(yè)面是用單純的html語(yǔ)言組成的,它沒(méi)有交互性。因此,為了滿足人們的需要,許多網(wǎng)頁(yè)文件擴(kuò)展名不再只是“htm”,“html”,出現(xiàn)了以“php”,“asp”,“jsp”,“shtml”等為后綴的網(wǎng)頁(yè)文件,這些都是采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)制作出來(lái)的。2.1.2 程序語(yǔ)言的選擇java ee是目前開(kāi)發(fā)web應(yīng)用(特別是web應(yīng)用)最流行的平臺(tái)之一,其實(shí)java web應(yīng)用的核心技術(shù)就是jsp、servlet與javabean。jsp(javaserver pages)是由sun

18、公司倡導(dǎo),許多別的公司參與一起創(chuàng)建的一種新動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),類(lèi)似其他技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁(yè)html文件(*.htm,*.html)中加入java程序片段(scriptlet)和jsp標(biāo)簽,構(gòu)成了jsp網(wǎng)頁(yè)(*.jsp)servlet/jspcontainer收到客戶(hù)端發(fā)來(lái)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以html格式響應(yīng)給客戶(hù)端,其中程序片段可以是:操作數(shù)據(jù)庫(kù),重新定向網(wǎng)頁(yè)以及發(fā)送e-mail等等,這些都是建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。所有程序操作都在服務(wù)器端運(yùn)行,網(wǎng)絡(luò)上傳送給客戶(hù)端的僅僅是得到的結(jié)果,與客戶(hù)端的瀏覽器無(wú)關(guān),因此,jsp被稱(chēng)為server-side language

19、。所以被許多人認(rèn)為是未來(lái)最有發(fā)展前途的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)是以。語(yǔ)言?xún)?yōu)先如下:(1)將內(nèi)容的生成和現(xiàn)實(shí)進(jìn)行分離使用jsp技術(shù),web頁(yè)面開(kāi)發(fā)人員可以使用html或者xml標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面。使用jsp標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容。生成的內(nèi)容的邏輯被封裝在標(biāo)識(shí)和javabrans組件中,那么其他人,如web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用jsp頁(yè)面而不影響其內(nèi)容的生成。(2)一次編寫(xiě),到處運(yùn)行作為java平臺(tái)的一部分,jsp擁有java編程語(yǔ)言“一次編寫(xiě),到處運(yùn)行”的特點(diǎn),隨著越來(lái)越多的供應(yīng)商將jsp支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,但并不影響當(dāng)前的應(yīng)用。(

20、3)jsp的平臺(tái)適應(yīng)性更廣這是jsp比asp的優(yōu)越之處,幾乎所有的平臺(tái)都支持java,它們可以在任何平臺(tái)下通行無(wú)阻。雖然nt得os占據(jù)了很大的市場(chǎng)份額,但在服務(wù)器方面unix的優(yōu)勢(shì)仍然很大,從一個(gè)平臺(tái)移植到另一個(gè)平臺(tái),jsp和javabeans甚至不用重新編譯,因?yàn)閖ava字節(jié)碼是標(biāo)注的字節(jié)碼,這與平臺(tái)無(wú)關(guān)。(4)健壯的存儲(chǔ)管理和安全性。由于jsp頁(yè)面的內(nèi)置腳本語(yǔ)言是基于java技術(shù)編程語(yǔ)言的,而且所有的jsp 頁(yè)面都被編譯為java servlet,jsp頁(yè)面就具有java技術(shù)的所有優(yōu)點(diǎn),包括健壯的存儲(chǔ)管理和安全性。(5)數(shù)據(jù)庫(kù)連接技術(shù)數(shù)據(jù)庫(kù)連接是一種關(guān)鍵的有限的昂貴的資源,這一點(diǎn)在多用戶(hù)的

21、網(wǎng)頁(yè)應(yīng)用程序中體現(xiàn)得尤為突出。對(duì)數(shù)據(jù)庫(kù)連接的管理能顯著影響到整個(gè)應(yīng)用程序的伸縮性和健壯性,影響到程序的性能指標(biāo)。本系統(tǒng)采用srtuts連接mysql數(shù)據(jù)庫(kù)。在struts-config.xml配置文件中,定義data-source元素設(shè)置了具體的數(shù)據(jù)源,可以使用這個(gè)數(shù)據(jù)源來(lái)連接數(shù)據(jù)庫(kù)。使用數(shù)據(jù)源來(lái)連接數(shù)據(jù)庫(kù)有很多優(yōu)點(diǎn),比如事務(wù)里,連接效率,管理方便,j2ee核心技術(shù)jndi實(shí)現(xiàn)等。2.2 系統(tǒng)結(jié)構(gòu)可行性分析2.2.1 b/s模式簡(jiǎn)介b/s(browser/server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著internet技術(shù)的興起,對(duì)c/s結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶(hù)工作界面

22、是通過(guò)www瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前段(browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶(hù)端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶(hù)的總體成本(tco)。以目前的技術(shù)來(lái)看,局域網(wǎng)建立b/s結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)internet/intranet模式下數(shù)據(jù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如lan,wan,internet/intranet等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);他能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。

23、特別是在java這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,b/s架構(gòu)管理軟件更是方便、快捷、高效。2.2.2 b/s模式的優(yōu)點(diǎn)(1)維護(hù)和升級(jí)方式簡(jiǎn)單目前,軟件系統(tǒng)的改進(jìn)和升級(jí)越來(lái)越頻繁,b/s架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)的單位來(lái)說(shuō),系統(tǒng)管理人員如果需要在幾百甚至上千臺(tái)電腦之間來(lái)回奔跑,效率和工作量是可想而知的,但b/s架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶(hù)端只是瀏覽器,根本不需要做任何的維護(hù)。無(wú)論用戶(hù)的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)曾加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接成專(zhuān)網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享。所以客戶(hù)機(jī)越來(lái)越“瘦

24、”,而服務(wù)器越來(lái)越“胖”是將來(lái)信息化發(fā)展的主流方向。今后,軟件升級(jí)和維護(hù)會(huì)越來(lái)越容易,而使用起來(lái)越來(lái)越簡(jiǎn)單,這對(duì)用戶(hù)人力、物力、時(shí)間、費(fèi)用的節(jié)省是顯而易見(jiàn)的,驚人的。因此,維護(hù)和升級(jí)革命的方式是“瘦”客戶(hù)機(jī)和“胖”客戶(hù)機(jī)。(2)成本降低,選擇更多大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是出于絕對(duì)的統(tǒng)治地位?,F(xiàn)在的趨勢(shì)是凡使用b/s架構(gòu)的應(yīng)用管理軟件,只需安裝在linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用哪種操作系統(tǒng)都可以讓大部分人使用windows作為桌面操作系統(tǒng)而電腦不受影響,這就使得最

25、流行免費(fèi)的linux操作系統(tǒng)快速發(fā)展起來(lái),linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫(kù)也是免費(fèi)的,這種選擇非常盛行。比如說(shuō)很多人每天上“網(wǎng)易”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“網(wǎng)易”的服務(wù)器用的是什么操作系統(tǒng),而事實(shí)上大部分網(wǎng)站確實(shí)沒(méi)有使用windows操作系統(tǒng),但用戶(hù)的電腦本身安裝的是windows操作系統(tǒng)。2.3 開(kāi)發(fā)環(huán)境介紹2.3.1 軟件環(huán)境(1)操作系統(tǒng):windows xp(2)數(shù)據(jù)庫(kù):mysql(3)web服務(wù)器:tomcat(4)開(kāi)發(fā)環(huán)境:myeclipse7.0+mysql5.0+tomcat2.3.2 硬件環(huán)境(1)cpu:amd athlon(tm)2 dual

26、core ql-64(2)顯卡:集成ati mobility radeon hd3200顯卡(3)內(nèi)存:1g(4)主頻:2ghz(5)硬盤(pán):250g2.4 項(xiàng)目目標(biāo)與期望2.4.1促進(jìn)廣大用戶(hù)在線購(gòu)物在計(jì)算機(jī)網(wǎng)絡(luò)飛速發(fā)展的今天網(wǎng)上購(gòu)物已經(jīng)成為人們網(wǎng)上交流的重要平臺(tái),在網(wǎng)上購(gòu)物里面,人們可以買(mǎi)到自己想要的,平時(shí)在商場(chǎng)買(mǎi)不到的,以及廉價(jià)的商品。所以網(wǎng)上購(gòu)物有很大的意義。2.4.2 提供一個(gè)省時(shí)省力的網(wǎng)上購(gòu)物平臺(tái)用戶(hù)可以省時(shí)、省力的在網(wǎng)上購(gòu)買(mǎi)自己心儀的商品。這不僅節(jié)約了用戶(hù)寶貴的時(shí)間,而且還可以買(mǎi)到在商場(chǎng)買(mǎi)不到的商品,網(wǎng)上購(gòu)物買(mǎi)到的商品一般比傳統(tǒng)的購(gòu)物買(mǎi)到的商品便宜??偨Y(jié)上述幾點(diǎn),網(wǎng)站建設(shè)目標(biāo)可總結(jié)

27、如下。(1)讓用戶(hù)足不出戶(hù)就可以享受安逸的購(gòu)物。(2)推進(jìn)產(chǎn)品銷(xiāo)售的新途徑。第3章 項(xiàng)目需求分析3.1 系統(tǒng)功能需求網(wǎng)上購(gòu)物管理系統(tǒng)提供的功能包括注冊(cè)賬號(hào)、瀏覽商品、發(fā)表留言、商品搜索等。功能:用戶(hù)登錄、用戶(hù)注冊(cè)、發(fā)表留言、商品搜索、商品在線支付。目標(biāo)系統(tǒng)應(yīng)該達(dá)到以下要求。時(shí)間經(jīng)濟(jì)性。優(yōu)化邏輯設(shè)計(jì)與物理設(shè)計(jì),使系統(tǒng)運(yùn)行效率高,反映速度快??煽啃浴D苓B續(xù)準(zhǔn)確的處理業(yè)務(wù),有較強(qiáng)的容錯(cuò)能力??衫斫庑?。用戶(hù)容易理解和使用該系統(tǒng)??删S護(hù)性和適應(yīng)性。系統(tǒng)應(yīng)易于修改、易于擴(kuò)充、易于維護(hù),能夠適應(yīng)業(yè)務(wù)不斷發(fā)展變化的需要??捎眯?。目標(biāo)系統(tǒng)功能齊全,能夠滿足業(yè)務(wù)需求。安全保密性。保證系統(tǒng)的物理安全、數(shù)據(jù)存儲(chǔ)和存取

28、的安全與保密、數(shù)據(jù)傳輸?shù)陌踩c保密。3.2 系統(tǒng)的運(yùn)行需求(1)操作系統(tǒng)操作系統(tǒng)對(duì)使用jsp開(kāi)發(fā)人力資源的影響不是很大,windows2000、windowsxp都可以,但好的操作系統(tǒng)可以使用服務(wù)器運(yùn)行的更流暢,減少系統(tǒng)崩潰的可能性。因此,我們選用了穩(wěn)定性較好的windowsxp。(2)數(shù)據(jù)庫(kù)mysql是一個(gè)小型關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。其體積小、速度快、總體擁有成本低、開(kāi)放源碼。所以我選用了mysql。(3)數(shù)據(jù)庫(kù)通信接口數(shù)據(jù)庫(kù)通信接口采用jdbc(java database connectivity,java數(shù)據(jù)庫(kù)連接)。它是一個(gè)面向?qū)ο蟮膽?yīng)用程序接口(api),通過(guò)它可以訪問(wèn)各類(lèi)關(guān)系數(shù)據(jù)庫(kù)。對(duì)

29、于程序員來(lái)說(shuō),只要構(gòu)建了一個(gè)指向數(shù)據(jù)庫(kù)的連接,就可以采用統(tǒng)一的應(yīng)用程序編程接口實(shí)現(xiàn)數(shù)據(jù)庫(kù)的讀寫(xiě)。目前jdbc驅(qū)動(dòng)已經(jīng)提供了對(duì)大多數(shù)常見(jiàn)類(lèi)型數(shù)據(jù)庫(kù)的支持,包括mysql、dbase、access、sql server和oracle等,也包括了對(duì)其他類(lèi)型的數(shù)據(jù)庫(kù)的支持,如文本、excel電子表格等。(4)安全機(jī)制問(wèn)題的解決在進(jìn)入系統(tǒng)之前,要進(jìn)行身份確認(rèn),只有用戶(hù)名和用戶(hù)密碼都相符的用戶(hù)才可進(jìn)入本系統(tǒng)。為了防止不合法的用戶(hù)對(duì)數(shù)據(jù)的察看和修改,本系統(tǒng)把用戶(hù)分為兩個(gè)級(jí)別:管理員和普通用戶(hù)。管理員級(jí)別用戶(hù)不僅可以對(duì)數(shù)據(jù)查詢(xún),還可以對(duì)用戶(hù)的使用權(quán)限進(jìn)行控制,還可以對(duì)記錄進(jìn)行增加、刪除、修改等操作。當(dāng)用戶(hù)要進(jìn)

30、入系統(tǒng)時(shí)必須先輸入用戶(hù)名和密碼,按“確定”按鈕后,系統(tǒng)開(kāi)始辨別用戶(hù)身份,對(duì)合法的用戶(hù)的權(quán)限級(jí)別賦予相應(yīng)的使用功能。3.3 系統(tǒng)數(shù)據(jù)流1.用戶(hù)購(gòu)買(mǎi)商品數(shù)據(jù)流的設(shè)計(jì)見(jiàn)圖3-1所示。圖3-1 用戶(hù)購(gòu)買(mǎi)商品數(shù)據(jù)流圖第4章 概要設(shè)計(jì) 總體設(shè)計(jì)是在系統(tǒng)分析的基礎(chǔ)上由抽象到具體的過(guò)程。主要目標(biāo)是將系統(tǒng)分析階段所提出的反映了信息需求的邏輯方案轉(zhuǎn)換成可以在計(jì)算機(jī)與網(wǎng)絡(luò)中運(yùn)行的技術(shù)方案,為下一階段系統(tǒng)試試提供必要的技術(shù)資料,應(yīng)符合系統(tǒng)性,靈活性,可靠性,經(jīng)濟(jì)型的要求。4.1 系統(tǒng)功能設(shè)計(jì)(1)用戶(hù)登錄 用戶(hù)待身份驗(yàn)證成功以后,就可以進(jìn)入網(wǎng)上購(gòu)物管理系統(tǒng)。如果已注冊(cè)用戶(hù)填寫(xiě)的用戶(hù)名及密碼與數(shù)據(jù)庫(kù)中的相應(yīng)信息不匹配,

31、那么該用戶(hù)就不能通過(guò)身份驗(yàn)證,系統(tǒng)將轉(zhuǎn)至登錄錯(cuò)誤頁(yè)面,提示信息為“登錄失敗,您的用戶(hù)名和密碼不正確”。 (2)用戶(hù)注冊(cè)此部分是用戶(hù)的注冊(cè)功能。通過(guò)填寫(xiě)注冊(cè)資料,正確填寫(xiě)后,點(diǎn)擊注冊(cè)按鈕便可成為注冊(cè)用戶(hù)。用戶(hù)名不允許重復(fù)。兩次密碼必須輸入一致,否則不可以注冊(cè)。e-mail必須填寫(xiě)有效的郵箱地址。用戶(hù)注冊(cè)成功后就可以使用前臺(tái)的一切功能。(3)瀏覽商品功能用戶(hù)登錄成功后,即進(jìn)入webshop首頁(yè)面。此頁(yè)面顯示webshop中所有商品。(4)如何瀏覽webshop商品用戶(hù)在網(wǎng)站主頁(yè)頁(yè)面中單擊某個(gè)商品名或者圖片鏈接將進(jìn)入該商品的詳細(xì)信息頁(yè)面,可以瀏覽商品所有信息。(5)購(gòu)買(mǎi)商品點(diǎn)擊商品的圖片或者商品名稱(chēng)

32、鏈接進(jìn)入商品詳細(xì)信息頁(yè)面。進(jìn)入購(gòu)物車(chē),購(gòu)物車(chē)?yán)锟梢詣h除所購(gòu)買(mǎi)的商品,如果想購(gòu)買(mǎi)該商品,則單擊“購(gòu)買(mǎi)”按鈕,進(jìn)入購(gòu)買(mǎi)頁(yè)面,輸入用戶(hù)信息,單擊支付,則可以購(gòu)買(mǎi)該商品。(6)留言如果對(duì)該網(wǎng)站或者購(gòu)買(mǎi)的商品有什么疑問(wèn),則可以在留言頁(yè)面留言。網(wǎng)站管理員可以對(duì)該用戶(hù)提出的建議或要求對(duì)網(wǎng)站或商品進(jìn)行相應(yīng)調(diào)整。(7)搜索商品用戶(hù)可以在搜索頁(yè)面搜索自己想要的商品,在搜索框中輸入想查詢(xún)的商品名稱(chēng),然后選擇該商品名稱(chēng),單擊“查看”,則可進(jìn)入該商品的詳細(xì)頁(yè)面。(8)用戶(hù)更改密碼功能此部分功能主要實(shí)現(xiàn)用戶(hù)對(duì)自己的密碼更改功能。(9)支付寶充值功能用戶(hù)想用支付寶進(jìn)行購(gòu)買(mǎi)商品時(shí),可以進(jìn)行支付寶充值。第5章 數(shù)據(jù)庫(kù)設(shè)計(jì)(1)

33、數(shù)據(jù)庫(kù)e-r圖設(shè)計(jì)如圖5-1所示。圖5-1 數(shù)據(jù)庫(kù)e-r圖(2)依據(jù)項(xiàng)目的處理需求,對(duì)應(yīng)數(shù)據(jù)表的設(shè)計(jì)及功能如下。用戶(hù)信息列表的功能主要用于保存用戶(hù)用戶(hù)登陸信息見(jiàn)表5-1所示。表5-1 用戶(hù)信息表(zhaowei)字段名字段類(lèi)型字段長(zhǎng)度是否允許為空是否為主鍵描述loginuservarchar50不是用戶(hù)名passwordvarchar50不否密碼emailvarchar50不否郵箱phonevarchar50不否電話號(hào)碼moneydouble20不否支付寶余額liuyanvarchar50允許否留言?xún)?nèi)容特別產(chǎn)品信息表的功能主要用于保存webshop特惠產(chǎn)品信息詳細(xì)見(jiàn)表5-2所示。表5-2 特惠

34、產(chǎn)品信息表(special)字段名字段類(lèi)型字段長(zhǎng)度是否允許為空是否主鍵描述idint50不允許是idnamevarchar50不允許否商品名稱(chēng)pridedouble50不允許否商品價(jià)格imagesvarchar50不允許否商品圖片yuanjiavarchar50不允許否商品原價(jià)用戶(hù)購(gòu)買(mǎi)的商品信息表的功能主要用于保存主題信息(shopproduct)詳細(xì)見(jiàn)表5-3所示。表5-3 購(gòu)買(mǎi)商品信息表(shopproduct)字段名字段類(lèi)型字段長(zhǎng)度是否允許為空是否主鍵描述yonghumingvarchar50不允許是用戶(hù)名productnamevarcher50不允許否商品名稱(chēng)quantityint50

35、不允許否商品數(shù)量pricedouble20不允許否商品價(jià)格回復(fù)信息表的功能主要用于保存回復(fù)信息,詳細(xì)見(jiàn)表5-4所示。表5-4 用戶(hù)支付商品價(jià)格信息表(productorder)字段名字段類(lèi)型字段長(zhǎng)度是否允許為空是否主鍵描述yonghumingvarchar50不允許是用戶(hù)名zipcodevarchar50不允許否郵編 phonevarchar50不允許否電話號(hào)碼 addressvarchar50不允許否地址creditcardvarchar50不允許否信用卡totalvarchar50不允許否總價(jià)商品信息表的功能主要用于保存商品信息,詳細(xì)見(jiàn)表5-5所示。表5-5 商品信息表(product)字

36、段名字段類(lèi)型字段長(zhǎng)度是否允許為空是否主鍵描述idvarchar50不允許是idnamevarcher50不允許否商品名稱(chēng)pridedouble50不允許否商品價(jià)格imagesvarchar50不允許否商品圖片leibievarchar50不允許否商品類(lèi)別第6章 系統(tǒng)詳細(xì)設(shè)計(jì)6.1 運(yùn)行環(huán)境本系統(tǒng)對(duì)運(yùn)行環(huán)境要求并不高,在cpu:intel pentium內(nèi)存:1g以上顯示卡:geforce840硬盤(pán):150gb的配置下能很好的運(yùn)行。環(huán)境搭建如下。(1)環(huán)境搭建:第一步,創(chuàng)建web工程第二步,分包,如圖6-1所示圖6-1 分包6.2 主要源代碼實(shí)現(xiàn)6.2.1 src中部分代碼(1)數(shù)據(jù)庫(kù)連接代碼p

37、rivate static final string dbdriver= com.mysql.jdbc.driver;private static final string dburl = jdbc:mysql:/localhost:3306/test;private static final string dbusername = root;private static final string dbpassword = root;public static connection getconnection()connection con=null;tryclass.forname(dbdr

38、iver);con=drivermanager.getconnection(dburl,dbusername,dbpassword);catch(exception e)e.printstacktrace();return con;(2)用戶(hù)登陸用戶(hù)登陸的代碼如下:package operation;import java.sql.*;import common.connectionmanager;import entity.loginuser;public class loginoperation public loginuser getloginuser(loginuser loginus

39、er) connection con = null;preparedstatement pstmt;resultset res = null;try con = connectionmanager.getconnection();string sql = select * from zhaowei where password=?;pstmt = con.preparestatement(sql);pstmt.setstring(1, loginuser.getpassword();res = pstmt.executequery();while (res.next() loginuser.s

40、etloginuser(res.getstring(loginuser);loginuser.setpassword(res.getstring(password);loginuser.setmoney(res.getdouble(money); catch (sqlexception e) e.printstacktrace();return loginuser;(3)獲取產(chǎn)品列表獲取產(chǎn)品列表代碼如下:private connection con;private preparedstatement pstmt;private resultset result;/ 返回product列表pub

41、lic list getproductlist()list productlist=new arraylist();/ 獲取產(chǎn)品列表trycon=connectionmanager.getconnection();pstmt=con.preparestatement(select id,name,pride,images from product);resultset result=pstmt.executequery();/ 讀取數(shù)據(jù)行while(result.next()product product=new product();product.setid(result.getstring

42、(id);product.setname(result.getstring(name);product.setpride(result.getdouble(pride);product.setimage(result.getstring(images);/添加到列表中productlist.add(product);catch(sqlexception e)e.printstacktrace();finallyconnectionmanager.closeresultset(result);connectionmanager.closestatement(pstmt);connectionma

43、nager.closeconnection(con);return productlist;(4)搜索功能搜索功能代碼如下: public product getsousuo(product product)/ 獲取產(chǎn)品列表trycon=connectionmanager.getconnection();pstmt=con.preparestatement(select id,pride,images from product where name=?);pstmt.setstring(1,product.getname();resultset result=pstmt.executequer

44、y();/ 讀取數(shù)據(jù)行while(result.next()product.setid(result.getstring(id);product.setpride(result.getdouble(pride);product.setimage(result.getstring(images);catch(sqlexception e)e.printstacktrace();finallyconnectionmanager.closeresultset(result);connectionmanager.closestatement(pstmt);connectionmanager.close

45、connection(con);return product;(5)留言功能留言功能的代碼如下:public int liuyan(string liuyan,string loginuser) int result = 0;connection con = null;preparedstatement pstmt = null;try con = connectionmanager.getconnection();string sql = update zhaowei set liuyan=? where loginuser=? ;pstmt = con.preparestatement(s

46、ql);pstmt.setstring(1, liuyan);pstmt.setstring(2,loginuser);/ result為sql語(yǔ)句執(zhí)行的行數(shù)result = pstmt.executeupdate(); catch (sqlexception e) e.printstacktrace(); finally connectionmanager.closestatement(pstmt);connectionmanager.closeconnection(con);return result;(6)購(gòu)買(mǎi)商品購(gòu)買(mǎi)商品的代碼如下:public int saveorder( strin

47、g yonghuming,string zipcode, string phone,string address,string creditcard, double total) int result = 0;connection con = null;preparedstatement pstatement = null;try con = connectionmanager.getconnection();string strsql = insert into productorder(yonghuming,zipcode,+ phone,address,creditcard,total)

48、 values(?,?,?,?,?,?);pstatement = con.preparestatement(strsql);pstatement.setstring(1, yonghuming);pstatement.setstring(2, zipcode);pstatement.setstring(3, phone);pstatement.setstring(4,address);pstatement.setstring(5, creditcard);pstatement.setdouble(6, total);result = pstatement.executeupdate(); c

49、atch (sqlexception e) e.printstacktrace(); finally connectionmanager.closestatement(pstatement);connectionmanager.closeconnection(con);return result;6.2.2 webroot中部分代碼(1)顯示商品信息功能代碼顯示商品信息的代碼如下:%productlist productlist = new productlist();/訪問(wèn)數(shù)據(jù)庫(kù)方法,返回所有產(chǎn)品信息列表list productlist2 = productlist.getproductlist();product product;/把產(chǎn)品保存在session中session.setattribute(product

溫馨提示

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

評(píng)論

0/150

提交評(píng)論