網(wǎng)上圖書銷售系統(tǒng)畢業(yè)論文_第1頁
網(wǎng)上圖書銷售系統(tǒng)畢業(yè)論文_第2頁
網(wǎng)上圖書銷售系統(tǒng)畢業(yè)論文_第3頁
網(wǎng)上圖書銷售系統(tǒng)畢業(yè)論文_第4頁
網(wǎng)上圖書銷售系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

東華理工大學(xué)系統(tǒng)設(shè)計(jì)(報(bào)告)網(wǎng)上圖書銷售系統(tǒng)PAGEPAGE3東華理工大學(xué)第1頁共26頁系統(tǒng)分析設(shè)計(jì)報(bào)告網(wǎng)上圖書銷售系統(tǒng)年級(jí):專業(yè):計(jì)算機(jī)信息管理學(xué)號(hào):姓名:指導(dǎo)老師:丁木華、劉愛華、吳志強(qiáng)摘要伴隨著Internet的迅速發(fā)展,電子商務(wù)將成為21世紀(jì)主流的商業(yè)模式之一。網(wǎng)上書店是隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展而出現(xiàn)的一種新型圖書銷售渠道。依靠計(jì)算機(jī)網(wǎng)絡(luò),以通訊技術(shù)為基礎(chǔ),實(shí)現(xiàn)圖書銷售的網(wǎng)上交易。網(wǎng)上書店同傳統(tǒng)的店面書店相比,網(wǎng)上書店的經(jīng)營方式和銷售渠道是全新的;它24小時(shí)的全天候和全方位服務(wù)是傳統(tǒng)書店所不能比及的,成本低廉更是開設(shè)網(wǎng)上書店的主要原因。而與其他商品相比,書籍運(yùn)送幾乎不怕碰撞碎裂,不具時(shí)效性,同時(shí)書本具有功能單一,形式簡單,易于判斷和選擇而獨(dú)具優(yōu)勢(shì),最適合于網(wǎng)上交易;再次是單價(jià)低,降低了消費(fèi)者第一次在網(wǎng)絡(luò)購物的門檻,所以網(wǎng)上書店成了電子商務(wù)的先鋒。本文首先簡述網(wǎng)上購書的歷史背景,接著陳述了設(shè)計(jì)的原理和設(shè)計(jì)所采用的工具,工具包括JSP、DreamweaverMX、MicrosoftSQL2000、JavaScript;首先對(duì)系統(tǒng)進(jìn)行需求分析,得出了購書系統(tǒng)的結(jié)構(gòu)圖,然后接著詳細(xì)的描述實(shí)現(xiàn)了一個(gè)網(wǎng)上書店全程購物系統(tǒng)解決方案。[關(guān)鍵詞]電子商務(wù);電子書店;JSP;DreamweaverMX

第一章緒論1.1引言隨著Internet國際互聯(lián)網(wǎng)的發(fā)展,越來越多的企業(yè)開始建造自己的網(wǎng)站?;贗nternet的信息服務(wù),商務(wù)服務(wù)已經(jīng)成為現(xiàn)代企業(yè)一項(xiàng)不可缺少的內(nèi)容。很多企業(yè)都已不滿足于建立一個(gè)簡單的僅僅能夠發(fā)布信息的靜態(tài)網(wǎng)站。現(xiàn)代企業(yè)需要的是一個(gè)功能強(qiáng)大的,能提供完善的電子商務(wù)服務(wù)的動(dòng)態(tài)商務(wù)網(wǎng)站。同時(shí)人們的生活方式也在隨著發(fā)生改變,傳統(tǒng)的購物方式已不能滿足人們的需求。JSP是Sun公司推出的一種網(wǎng)站開發(fā)技術(shù),Sun公司借助自己在Java上的不凡造詣,又把人們引進(jìn)JSP時(shí)代,JSP即JavaServerPage,它可以在Servlet和JavaBean的支持下,完成功能強(qiáng)大的Web應(yīng)用程序。所以,在我的畢業(yè)設(shè)計(jì)中,我采用了JSP作為開發(fā)工具,構(gòu)建了一個(gè)能實(shí)現(xiàn)基本的電子商務(wù)的小型動(dòng)態(tài)商務(wù)網(wǎng)站——網(wǎng)上圖書銷售系統(tǒng)。該系統(tǒng)能實(shí)現(xiàn)用戶的注冊(cè)、登錄功能;能夠?qū)崿F(xiàn)商品的查詢,訂購等功能。該系統(tǒng)基本上具備一個(gè)網(wǎng)上商品銷售系統(tǒng)應(yīng)該具備的常用功能,該設(shè)計(jì)項(xiàng)目基本上體現(xiàn)了構(gòu)建一個(gè)動(dòng)態(tài)商務(wù)網(wǎng)站所需要的技術(shù),可以說,目前的大型商務(wù)網(wǎng)站也就是我們這個(gè)小型網(wǎng)站在內(nèi)容上的擴(kuò)充和完善。1.2概述隨著時(shí)代的發(fā)展,信息技術(shù)、Internet/Intranet技術(shù)、數(shù)據(jù)庫技術(shù)的不斷發(fā)展完善,網(wǎng)絡(luò)進(jìn)程的加快,傳統(tǒng)的購物方式也越來越不能滿足人們快節(jié)奏的生活需求,使得企業(yè)的IT部門已經(jīng)認(rèn)識(shí)到Internet的優(yōu)勢(shì),電子商務(wù)就是在這樣一個(gè)背景下產(chǎn)生發(fā)展起來的。伴隨著電子商務(wù)技術(shù)的不斷成熟,電子商務(wù)的功能也越來越強(qiáng)大,注冊(cè)用戶可以在網(wǎng)上搜索購買到自己想要的各種商品,初步讓人們體會(huì)到了足不出戶,便可隨意購物的快感。我的畢業(yè)設(shè)計(jì)也就正是一個(gè)電子商務(wù)系統(tǒng)的開發(fā)網(wǎng)上圖書銷售系統(tǒng)。第二章系統(tǒng)分析2.1可行性分析商業(yè)企業(yè)在運(yùn)營過程中,經(jīng)常會(huì)受到以下一些條件的限制:產(chǎn)品的宣傳受到限制,采購商或顧客只能通過上門咨詢、電話溝通等方式進(jìn)行各種信息的獲取,受一定的時(shí)間與物理空間的局限并且成本較高。龐大的商業(yè)經(jīng)濟(jì)周轉(zhuǎn)。復(fù)雜的產(chǎn)品周轉(zhuǎn)渠道。從看樣品、談價(jià)格到支付貨款等一系列的產(chǎn)品周轉(zhuǎn)渠道過于復(fù)雜,企業(yè)與顧客之間缺乏全面的溝通與快捷運(yùn)營的平臺(tái)。商業(yè)企業(yè)中根據(jù)季節(jié)的變化,熱銷商品在銷售高峰到來時(shí)貨源緊張,企業(yè)需要實(shí)時(shí)了解商品的銷售情況,保證熱銷商品的要貨滿足率。因此,企業(yè)需要重新認(rèn)識(shí)市場(chǎng)、消費(fèi)者以及自身市場(chǎng)定位,正確認(rèn)識(shí)電子商務(wù)技術(shù)在企業(yè)中的重要地位,以少量的時(shí)間和資金建立企業(yè)信息門戶網(wǎng)站并架設(shè)一定范圍的商務(wù)網(wǎng)絡(luò),以此來制定長遠(yuǎn)發(fā)展戰(zhàn)略,使企業(yè)與顧客間的經(jīng)濟(jì)活動(dòng)變得更靈活、更主動(dòng)。本系統(tǒng)是一個(gè)中小型的電子商務(wù)系統(tǒng)網(wǎng)上書店,可以為各類用戶提供方便的在線買書環(huán)境,符合目前國內(nèi)流行的電子商務(wù)模式。用戶可以在系統(tǒng)中實(shí)現(xiàn)注冊(cè)、瀏覽商品、搜索查詢商品、下定單、處理定單等功能;管理員可以通過用戶管理、定單管理、商品管理、評(píng)論管理等管理功能來對(duì)系統(tǒng)進(jìn)行維護(hù)更新。在技術(shù)上,目前市場(chǎng)上開發(fā)電子商務(wù)平臺(tái)的技術(shù)很多,如ASP,PHP,PB,.NET等。我采用SUN公司的JSP技術(shù),它是目前市場(chǎng)上最流行的技術(shù)之一,JSP具有一次編譯,處處運(yùn)行的優(yōu)點(diǎn)[4]。由分析可得,不論是商業(yè)還是技術(shù)上,網(wǎng)上圖書銷售系統(tǒng)的開發(fā)都是可行的。2.2需求分析通過對(duì)電子商務(wù)網(wǎng)站及網(wǎng)上書店的考察、分析以及實(shí)際的市場(chǎng)調(diào)查,要求本系統(tǒng)具有以下功能:統(tǒng)一友好的操作界面,能保證系統(tǒng)的易用性。規(guī)范、完善的基礎(chǔ)信息設(shè)置。圖書分類詳盡,可按不同類別查看商品信息。按圖書大類及圖書名稱進(jìn)行模糊查詢。實(shí)現(xiàn)網(wǎng)上購書。新書及特價(jià)圖書展示。第三章概要設(shè)計(jì)3.1系統(tǒng)設(shè)計(jì)目標(biāo)對(duì)于典型的數(shù)據(jù)庫管理系統(tǒng),尤其是對(duì)像電子商務(wù)這樣的數(shù)據(jù)流量特別大的網(wǎng)絡(luò)管理系統(tǒng),必須要滿足使用方便、操作靈活等設(shè)計(jì)要求。本系統(tǒng)在設(shè)計(jì)時(shí)應(yīng)該滿足以下幾個(gè)目標(biāo):采用人機(jī)對(duì)話的操作方式,界面設(shè)計(jì)美觀友好、信息查詢靈活、方便、快捷、準(zhǔn)確、數(shù)據(jù)存儲(chǔ)安全可靠。全面展示書店內(nèi)所有的圖書,并可展示最新圖書及特價(jià)圖書。為顧客提供一個(gè)方便、快捷的圖書信息查詢功能。采用模糊查詢查詢數(shù)據(jù)。實(shí)現(xiàn)網(wǎng)上購物。商品銷售排行,以方便顧客了解本商城內(nèi)的熱銷商品及幫助企業(yè)領(lǐng)導(dǎo)者做出相應(yīng)的決策。查看商城內(nèi)的公告信息。用戶隨時(shí)都可以查看自己的訂單。對(duì)用戶輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能排除人為的錯(cuò)誤。系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。3.2系統(tǒng)設(shè)計(jì)思想本系統(tǒng)采用三層架構(gòu)設(shè)計(jì),它的工作原理如圖3.1所示。圖3.1三層結(jié)構(gòu)原理圖采用三層構(gòu)架以后,用戶界面層通過統(tǒng)一的接口向業(yè)務(wù)層發(fā)送請(qǐng)求,業(yè)務(wù)層按自己的邏輯規(guī)則將請(qǐng)求處理之后進(jìn)行數(shù)據(jù)庫操作,然后將數(shù)據(jù)庫返回的數(shù)據(jù)封裝成類的形式返回給用戶界面層。這樣用戶界面層甚至可以不知道數(shù)據(jù)庫的結(jié)構(gòu),它只要維護(hù)與業(yè)務(wù)層之間的接口即可。3.3系統(tǒng)功能模塊劃分根據(jù)需求分析及三層架構(gòu)設(shè)計(jì)的思想,設(shè)計(jì)出客戶系統(tǒng)功能如圖3.2用戶登錄用戶登錄在線購書在線購書用戶注冊(cè)登陸察看圖書詳細(xì)購買圖書查詢察看訂單信息查看購物車在線購書用戶注冊(cè)登陸察看圖書詳細(xì)購買圖書查詢察看訂單信息查看購物車在線購書購買察看圖書詳細(xì)資料購買查看訂單詳細(xì)繼續(xù)購書清空購物車提交購物車刪除已經(jīng)選購的圖書修改購買數(shù)量購買察看圖書詳細(xì)資料購買查看訂單詳細(xì)繼續(xù)購書清空購物車提交購物車刪除已經(jīng)選購的圖書修改購買數(shù)量圖3.2客戶端系統(tǒng)管理員登陸管理員登陸用戶管理現(xiàn)有圖書管理添加新圖書添加圖書分類訂單管理用戶管理查看圖書資料修改圖書資料刪除圖書添加新圖書添加圖書分類刪除圖書分類查看訂單詳細(xì)資料刪除訂單查看用戶資料刪除用戶查看用戶詳細(xì)資料修改用戶資料圖3.3后臺(tái)管理系統(tǒng)功能圖3.4系統(tǒng)結(jié)構(gòu)設(shè)計(jì)根據(jù)面向?qū)ο蠛腿龑咏Y(jié)構(gòu)設(shè)計(jì)的思想,可得出如圖3.4所示的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖。在線書店客戶端界面管理端界面JavaBean數(shù)據(jù)庫在線書店客戶端界面管理端界面JavaBean數(shù)據(jù)庫在購書界面圖書管理模塊訂單管理圖書管理用戶管理購物車界面定單信息管理登陸/注冊(cè)添加圖書模塊添加圖書分類模塊訂單信息模塊客戶管理模塊登陸模塊圖書分類類圖書類圖書分類管理類圖書管理類訂單類訂單管理類購物車類購物車管理類用戶類用戶管理類用戶登錄類3.5系統(tǒng)功能簡介3.5.1系統(tǒng)基本功能1)圖書信息查詢?cè)撃K實(shí)現(xiàn)圖書信息的分類顯示,提供最新商品的推薦顯示以及銷售顯示,便于引導(dǎo)購物取向。此外,還提供依據(jù)圖書名稱或是編號(hào)等包含關(guān)鍵字實(shí)現(xiàn)快速搜索的功能并顯示圖書的有關(guān)詳細(xì)信息。2)購物車管理用于對(duì)每一個(gè)進(jìn)入系統(tǒng)的用戶所對(duì)應(yīng)的購物車進(jìn)行管理。將用戶所選購的圖書信息,包括價(jià)格、數(shù)量等信息記錄到對(duì)應(yīng)的購物車上,便于到收銀臺(tái)進(jìn)行結(jié)帳處理。同時(shí)在此模塊中,用戶還可以方便的實(shí)現(xiàn)修改購物圖書、清空購物車等操作。3)會(huì)員信息管理實(shí)現(xiàn)系統(tǒng)相關(guān)用戶信息的注冊(cè)及身份驗(yàn)證,同時(shí)也提供對(duì)應(yīng)的用戶資料的更新。該系統(tǒng)可以收集用戶相關(guān)的聯(lián)系方式、通訊地址等信息,可以更好的拓展銷售規(guī)模。4)訂單處理根據(jù)購物車中的信息,以及用戶所選擇的送貨方式和付款方式,和用戶對(duì)應(yīng)的個(gè)人信息生成訂單,便于后續(xù)工作的處理。在該模塊中,用戶可以隨時(shí)查閱自己的訂單,并對(duì)其進(jìn)行取消等處理操作。3.6數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率,以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致3.6.1數(shù)據(jù)庫需求分析針對(duì)網(wǎng)上圖書銷售系統(tǒng)的需求分析,得出如下需求信息。訂單分為單張?jiān)敿?xì)訂單和總訂單。一個(gè)用戶可以購買多本圖書。一個(gè)用戶對(duì)應(yīng)一張訂單。一個(gè)列表對(duì)應(yīng)多張訂單。針對(duì)本系統(tǒng)功能分析,總結(jié)出如下的需求信息。用戶,包括數(shù)據(jù)項(xiàng):用戶ID、用戶名、密碼。圖書,包括數(shù)據(jù)項(xiàng):圖書編號(hào)、圖書名、價(jià)格、圖書介紹。訂單列表,包括數(shù)據(jù)項(xiàng):訂單編號(hào)、圖書編號(hào)、購書數(shù)量。訂單,包括數(shù)據(jù)項(xiàng):訂單編號(hào)、用戶編號(hào)、下單時(shí)間。3.6.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)從本系統(tǒng)中規(guī)劃出的實(shí)體有:用戶信息實(shí)體、管理員信息實(shí)體、圖書實(shí)體、圖書分類實(shí)體、訂單實(shí)體、訂單列表實(shí)體。實(shí)體之間關(guān)系的E-R圖如圖4.5所示。MN管理員用戶購書訂單列表MN管理員用戶購書訂單列表訂單圖書圖書分類11NN11管理員實(shí)體的E-R圖,如圖3.6所示。圖書分類實(shí)體的E-R圖,如圖3.7所示。用戶信息實(shí)體的E-R圖,如圖3.8所示。圖書實(shí)體的E-R圖,如圖3.9所示。訂單實(shí)體的E-R圖,如圖3.10所示。訂單列表實(shí)體的E-R圖,如圖3.11所示。管理員管理員用戶名密碼圖書分類分類名稱分類編號(hào)圖3.6管理員實(shí)體的E-R圖圖3.7圖書分類實(shí)體E-R圖用戶用戶用戶名密碼地址真名性別電話郵編Email注冊(cè)時(shí)間注冊(cè)IP圖3.8用戶實(shí)體E-R圖圖書圖書圖書編號(hào)圖書名稱分類編號(hào)封面作者出版社內(nèi)容介紹總數(shù)量剩余數(shù)量價(jià)格圖3.9圖書實(shí)體E-R圖訂單訂單訂單編號(hào)用戶編號(hào)購買時(shí)間總價(jià)格內(nèi)容IP地址是否發(fā)貨是否付款圖3.10訂單實(shí)體E-R圖訂單列表訂單列表購書數(shù)量圖書編號(hào)用戶號(hào)訂單號(hào)圖3.11訂單列表實(shí)體的E-R圖3.7數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)數(shù)據(jù)庫采用SQLServer2000數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為bookshop,下面分別給出數(shù)據(jù)表概要說明、數(shù)據(jù)表關(guān)系概要說明及主要數(shù)據(jù)表的結(jié)構(gòu)。1、 數(shù)據(jù)表概要說明數(shù)據(jù)表樹型結(jié)構(gòu)圖如圖3.12所示,該數(shù)據(jù)表樹型結(jié)構(gòu)圖包含系統(tǒng)所有的數(shù)據(jù)表圖3.12數(shù)據(jù)表樹型結(jié)構(gòu)圖2、各個(gè)表的結(jié)構(gòu)如下表表3.1為圖書信息列表,記錄書店現(xiàn)有的圖書信息。表3.1Book表列名數(shù)據(jù)類型長度允許空注釋IDInt4圖書編號(hào)BookNamevarchar40否圖書名稱BookClassInt4否圖書分類AuthorVarchar25是作者PublishVarchar150是出版社BookNoVarchar30是書號(hào)Contenttext300是內(nèi)容Pricefloat8是價(jià)格Amountint4是總數(shù)量Leav_numberint4是剩余數(shù)量RegTimedatatime8是注冊(cè)時(shí)間Picturevarchar60是封面表3.2為書店管理員信息表,記錄管理員的帳號(hào)和密碼。表3.2BookAdmin表列名數(shù)據(jù)類型長度允許空注釋AdminuserVarchar20否管理員AdminPassVarchar20否管理員密碼表3.3為用戶信息表,記錄用戶的基本信息。表3.3用戶表列名數(shù)據(jù)類型長度允許空注釋IDInt2否用戶編號(hào)UserNameVarchar50否用戶名passWordVarchar50否密碼NamesVarchar50否真名SexVarchar50是性別AddressVarchar50是地址PhoneVarchar50是電話PostVarchar50是郵編EmailVarchar50是電子郵件RegTimeDatatime50是注冊(cè)時(shí)間RegIPAddressvarchar50是注冊(cè)IP地址表3.4為訂單總表,記錄某個(gè)用戶的訂單總信息。表3.4訂單總表列名數(shù)據(jù)類型長度允許空注釋IDInt4否總訂單編號(hào)OrderIDInt4否訂單號(hào)BookNoInt4否書號(hào)Amountint4是數(shù)量表3.5為訂單表,記錄整張訂單的具體信息。表3.5訂單表列名數(shù)據(jù)類型長度允許空注釋IDInt4否訂單IDOrderIDVarchar50否總訂單IDUserIdVarchar50否用戶IDSubmitTimeDatatime8是提交時(shí)間ConsignmentTimeDatatime8是購買時(shí)間TotalPriceFloat16是總價(jià)格contentText300是描述IpaddressVarchar50是IP地址IspayoffVarchar50是是否付款I(lǐng)sAddressvarchar20是是否發(fā)貨表3.6為圖書分類表,記錄書店現(xiàn)有圖書的分類。表3.6Bookclass表列名數(shù)據(jù)類型長度允許空注釋IDVarchar30否分類編號(hào)ClassNamevarchar30否分類名第四章系統(tǒng)詳細(xì)設(shè)計(jì)4.1開發(fā)技術(shù)簡介4.1.1JSP簡介JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),JSP技術(shù)在Servlet技術(shù)基礎(chǔ)上發(fā)展起來的,它正在飛速發(fā)展中,現(xiàn)已成為Java服務(wù)器編程的重要組成部分。它雖然還未成型,但是它必將和J2EE(Java2EnterpriseEdition)一起發(fā)展[6]。JSP是結(jié)合markup(HTML和XML)和Java代碼來處理一種動(dòng)態(tài)頁面。每一頁第一次被調(diào)用時(shí),通過JSP引擎自動(dòng)被編譯成Servlet,然后被執(zhí)行,以后每次調(diào)用時(shí),執(zhí)行編譯過的Servlet。JSP提供了多種方式訪問Javaclass、Servlet、Applets和WebServer,因此,Web應(yīng)用的功能可以分成多個(gè)明確定義公用接口的組件,通過JSP將它們結(jié)合在一起[9]。4.1.2JSP的運(yùn)行原理在JSP第一次獲得來自于客戶端瀏覽器的請(qǐng)求時(shí),JSP文件將被JSP引擎(JSPengine)轉(zhuǎn)換成一個(gè)Servlet,即將”.jsp”文件編譯成JavaClass文件。當(dāng)Servlet引擎接收到請(qǐng)求后,如果設(shè)置了使用最新的JSP,它就會(huì)去找JSP文件,檢查該文件在上次編譯后是否改動(dòng)過。如果改動(dòng)過,就會(huì)重新編譯生成新的Servlet,最終將請(qǐng)求轉(zhuǎn)交給編譯好的Servlet引擎執(zhí)行[1]。如圖4.1ClientClient客戶端請(qǐng)求(Request)WebServer響應(yīng)(Response)Serverextension服務(wù)器擴(kuò)展ServletengineJSPengineServlet引擎JSP引擎ClassloaderJavacomplierJSPparser類載入器Java編譯器JSP語法分析器圖4.1JSP運(yùn)行原理圖在編譯時(shí)如果發(fā)現(xiàn)JSP文件有任何語法錯(cuò)誤,轉(zhuǎn)換過程將中斷,并向客戶端發(fā)出出錯(cuò)信息;如果編譯成功,則所轉(zhuǎn)換產(chǎn)生的Servlet代碼被編譯,然后該Servlet被JSP引擎加載到內(nèi)存中。此時(shí)JSP引擎還請(qǐng)求了jspInit()方法的執(zhí)行,并對(duì)此Servlet初始化。JspInit()方法在Servlet的生命周期中只被請(qǐng)求一次,然后將被調(diào)用來處理客戶端的請(qǐng)求和回復(fù)操作。對(duì)于所有隨后對(duì)該JSP文件的請(qǐng)求,服務(wù)器將檢查該JSP文件自最后一次被存取后是否經(jīng)過修改。如果沒有修改,則將請(qǐng)求交還給還在內(nèi)存中的Servlet的jspService()方法,執(zhí)行回復(fù)操作。由于Servlet始終駐于內(nèi)存,所以響應(yīng)是非常快的。Jsp頁面在第一次訪問時(shí)由于要轉(zhuǎn)化和編譯,運(yùn)行速度較慢,但是當(dāng)?shù)诙卧L問該頁時(shí),由于文件已經(jīng)被編譯成字節(jié)碼文件了,所以速度非常得快。4.1.3JSP頁面的組成JSP頁面看上去像標(biāo)準(zhǔn)的HTML和XML頁面,并附帶有JSP引擎能夠處理和解析執(zhí)行的代碼與組件。通常,JSP代碼和組件用于創(chuàng)建在最終頁面上顯示的文本。通常來說,JSP頁面包括模板元素,指令元素,動(dòng)作元素,Scritptlets,聲明,表達(dá)式和JSP內(nèi)建對(duì)象。4.1.4JavaBean技術(shù)介紹JavaBean技術(shù)是一種基于Java的組件技術(shù),JavaBean組件可以用來執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫的交互以及數(shù)據(jù)的提取,以及封裝事務(wù)邏輯等,可以很好的實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序的分離使得系統(tǒng)具有更好的健壯性和靈活性,同時(shí)也是解決代碼重用問題的一種策略。以前的組件無法實(shí)現(xiàn)真正的代碼重用,其主要原因就是它們對(duì)于處理平臺(tái)的依賴和對(duì)開發(fā)語言的依賴過重。由于Java語言在這些方面所具有的特點(diǎn)和優(yōu)勢(shì),使得基于它的軟件JavaBean組件技術(shù)倍受人們的關(guān)注。它的任務(wù)就是:一次編寫,可以在任何地方執(zhí)行,可以在任何地方重用。JavaBean組件可以在任何地方?jīng)_用包括了可以在應(yīng)用程序、其他組件、文檔、Web站點(diǎn)和應(yīng)用程序構(gòu)造器工具等多種方案中再利用。為了創(chuàng)建和使用Java軟件組件,JavaBean被實(shí)現(xiàn)為一種獨(dú)立于平臺(tái)和結(jié)構(gòu)的應(yīng)用程序接口,它的實(shí)現(xiàn)可以忽略內(nèi)部的結(jié)構(gòu)及細(xì)節(jié)問題,只需要定義其外部的特征及對(duì)外功能就行。其中,屬性、方法和事件三種接口可以獨(dú)立對(duì)外進(jìn)行開發(fā)。JavaBean的實(shí)質(zhì)就是一個(gè).class文件,也可以成為類文件。JavaBean以binary格式保存,可以保護(hù)Java源代碼不容易被他人抄襲[7]。4.1.5JSP的運(yùn)行環(huán)境要運(yùn)行JSP(注意,不是瀏覽JSP頁面),需要有支持Jsp的服務(wù)器。這里分2種情況:一種是自身就支持JSP的服務(wù)器,如Jrun,Weblogic,JSWDK等;而另一種則是在不支持JSP的服務(wù)器上安裝JSP引擎的插件,如在IIS,Apache等服務(wù)器上安裝WebSphere,Tomcat,Resin等插件。其中主流服務(wù)器是Weblogic和tomcat.Weblogic是一款功能強(qiáng)大的服務(wù)器軟件,配置比較簡單,而且Jsp的擴(kuò)展功能較多,附帶了數(shù)據(jù)庫的JDBC驅(qū)動(dòng)程序。,支持JHTML(一種與Jsp十分相似的技術(shù)),是目前市場(chǎng)占有率最高的服務(wù)器。不過,Weblogic的運(yùn)行情況不太穩(wěn)定,使用它調(diào)試Jsp文件,出現(xiàn)語法錯(cuò)誤或者數(shù)據(jù)庫連接錯(cuò)誤時(shí),Weblogic就有可能崩潰。Tomcat服務(wù)器是ApacheGroupJakarta小組開發(fā)的一個(gè)免費(fèi)服務(wù)器軟件,適合于嵌入Apache中使用,而且,它的源代碼可以免費(fèi)獲得,你可以自由地對(duì)它進(jìn)行擴(kuò)充。訪問的地址http://jakarta./tomacat/index.html,Tomcat服務(wù)器的兼容性很好,如WebLogic服務(wù)器采用其為Web服務(wù)器引擎,Jbuilder將其作為標(biāo)準(zhǔn)的測(cè)試服務(wù)器,Sun公司也將其作為JSP技術(shù)應(yīng)用的示例服務(wù)器。不足之處是它的配置比較麻煩,對(duì)系統(tǒng)硬件要求較高,而且有一些安全性的問題沒有解決。但是Tomcat服務(wù)器有眾多大軟件公司的支持,而且服務(wù)器的性能穩(wěn)定,其發(fā)展前景很好[9]。4.2詳細(xì)設(shè)計(jì)及說明Bean的編寫,例如:數(shù)據(jù)庫連接Bean的編寫,字符處理Bean的編寫等等這些類這里就不詳細(xì)說明了,具體見代碼。這里以管理用戶和管理訂單的類簡要進(jìn)行說明。4.2.1管理用戶的Bean為了使用上的方便,我把對(duì)用戶的管理,包括用戶的添加、刪除、修改、查詢等集合成一個(gè)管理類,即op_user類。圖4.2為該類的類圖,其中只是關(guān)鍵的幾個(gè)方法:Op_userOp_userUser:userUsername:usernameAdd():BooleanDelete():booleanGet_alluser():booleangetGbk():Stringsetusername():voidupdate():booleanMessage:StringPage:intpageCount:intpageSize:intrecordCount:longuserid:longuserlist:Vectorrequest:HttpServletRequest圖4.2管理用戶op_user類的類圖有類圖可以看出該類具有以下屬性:privateuseruser=newuser(); //新的用戶對(duì)象privatejavax.servlet.http.HttpServletRequestrequest;//建立頁面請(qǐng)求privateVectoruserlist; //顯示用戶列表向量數(shù)組privateintpage=1; //顯示的頁碼privateintpageSize=8; //每頁顯示的圖書數(shù)privateintpageCount=0; //頁面總數(shù)privatelongrecordCount=0; //查詢的記錄總數(shù)privateStringmessage=“”; //出錯(cuò)信息提示privateStringusername=“”; //注冊(cè)后返回的用戶名privatelonguserid=0; //注冊(cè)后返回的用戶ID4.2.2管理訂單的Bean當(dāng)用戶選擇圖書后單擊[購買]按鈕時(shí),選定的圖書就被放入購物車中,這是系統(tǒng)并沒有把數(shù)據(jù)提交到數(shù)據(jù)庫,而是保存在Session中,只有用戶進(jìn)入購物車頁面單擊[提交購物車]按鈕時(shí)才把數(shù)據(jù)作為訂單提交到數(shù)據(jù)庫中。我把實(shí)現(xiàn)上述邏輯及對(duì)訂單和訂單列表的管理放在一個(gè)類中,即:OP_buy。圖4.3為該類的類圖。OOp_buyAll_price:floatBooknumber:intRequest:HttpServletRequestSession:HttpseeeionSqlflag:booleanAddnew();BooleanDelete():BooleandelShoper():BooleangetAllorder():VectorgetGbk():StringgetEmpty():BooleangetisLogin():BooleangetOrder():Booleanop_buy():voidpayout():Booleanupdate():boolean圖4.3管理訂單op_buy類的類圖上圖中Addnew()方法是向購物車中添加一條新的購買紀(jì)錄,首先從頁面獲得請(qǐng)求對(duì)象,從中獲取圖書編號(hào)等參數(shù),判斷購買數(shù)量是否大于庫存量,如果是,則設(shè)置標(biāo)志isEmpty為false,本次購買將不成功。如果不是,則判斷用戶是不是第一次購買,如果是第一次購買,則直接在列表中添加一條新記錄,如果不是第一次購書,則判斷用戶先前是不是購買過該書,如果是則把購買數(shù)量增加,否則添加新記錄。4.3客戶界面設(shè)計(jì)4.3.1界面頭、界面尾設(shè)計(jì)為了提高代碼的重用性,我把客戶界面部分相同的頭和尾做成兩個(gè)模塊,分別命名為head.inc和tail.inc,這兩個(gè)文件都是純HTML代碼,在頭和尾引入下面的兩句代碼方可;<%@includefile=”/bookshop/inc/head.inc”%><%@includefile=”/bookshop/inc/tail.inc”%>4.3.2用戶登陸模塊設(shè)計(jì)為了檢測(cè)用戶是否是書店的合法用戶,需要用戶輸入用戶名和密碼來核對(duì)用戶的合法性,用戶登陸模塊就是完成這一功能。該模塊需要用到Login.java這個(gè)Bean。界面如圖4.6圖4.4用戶登陸界面4.3.3在線購書功能模塊設(shè)計(jì)在該模塊用戶可以看見現(xiàn)有的圖書,用戶可以查找圖書(可分類查詢,也可以按關(guān)鍵字查詢),用戶可以購買圖書(把書放進(jìn)購物車),也可以查看圖書的詳細(xì)資料,還可以轉(zhuǎn)到其他模塊,如查看購物車,查看訂單信息等??紤]到其他頁面也用到導(dǎo)航條和左邊的圖書分類和圖書查詢部分,因此把這兩部分也設(shè)計(jì)成兩個(gè)公用模塊:sub.inc和left.inc,在其他頁面中只需引入即可。4.3.4我的購物車功能模塊設(shè)計(jì)在“我的購物車”這個(gè)模塊里,用戶可以修改購買數(shù)量,可以修改已經(jīng)選購的圖書,可以提交購物車(在提交時(shí)可以簡單附言說明),可以清空購物車,還可以繼續(xù)購書,或者查詢圖書,或者轉(zhuǎn)到其他功能模塊。買書的第一步便是用戶登錄,現(xiàn)在購書網(wǎng)站都要求已經(jīng)注冊(cè)過的用戶才能購買書籍,這樣便于網(wǎng)站管理。CheckLogin()就是用來檢驗(yàn)用戶的合法性的: functionchecklogin(){ if(document.payout.userid.value=="") { alert("你還沒有登錄,請(qǐng)登錄后再提交購物清單。"); returnfalse; }證明是合法用戶后,就必須給這個(gè)用戶一個(gè)購物車,用戶每次選中一本書,點(diǎn)擊“放入購物車”,就必須添加一個(gè)訂購單。這就相當(dāng)于把用戶要買的書放入購物車?yán)?,addnew()就是用來實(shí)現(xiàn)這些的,4.3.5訂單信息功能模塊設(shè)計(jì)在該功能模塊用戶可以看見自己已經(jīng)提交的所有訂單,可以查看訂單的詳細(xì)情況。并設(shè)計(jì)以彈出窗口的形式顯示訂單信息,在彈出的窗口中可以付款。4.4管理界面設(shè)計(jì)4.4.1界面頭、界面尾設(shè)計(jì)同客戶界面一樣,為了提高代碼的重用性,把相同的頭和尾設(shè)計(jì)成兩個(gè)公用模塊,分別引入即可[1]:<

%@includefile=”/bookshop/inc/admin_head.inc”%>

<%@includefile=”/bookshop/inc/admin_tail.inc”%>兩個(gè)文件都是純HTML代碼,再次就不多講。4.4.2管理員登陸功能模塊設(shè)計(jì)為了檢測(cè)用戶是否是管理員,所以需要對(duì)登陸用戶進(jìn)行檢測(cè)。該模塊需要用到Login.java這個(gè)Bean,需要設(shè)計(jì)一個(gè)表單讓用戶輸入用戶名和密碼。如圖4.7圖4.5管理員登陸界面4.4.3現(xiàn)有圖書管理功能模塊設(shè)計(jì)在該功能模塊管理員可以查看詳細(xì)資料,可以修改圖書,可以刪除圖書如圖4.6所示。,部分代碼如下。if(request.getParameter("action")!=null&&request.getParameter("action").equals("del")){ try{ intdelid=Integer.parseInt(request.getParameter("id")); if(book_list.delete(delid)){ mesg="刪除成功!"; }else{ mesg="刪除出錯(cuò)!"; } }catch(Exceptione){ mesg="你要?jiǎng)h除的對(duì)象錯(cuò)誤!"; }}if(request.getParameter("page")!=null&&!request.getParameter("page").equals("")){ Stringrequestpage=request.getParameter("page"); try{ pages=Integer.parseInt(requestpage); }catch(Exceptione){ mesg="你要找的頁碼錯(cuò)誤!"; }}%>圖4.6現(xiàn)有圖書管理功能模塊圖4.4.4訂單管理功能模塊設(shè)計(jì)在這個(gè)功能模塊,管理員可以查看下訂單用戶的詳細(xì)資料(單擊用戶名),可以查看訂單的詳細(xì)情況,還可以刪除訂單。效果圖如圖4.8所示。圖4.7訂單管理效果圖4.4.5用戶管理功能模塊設(shè)計(jì)管理員可以通過值額個(gè)模塊查看用戶的詳細(xì)資料,修改用戶資料和刪除用戶資料,實(shí)現(xiàn)代碼和圖書管理基本上差不多。在此就不多說。第五章系統(tǒng)使用5.1服務(wù)器的配置及環(huán)境的搭建從JSP的運(yùn)作全過程可見,運(yùn)行JSP最少需要三樣?xùn)|西:JSP引擎、Web服務(wù)器和JVM。最常用的Java開發(fā)工具就是JDK和Jbuilder,它們之間的很大不同就是JDK是字符界面,而Jbuilder是窗口界面。本系統(tǒng)直接采用JDK作為JVM和Eclipse3.2+MyEcliopse5.0來開發(fā),Eclpise是一個(gè)功能非常強(qiáng)大的JAVA/JSP/J2EE工具,它主要以提供插件的方式進(jìn)行開發(fā)。所用的操作系統(tǒng)是WindowsXP,服務(wù)器采用的是Tomcat,利用了它充當(dāng)Jsp引擎,同時(shí)還利用了它的信息發(fā)布功能。首先把JDK,tomcat安裝到本地硬盤C盤根目錄下,下面詳細(xì)的介紹如何配置運(yùn)行環(huán)境:第一步:進(jìn)入我的桌面,右擊“我的電腦”,選擇“屬性”選項(xiàng),進(jìn)入“系統(tǒng)屬性“對(duì)話框,單擊”高級(jí)“標(biāo)簽“,如圖5.1所示:圖5.1第二步:點(diǎn)擊上圖箭頭所示“環(huán)境變量”,進(jìn)入圖5.2畫面。圖5.2第三步:單擊“系統(tǒng)變量”部分的“新建按扭”,創(chuàng)建JAVA-HOME變量,在變量值欄內(nèi)輸入C:\ProgramFiles\ava\jdk1.6.0_01,圖5.3是Java_home的路徑,指明JDK安裝路徑,就是剛才安裝時(shí)所選擇的路徑C:\jdk1.6.0_01,此路徑下包括lib,bin,jre等文件夾(此變量最好設(shè)置,因?yàn)橐院筮\(yùn)行tomcat,eclipse等都需要依靠此變量)圖5.3第四步:同樣的方法創(chuàng)建CLASSPATH變量,在變量欄內(nèi)輸入,.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(要加.表示當(dāng)前路徑)CLASSPATH為java加載類(classorlib)路徑,只有類在classpath中,java命令才能識(shí)別。第五步:創(chuàng)建PATH變量,在變量欄內(nèi)輸入,%JAVA_HOME%\bin;%JAVA_HOME%\jre\binPath使得系統(tǒng)可以在任何路徑下識(shí)別java命令。第六步:創(chuàng)建Tomcat-Home變量,在變量欄內(nèi)輸入C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat5.0如圖5.4所示:圖5.4第七步:檢測(cè)配置是否成功:檢測(cè)JDK是否配置成功編寫一個(gè)java程序,例如:publicclassHelloWorldApp{ publicstaticvoidmain(Stringargs[]) { System.out.println(“HelloWorld!”); }}首先把它放到一個(gè)名為HelloWorldApp.java的文件中,這里,文件名應(yīng)和類名相同,因?yàn)閖ava解釋器要求公共類必須放在與其同名的文件中。然后對(duì)它進(jìn)行編譯:c:\>javac–gHelloWorldApp.java編譯的結(jié)果是生成字節(jié)碼文件HelloWorldApp.class。最后用java解釋器來運(yùn)行該字節(jié)碼文件:c:\>javaHelloWorldApp結(jié)果是在屏幕上顯示“HelloWorld!”至此,JDK完全安裝成功。檢測(cè)tomcat是否配置成功進(jìn)入C:\Tomcat5.0\bin目錄,雙擊startup

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論