版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE如需全部論文程序聯(lián)系QQ270061727 摘要本文研究了一種基于數(shù)據(jù)庫(kù)應(yīng)用的電子商務(wù)系統(tǒng)——網(wǎng)上書店系統(tǒng)。它是應(yīng)用JSP技術(shù)、JSTL標(biāo)簽庫(kù)、Java語(yǔ)言等設(shè)計(jì)而成的。論文主要介紹了此次畢業(yè)設(shè)計(jì)題目“網(wǎng)上書店”的開發(fā)背景及如何分析、設(shè)計(jì)和實(shí)現(xiàn)的?,F(xiàn)在絕大多數(shù)的人們購(gòu)書都是通過(guò)去書店,在那里查找自己需要的書籍并進(jìn)行購(gòu)買。經(jīng)過(guò)幾年實(shí)踐,我國(guó)電子商務(wù)發(fā)展迅猛,并且越來(lái)越走向務(wù)實(shí),還有就是網(wǎng)絡(luò)的發(fā)展與應(yīng)用已經(jīng)蓬勃發(fā)展起來(lái)。一類適合現(xiàn)代人網(wǎng)上購(gòu)書的系統(tǒng)——網(wǎng)上書店是非常必要和可行的,并在我國(guó)已得到初步應(yīng)用并有很廣泛的市場(chǎng)需求前景。JSP核心技術(shù)的構(gòu)成主要是由:模板元素、指令元素、動(dòng)作元素、腳本元素和JSP內(nèi)建對(duì)象組成。9大內(nèi)建對(duì)象包括:out對(duì)象、request對(duì)象、response對(duì)象、session對(duì)象、application對(duì)象、config對(duì)象、page對(duì)象、pageContext對(duì)象、exception對(duì)象。在論文中首先介紹了電子商務(wù)及網(wǎng)上書店的相關(guān)知識(shí),并根據(jù)以上知識(shí)制作網(wǎng)站。文中主要包括調(diào)研分析、可行性研究、平臺(tái)論證、需求分析、網(wǎng)站的總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)等,并通過(guò)流程圖和文字加以解釋說(shuō)明。在論文中還包括了部分網(wǎng)站制作的主要程序代碼。最后部署在WindowsXP系統(tǒng),Tomcat服務(wù)器下,數(shù)據(jù)庫(kù)使用MySQL。關(guān)鍵詞:網(wǎng)上書店;JSP;數(shù)據(jù)庫(kù);電子商務(wù)ABSTRACTThisarticlehasstudiedonekindbasedinthedatabaseapplicationelectroniccommercesystemthatisnetworkthebookstoresystem.ItisusingtheJSPtechnology,JSTLdesignandsoontaglabels,Javalanguage.Thepapermainlyintroducesthedevelopingbackgroundandhowtoanalyze,designandrealizethegraduationproject-“bookshoponline”.Nowmostpeoplewhowanttopurchasebooksgointoabookstore,lookingforthebookandthenpayit.Afterseveralyears’practice,thedevelopmentofelectroniccommerceinourcountryisswiftandviolent,andmoreandmoremovestowardsthedirectionofpracticality.Andnetworkapplicationisgrowingvigorously.Akindofthesystem,whichsuitsmodernpeopletodoshoppingonline-“bookshoponline”,isextremelyessentialandfeasible,andobtainedthepreliminaryapplicationinourcountryandhastheverywidespreadmarketdemandprospect.TheJSPcoretechnologyconstitutionmainlyisby:Inthetemplateelement,theorderelement,themovementelement,thescriptelementandJSPconstructtheobjectcomposition.9imperialpalaceconstructstheobjecttoinclude:Outobject,requestobject,responseobject,sessionobject,applicationobject,configobject,pageobject,pageContextobject,exceptionobject.Thethesisintroducestherelatedknowledgeaboutonelectroniccommerceandbookshoponlinefirstly,andtellshowtosetupthewebsitebasedonaboveknowledge.Themaincontentoftheinvestigationandstudyanalysis,requirementanalysis,websitedesign,feasibilitystudy,detaileddesign,platformdemonstrate,databasedesignandsoon,andtheseareallexplainedthroughtheflowchartandbyletters.FinallydeployedinWindowstheXPsystem,undertheTomcatserver,thedatabaseusesMySQL.Keywords:Onnetbookstore;JSP;Database;Electroniccommerce目錄摘要 2ABSTRACT 3目錄 5第1章前言 71.1電子商務(wù)的發(fā)展 71.2網(wǎng)上書店的發(fā)展 81.3系統(tǒng)說(shuō)明 9第2章網(wǎng)上書店開發(fā)應(yīng)用技術(shù)綜述 112.1J2EE分布式模型介紹 112.2JSP技術(shù) 122.2.1JSP介紹 122.2.2JSP核心技術(shù) 132.3標(biāo)準(zhǔn)標(biāo)簽庫(kù)(JSTL) 152.4關(guān)于JavaBean的介紹 162.5Struts框架介紹 172.6基本的JDBC編程介紹 172.6.1JDBC的體系結(jié)構(gòu) 172.6.2JDBC的作用及重要接口 182.6.3利用JDBC訪問(wèn)數(shù)據(jù)庫(kù) 182.6.4JDBC的工作機(jī)制 182.6.5總結(jié) 20第3章網(wǎng)上書店系統(tǒng)分析 213.1需求分析 213.2系統(tǒng)功能分析 213.3購(gòu)書網(wǎng)站的詳細(xì)需求 23第4章網(wǎng)上書店總體設(shè)計(jì) 244.1初始化站點(diǎn) 244.1.1搭建開發(fā)環(huán)境 244.1.2創(chuàng)建和配置站點(diǎn) 254.1.3建立和配置數(shù)據(jù)庫(kù) 264.2后臺(tái)管理 314.2.1商品管理 314.2.2用戶訂單處理 324.3網(wǎng)上書店購(gòu)物 344.3.1用戶管理 344.3.2商品分類與查詢 344.3.3購(gòu)物車 35第5章網(wǎng)上書店系統(tǒng)測(cè)試 375.1單元測(cè)試 375.2壓力測(cè)試 41結(jié)束語(yǔ) 42致謝 43參考文獻(xiàn) 44PAGE37第1章前言1.1電子商務(wù)的發(fā)展電子商務(wù)(ElectronicCommerce)是在Internet開放的網(wǎng)絡(luò)環(huán)境下,基于瀏覽器/服務(wù)器應(yīng)用方式,實(shí)現(xiàn)消費(fèi)者的網(wǎng)上購(gòu)物、商戶之間的網(wǎng)上交易和在線電子支付的一種新型的商業(yè)運(yùn)營(yíng)模式。Internet上的電子商務(wù)可以分為三個(gè)方面:信息服務(wù)、交易和支付。主要內(nèi)容包括:電子商情廣告;電子選購(gòu)和交易、電子交易憑證的交換;電子支付與結(jié)算以及售后的網(wǎng)上服務(wù)等。主要交易類型有企業(yè)與個(gè)人的交易和企業(yè)之間的交易兩種。參與電子商務(wù)的實(shí)體有四類:顧客(個(gè)人消費(fèi)者或企業(yè)集團(tuán))、商戶(包括銷售商、制造商、儲(chǔ)運(yùn)商)、銀行(包括發(fā)卡行、收單行)及認(rèn)證中心。電子商務(wù)是Internet爆炸式發(fā)展的直接產(chǎn)物,是網(wǎng)絡(luò)技術(shù)應(yīng)用的全新發(fā)展方向。Internet本身所具有的開放性、全球性、低成本、高效率的特點(diǎn),也成為電子商務(wù)的內(nèi)在特征,并使得電子商務(wù)大大超越了作為一種新的貿(mào)易形式所具有的價(jià)值,它不僅會(huì)改變企業(yè)本身的生產(chǎn)、經(jīng)營(yíng)、管理活動(dòng),而且將影響到整個(gè)社會(huì)的經(jīng)濟(jì)運(yùn)行與結(jié)構(gòu)。1.電子商務(wù)將傳統(tǒng)的商務(wù)流程電子化、數(shù)字化,一方面以電子流代替了實(shí)物流,可以大量減少人力、物力,降低了成本;另一方面突破了時(shí)間和空間的限制,使得交易活動(dòng)可以在任何時(shí)間、任何地點(diǎn)進(jìn)行,從而大大提高了效率。2.電子商務(wù)所具有的開放性和全球性的特點(diǎn),為企業(yè)創(chuàng)造了更多的貿(mào)易機(jī)會(huì)。3.電子商務(wù)使企業(yè)可以以相近的成本進(jìn)入全球電子化市場(chǎng),使得中小企業(yè)有可能擁有和大企業(yè)一樣的信息資源,提高了中小企業(yè)的競(jìng)爭(zhēng)能力。4.電子商務(wù)重新定義了傳統(tǒng)的流通模式,減少了中間環(huán)節(jié),使得生產(chǎn)者和消費(fèi)者的直接交易成為可能,從而在一定程度上改變了整個(gè)社會(huì)經(jīng)濟(jì)運(yùn)行的方式。5.電子商務(wù)一方面破除了時(shí)空的壁壘,另一方面又提供了豐富的信息資源,為各種社會(huì)經(jīng)濟(jì)要素的重新組合提供了更多的可能,這將影響到社會(huì)的經(jīng)濟(jì)布局和結(jié)構(gòu)。電子商務(wù)指的是利用簡(jiǎn)單、快捷、低成本的電子通訊方式,買賣雙方不謀面地進(jìn)行各種商貿(mào)活動(dòng)。電子商務(wù)可以通過(guò)多種電子通訊方式來(lái)完成。簡(jiǎn)單的,比如你通過(guò)打電話或發(fā)傳真的方式來(lái)與客戶進(jìn)行商貿(mào)活動(dòng),似乎也可以稱作為電子商務(wù);但是,現(xiàn)在人們所探討的電子商務(wù)主要是以EDI(電子數(shù)據(jù)交換)和INTERNET來(lái)完成的。尤其是隨著INTERNET技術(shù)的日益成熟,電子商務(wù)真正的發(fā)展將是建立在INTERNET技術(shù)上的。所以也有人把電子商務(wù)簡(jiǎn)稱為IC(INTERNETCOMMERCE)。1.2網(wǎng)上書店的發(fā)展隨著電子商務(wù)的不斷發(fā)展,各種網(wǎng)上購(gòu)物系統(tǒng)也不斷的出現(xiàn),在圖書銷售領(lǐng)域,網(wǎng)上書店的不斷涌現(xiàn)也給一貫處變不驚的傳統(tǒng)書店帶來(lái)了前所未有的震撼。就目前而言,這種震撼主要是利用網(wǎng)絡(luò)開辟了一種新型的讀者服務(wù)模式。我認(rèn)為,網(wǎng)絡(luò)只是一種條件,全方位的讀者服務(wù)才是網(wǎng)上書店真正的魅力所在。試看:
網(wǎng)頁(yè)制作——網(wǎng)上書店提供給讀者的各個(gè)網(wǎng)頁(yè)就相當(dāng)于傳統(tǒng)書店的銷售場(chǎng)地。這個(gè)場(chǎng)地一掃書店那種一成不變、簡(jiǎn)單沉悶的傳統(tǒng)形象,充滿了淡雅的色彩、親切的問(wèn)候和清晰的導(dǎo)航,而且在不斷更新。
信息服務(wù)——網(wǎng)上書店提供了方便的信息查詢服務(wù),大量的圖書導(dǎo)購(gòu)服務(wù),以及通過(guò)電子郵件、討論組和聊天室提供的交互式信息服務(wù),處處體現(xiàn)出以讀者為中心的服務(wù)理念。
服務(wù)上門——除了上門送書外,網(wǎng)上書店還為顧客準(zhǔn)備了書簽、參觀券之類的促銷禮品,維系與讀者的感情聯(lián)絡(luò)。以上我們姑且可稱之為具有網(wǎng)絡(luò)特色的讀者服務(wù),讀者通過(guò)上網(wǎng)就能得到各種圖書信息服務(wù),通過(guò)輕點(diǎn)鼠標(biāo)就能得到體貼周到的送書服務(wù),這是非常令人神往的購(gòu)物體驗(yàn),而且網(wǎng)上書店還在不斷加強(qiáng)新的服務(wù)舉措。相形之下,傳統(tǒng)書店的讀者服務(wù)表現(xiàn)出明顯的簡(jiǎn)單化和隨意性。在這樣的環(huán)境下,我設(shè)計(jì)了這樣一個(gè)“沖浪”網(wǎng)圖書銷售系統(tǒng),,做為從事電子商務(wù)活動(dòng)的一項(xiàng)嘗試,希望能夠讓越來(lái)越多的人會(huì)愿意通過(guò)網(wǎng)上書店來(lái)體味當(dāng)上帝的感覺(jué)。1.3系統(tǒng)說(shuō)明隨著現(xiàn)代信息技術(shù)的迅猛發(fā)展,電子商務(wù)也隨之蓬勃發(fā)展起來(lái),而電子商務(wù)的基本的要求就是:安全、高效、便捷、易用,本系統(tǒng)為一個(gè)網(wǎng)上自動(dòng)購(gòu)書系統(tǒng),首先就要在這些方面做好全方位的考慮,需要在這樣的基礎(chǔ)上實(shí)現(xiàn)比較完善的功能,在這樣的前提下,我們應(yīng)該考慮系統(tǒng)應(yīng)該實(shí)現(xiàn)以下的功能:用戶注冊(cè):包括前臺(tái)用戶和后臺(tái)用戶的注冊(cè)和管理,針對(duì)不同的用戶分別賦予不同的權(quán)限;實(shí)現(xiàn)網(wǎng)上書目的自動(dòng)查詢,包括:圖書情況的簡(jiǎn)要介紹,如圖書的主要內(nèi)容、出版日期、圖書編號(hào)、出版商信息、出版日期、作者情況的簡(jiǎn)要介紹、圖書價(jià)格,等等;當(dāng)用戶在網(wǎng)站上查到所要購(gòu)買的書目時(shí),可以進(jìn)行網(wǎng)上購(gòu)買,通過(guò)選擇不同的支付途徑向服務(wù)商付款,服務(wù)商確認(rèn)收到款后向客戶發(fā)貨;新書上架:顯示網(wǎng)站最新增加的書籍;推薦圖書:由管理員根據(jù)一定的因素,如圖書的銷售情況等等,向用戶推薦當(dāng)前的熱門書籍;銷量排行:提供本站圖書的銷售情況排行榜,供用戶參考;用戶意見(jiàn)反饋:如果用戶對(duì)于我們的服務(wù)有什么意見(jiàn)或建議,包括對(duì)于我們的網(wǎng)站的發(fā)展方面的建議,可以通過(guò)提交相應(yīng)的表單,向管理員提出,管理員可以根據(jù)用戶意見(jiàn)對(duì)于網(wǎng)站進(jìn)行改進(jìn),同時(shí)根據(jù)用戶意見(jiàn)的價(jià)值,對(duì)用戶進(jìn)行相應(yīng)的獎(jiǎng)勵(lì)。第2章網(wǎng)上書店開發(fā)應(yīng)用技術(shù)綜述2.1J2EE分布式模型介紹J2EE是在SUN公司的領(lǐng)導(dǎo)下,多家公司共同制定的應(yīng)用程序開發(fā)規(guī)范,J2EE體系包括很多內(nèi)容,其中每一個(gè)組成部分都堪稱龐雜,本段將介紹電子書店用到的幾個(gè)至關(guān)重要的核心概念。包括:J2EE平臺(tái)的多層體系結(jié)構(gòu)、應(yīng)用的組件和J2EE運(yùn)行環(huán)境。一、J2EE分布式的多層體系結(jié)構(gòu):J2EE中間件定義了四個(gè)獨(dú)立的層,分別是:客戶層、表示邏輯層、業(yè)務(wù)邏輯層和數(shù)據(jù)信息系統(tǒng)層。其中表示邏輯層和業(yè)務(wù)邏輯層同位于應(yīng)用服務(wù)器區(qū)域,所謂應(yīng)用服務(wù)器區(qū)域也就是J2EE平臺(tái)的具體實(shí)施場(chǎng)所。J2EE多層體系結(jié)構(gòu)的靈感來(lái)自模型/視圖/控制器(ModelViewController,MVC)架構(gòu)。MVC模式是軟件設(shè)計(jì)的典型結(jié)構(gòu)。在這種結(jié)構(gòu)下,一個(gè)復(fù)雜應(yīng)用被分解為模型、試圖和控制器三部分,分別對(duì)應(yīng)于業(yè)務(wù)邏輯和數(shù)據(jù)、用戶界面、用戶請(qǐng)求處理和數(shù)據(jù)同步。三個(gè)部分各自負(fù)責(zé)相應(yīng)的功能?;贛VC設(shè)計(jì)方法,J2EE體系結(jié)構(gòu)很自然地將業(yè)務(wù)邏輯層和表示邏輯層分開,控制器可置于其中任意一層,也可分置兩層中。通過(guò)這種方式,J2EE的業(yè)務(wù)邏輯組件獲得相當(dāng)高的可重用性。二、J2EE應(yīng)用組件J2EE的客戶層、表示層和業(yè)務(wù)邏輯層,都各自有其適用的應(yīng)用組件。(1)、客戶層:applet,javabean(2)、表示邏輯層:servlet,JSP,javabean(3)、業(yè)務(wù)邏輯層:企業(yè)javabeanJ2EE的目標(biāo)就是要通過(guò)對(duì)組件的合理利用來(lái)進(jìn)行應(yīng)用系統(tǒng)的設(shè)計(jì)和開發(fā)。組件接口保證了各個(gè)組件符合標(biāo)準(zhǔn)的規(guī)范,能在不同的運(yùn)行環(huán)境中保持一致,從而為J2EE服務(wù)器產(chǎn)品的互操作奠定了基礎(chǔ)。三J2EE運(yùn)行的環(huán)境(容器):J2EE標(biāo)準(zhǔn)共定義了以下的四種容器,應(yīng)用組件可通過(guò)配置工具部署到對(duì)應(yīng)的容器中:(1)、Applet容器:運(yùn)行applet(2)、客戶端應(yīng)用程序容器:運(yùn)行標(biāo)準(zhǔn)客戶端JAVA應(yīng)用程序(包括基于Swing的GUI客戶端應(yīng)用程序)(3)、WEB容器:運(yùn)行表示邏輯層的servlet和JSP(4)、EJB容器:運(yùn)行業(yè)務(wù)邏輯層的企業(yè)Javabean2.2JSP技術(shù)JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。JavaServlet是JSP技術(shù)的基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用、完全面向?qū)ο?、具有平臺(tái)無(wú)關(guān)性且安全可靠、主要面向Internet的所有特點(diǎn)。2.2.1JSP介紹JSP的優(yōu)勢(shì):(1)通過(guò)組件使用支持組件模型和軟件重用;(2)源文件改變自動(dòng)編譯;(3)用戶自定義標(biāo)簽簡(jiǎn)化頁(yè)面開發(fā);(4)能把Web內(nèi)容,Java代碼分開(針對(duì)Servlet而言);(5)平臺(tái)無(wú)關(guān);(6)性能和可擴(kuò)展;(7)可靠;(8)作為J2EE的一部分(Servlet、JSP以及EJB是J2EE的三大組件)。2.2.2JSP核心技術(shù)JSP的構(gòu)成主要是由:模板元素、指令元素、動(dòng)作元素、腳本元素和JSP內(nèi)建對(duì)象組成。一、4大元素:模板元素:是指JSP的靜態(tài)HTML或者XML內(nèi)容。指令元素:是用于從JSP發(fā)送到容器上的一個(gè)信息,JSP中有四種指令元素,它們是:頁(yè)面指令、include指令、taglib指令、表達(dá)式語(yǔ)言。動(dòng)作元素:與指令元素不同的是,動(dòng)作元素在請(qǐng)求處理階段起作用。動(dòng)作元素有:<jsp:useBean>、<jsp:setProperty>等腳本元素:包含任意的Java腳本代碼,主要有聲明(Declaration)、表達(dá)式(Expression)、Scriptlet。二、9大內(nèi)建對(duì)象:1、out對(duì)象out對(duì)象被封裝成javax.servlet.jsp.JspWriter接口。它表示為客戶打開的輸出流,PrintWriter使用它向客戶端發(fā)送輸出流。簡(jiǎn)單地說(shuō),它主要用來(lái)向客戶端輸出數(shù)據(jù)。2、request對(duì)象request對(duì)象代表請(qǐng)求對(duì)象,它被包裝成HttpServletRequest接口。通過(guò)getParameter方法可以得到request的參數(shù),通過(guò)GET、POST、HEAD等方法可以得到request的類型,通過(guò)Cookies、Referer等可以得到請(qǐng)求的Http頭。3、response對(duì)象response對(duì)象被包裝成HttpServletResponse接口。它封裝了JSP產(chǎn)生的響應(yīng),然后被發(fā)送到客戶端以響應(yīng)客戶的請(qǐng)求。和request對(duì)象一樣,它由容器生成,作為jspService()方法的參數(shù)被傳入JSP。因?yàn)檩敵隽魇蔷彌_的,所以可以設(shè)置Http狀態(tài)碼和response頭。4、session對(duì)象session對(duì)象用來(lái)保存每個(gè)用戶信息,以便跟蹤每個(gè)用戶的操作狀態(tài)。其中,session信息保存在容器中,session的ID保存在客戶機(jī)的Cookie中。在許多服務(wù)器上,如果瀏覽器支持Cookie的話,就直接使用Cookie。但是如果不支持或廢除了Cookies的話就自動(dòng)轉(zhuǎn)化為URL-rewriting(重寫URL,這個(gè)URL包含客戶端的信息),session自動(dòng)為每個(gè)流程提供了方便的存儲(chǔ)信息的方法。一般情況下,用戶首次登錄系統(tǒng)時(shí)容器會(huì)給此用戶分配一個(gè)唯一標(biāo)識(shí)的sessionid,這個(gè)ID用于區(qū)分其他的客戶,當(dāng)用戶退出系統(tǒng)時(shí),這個(gè)session就會(huì)自動(dòng)消失。和session對(duì)應(yīng)的是HttpSession接口。5、pageContext對(duì)象pageContext對(duì)象被封裝成javax.servlet.pageContext接口,它為JSP頁(yè)面包裝頁(yè)面的上下文。管理屬于JSP中特殊可見(jiàn)部分中已經(jīng)命名的訪問(wèn)。它的創(chuàng)建和初始化都是由容器來(lái)完成的,JSP頁(yè)面里可以直接使用pageContext對(duì)象的句柄。pageContext對(duì)象的getXXX()、setXXX()和findXXX()方法可以用來(lái)根據(jù)不同的對(duì)象范圍實(shí)現(xiàn)對(duì)這種對(duì)象的管理。6、application對(duì)象application對(duì)象為多個(gè)應(yīng)用程序保存信息,對(duì)于一個(gè)容器而言,每個(gè)用戶都共同使用同一個(gè)application對(duì)象,這和session對(duì)象是不一樣的。服務(wù)器啟動(dòng)后,就會(huì)自動(dòng)創(chuàng)建application對(duì)象,這個(gè)對(duì)象一直會(huì)保持,直到服務(wù)器關(guān)閉為止。7、config對(duì)象config對(duì)象被封裝成javax.servlet.ServletConfig接口,它表示Servlet的配置。當(dāng)一個(gè)Servlet初始化時(shí),容器把某些信息通過(guò)此對(duì)象傳遞給這個(gè)Servlet。8、page對(duì)象page對(duì)象是java.lang.Object類的一個(gè)實(shí)例。它指的是JSP實(shí)現(xiàn)類的實(shí)例,也就是說(shuō),它是JSP本身,通過(guò)這個(gè)可以對(duì)它進(jìn)行訪問(wèn)。JSP實(shí)現(xiàn)類的對(duì)象的一個(gè)句柄,只有在JSP頁(yè)面的范圍之內(nèi)才是合法的。9、exception對(duì)象exception對(duì)象是java.lang.Throwable類的一個(gè)實(shí)例。它指的是運(yùn)行時(shí)的異常,也就是被調(diào)用的錯(cuò)誤頁(yè)面的結(jié)果,只有在錯(cuò)誤頁(yè)面(在頁(yè)面指令里有isErrorPage=true的頁(yè)面)才可以使用。2.3標(biāo)準(zhǔn)標(biāo)簽庫(kù)(JSTL)一、JSTL介紹從JSP1.1規(guī)范開始,JSP就支持在JSP中使用自定義標(biāo)簽了,自定義標(biāo)簽的廣泛使用,就促成JSTL(JavaServerPagesStandardTagLibrary)的誕生。二、JSTL的優(yōu)點(diǎn):1.在應(yīng)用程序服務(wù)器之間提供了一致的接口,最大程序地提高了Web應(yīng)用在各應(yīng)用服務(wù)器之間的移植。2.簡(jiǎn)化了JSP和Web應(yīng)用程序的開發(fā)3.以一種統(tǒng)一的方式減少了JSP中的Scriptlets代碼數(shù)量,可以達(dá)到?jīng)]有任何Scriptlets代碼的程序。4.允許JSP設(shè)計(jì)工具與Web應(yīng)用程序開發(fā)的進(jìn)一步集成,相信不久就會(huì)有支持JSTL的IDE開發(fā)工具出現(xiàn)。JSTL封裝了JSP開發(fā)中的常用功能。比如說(shuō),在沒(méi)有JSTL時(shí),我們通過(guò)Scriptlets來(lái)迭代輸出某個(gè)List(Set),有了JSTL,就可以使用它的一系列的Tag來(lái)進(jìn)行迭代輸出。JSTL由于是JSP2.0規(guī)范的一部分,故最新的Web容器都會(huì)支持它。JSTL包含了和以下操作相關(guān)的標(biāo)簽:*常用的標(biāo)簽,如<c:out>、<c:set>等。*條件標(biāo)簽,如<c:if>、<c:choose>等。*URL標(biāo)簽,如<c:import>等。*XML標(biāo)簽,如<xml:out>等。*國(guó)際化輸出標(biāo)簽,如<fmt:timeZone>等。*SQL標(biāo)簽,如<sql:query>等。2.4關(guān)于JavaBean的介紹在Java的體系結(jié)構(gòu)中,JavaBean是圍繞著業(yè)務(wù)邏輯而設(shè)計(jì)的。一組業(yè)務(wù)邏輯被封裝在一個(gè)JavaBean中,它的對(duì)外接口供JSP調(diào)用。(1)什么是真正的JavaBean?JavaBean是描述Java的軟件組件模型,類似于Microsoft的COM組件概念。在Java模型中,通過(guò)JavaBean可以無(wú)限擴(kuò)充Java程序的功能,通過(guò)JavaBean的組合可以快速的生程序成新的應(yīng)用程序。對(duì)于程序員來(lái)說(shuō),最好的一點(diǎn)就是JavaBean可以實(shí)現(xiàn)代碼的重復(fù)利用。另外,對(duì)于程序的易維護(hù)性等等也有很重要的意義。JavaBean是一個(gè)滿足JavaBeans規(guī)范的Java類,通常定義了一個(gè)現(xiàn)實(shí)世界的事物或者概念。一個(gè)JavaBean的主要特征包括屬性、方法和事件。通常,在一個(gè)支持JavaBean規(guī)范的開發(fā)環(huán)境中,可以可視地操作JavaBean,也可以使用JavaBean構(gòu)造出新的JavaBean。另外,JavaBean的優(yōu)勢(shì)還在于Java帶來(lái)的可移植性。由上述論述可知,JavaBean具有以下特點(diǎn):可以實(shí)現(xiàn)代碼的重復(fù)利用:易于編寫、易于維護(hù)、易于使用;可以在安裝了Java運(yùn)行環(huán)境的平臺(tái)上使用,而不需要重新編譯。2.5Struts框架介紹Struts是MVC的一種實(shí)現(xiàn),它將Servlet和JSP標(biāo)記(屬于J2EE規(guī)范)用作實(shí)現(xiàn)的一部分。Struts繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。2.6基本的JDBC編程介紹因?yàn)樵陔娮訒昶脚_(tái)的開發(fā)過(guò)程中,幾乎大部分的頁(yè)面都用到了與數(shù)據(jù)庫(kù)相關(guān)的操作,對(duì)于JDBC編程技術(shù)的理解直接影響到我們開發(fā)的進(jìn)行,所以,需要對(duì)JDBC數(shù)據(jù)庫(kù)的操作進(jìn)行一下詳細(xì)的說(shuō)明。JDBC(JavaDateBaseConnectivity)是一種用于執(zhí)行SQL語(yǔ)句的JavaAPI。它由一組用Java編寫的類和接口組成,為Java應(yīng)用程序與各種不同的數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話提供了一種便捷的方法,使得開發(fā)人員能夠用純JavaAPI來(lái)編寫具有平臺(tái)無(wú)關(guān)性的數(shù)據(jù)庫(kù)應(yīng)用程序。JDBC的出現(xiàn)使Java程序?qū)Ω鞣N數(shù)據(jù)庫(kù)的訪問(wèn)能力大大增強(qiáng)。通過(guò)使用JDBC,開發(fā)人員可以很方便地將SQL語(yǔ)句傳送給幾乎任何一種數(shù)據(jù)庫(kù)。2.6.1JDBC的體系結(jié)構(gòu)目前,應(yīng)用程序與數(shù)據(jù)庫(kù)進(jìn)行信息交換已經(jīng)非常普遍。因此,一個(gè)程序設(shè)計(jì)語(yǔ)言對(duì)數(shù)據(jù)庫(kù)開發(fā)能力的大小,決定著語(yǔ)言的流行程度。通過(guò)使用JDBC,開發(fā)人員可以很方便地將SQL語(yǔ)句傳送給幾乎任何一種數(shù)據(jù)庫(kù)。JDBC擴(kuò)展了Java的能力,它與JDBC的結(jié)合可以讓開發(fā)人員在開發(fā)數(shù)據(jù)庫(kù)應(yīng)用時(shí)真正實(shí)現(xiàn)“WriteOnce,RunEverywhere!”。2.6.2JDBC的作用及重要接口JDBC是由一系列連接(Connection)、SQL語(yǔ)句(Statement)和結(jié)果集(ResultSet)構(gòu)成,其主要作用概括起來(lái)有如下3個(gè)方面:1、建立與數(shù)據(jù)庫(kù)的連接2、向數(shù)據(jù)庫(kù)發(fā)起查詢請(qǐng)求3、處理數(shù)據(jù)庫(kù)返回的結(jié)果4、這些作用是通過(guò)一系列API實(shí)現(xiàn)的,其中的幾個(gè)重要接口:接口作用Java.sql.DriverManager處理驅(qū)動(dòng)程序的加載和建立新數(shù)據(jù)庫(kù)的連接Java.sql.Connection處理與特定數(shù)據(jù)庫(kù)的連接Java.sql.Statement在指定連接中處理SQL語(yǔ)句Java.sql.ResultSet處理數(shù)據(jù)庫(kù)操作結(jié)果集2.6.3利用JDBC訪問(wèn)數(shù)據(jù)庫(kù)JDBC是Java的開發(fā)者——Sun的Javasoft公司制定的Java數(shù)據(jù)庫(kù)連接(JavaDataBaseConnectivity)技術(shù)的簡(jiǎn)稱,是為各種常用數(shù)據(jù)庫(kù)提供無(wú)縫聯(lián)接的技術(shù)。JDBC在Web和Internet應(yīng)用程序中的作用和ODBC在Windows系列平臺(tái)應(yīng)用程序中的作用類似。ODBC(OpenDataBaseConnectivity),稱為開放式數(shù)據(jù)庫(kù)互聯(lián)技術(shù),是由Microsoft公司倡導(dǎo)并得到業(yè)界普遍響應(yīng)的一門數(shù)據(jù)庫(kù)連接技術(shù),如果讀者有使用ODBC編程的經(jīng)驗(yàn),就會(huì)發(fā)現(xiàn)JDBC與ODBC很類似。JDBC現(xiàn)在可以連接的數(shù)據(jù)庫(kù)包括:xbase、Oracle、Sybase、Aceess以及Paradox等。2.6.4JDBC的工作機(jī)制如果用戶是從事軟件領(lǐng)域工作的,不可能沒(méi)有聽(tīng)說(shuō)過(guò)SQL(StructureQueryLanguage:結(jié)構(gòu)化查詢語(yǔ)言),它是一種標(biāo)準(zhǔn)化的關(guān)系型數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)言。在SQL看來(lái),數(shù)據(jù)庫(kù)就是表的集合,其中包含了行和列。SQL標(biāo)準(zhǔn)雖然也還處在不斷變革之中(任何一門標(biāo)準(zhǔn)如果已一成不變了,那只能說(shuō)明這門學(xué)科已經(jīng)停止發(fā)展了),但其基本內(nèi)容相對(duì)穩(wěn)定。JDBC定義了Java語(yǔ)言同SQL數(shù)據(jù)之間的程序設(shè)計(jì)接口。JDBC有一個(gè)非常獨(dú)特的動(dòng)態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用JDBC來(lái)完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)包括以下四個(gè)主要組件:Java的應(yīng)用程序、JDBC驅(qū)動(dòng)器管理器、驅(qū)動(dòng)器和數(shù)據(jù)源。JavaSoft公司開發(fā)了JDBCAPI,JDBCAPI是一個(gè)標(biāo)準(zhǔn)統(tǒng)一的SQL數(shù)據(jù)存取接口。JDBC在Internet中的作用與ODBC在Windows系列中的作
用類似。它為Java程序提供了一個(gè)統(tǒng)一縫地操作各種數(shù)據(jù)庫(kù)的接口,程序員編程時(shí),可以不關(guān)心它所要操作的數(shù)據(jù)庫(kù)是哪個(gè)廠家的產(chǎn)品,從而提高了軟件的通用性,而且在Internet上確實(shí)無(wú)法預(yù)料你的用戶想訪問(wèn)什么類型的數(shù)據(jù)庫(kù)。只要系統(tǒng)上安裝了正確的驅(qū)動(dòng)器組,JDBC應(yīng)用程序就可以訪問(wèn)其相關(guān)的數(shù)據(jù)庫(kù)。用JDBC來(lái)實(shí)現(xiàn)訪問(wèn)數(shù)據(jù)庫(kù)記錄可以采用下面的幾個(gè)步驟:1、通過(guò)驅(qū)動(dòng)器管理器獲取連接接口。2、獲得Statement或它的子類。3、限制Statement中的參數(shù)。4、執(zhí)行Statement。5、查看返回的行數(shù)是否超出范圍。6、關(guān)閉Statement。7、處理其它的Statement8、關(guān)閉連接接口。2.6.5總結(jié)JDBC是執(zhí)行SQL語(yǔ)句的JavaAPI,它為Java應(yīng)用提供了一種與各種不同的數(shù)據(jù)庫(kù)進(jìn)行會(huì)話的方式。使用JDBC可以很容易地把SQL語(yǔ)句傳送到任何關(guān)系型數(shù)據(jù)庫(kù)中。我們把數(shù)據(jù)庫(kù)的SQL操作封裝到JavaBean中,需要對(duì)數(shù)據(jù)庫(kù)查詢時(shí)只需要設(shè)置函數(shù)參數(shù)即可,方便了與數(shù)據(jù)庫(kù)之間的操作,提高了使用數(shù)據(jù)庫(kù)的效率。第3章網(wǎng)上書店系統(tǒng)分析3.1需求分析網(wǎng)上購(gòu)書系統(tǒng)由兩部分組成:購(gòu)書網(wǎng)站和訂單處理中心。其中購(gòu)書網(wǎng)站是一個(gè)Web應(yīng)用程序,用戶可以通過(guò)Web瀏覽器登錄到此網(wǎng)站。在此網(wǎng)站,用戶可以搜索要找的書,查看書的詳細(xì)信息,購(gòu)書(將書加入購(gòu)物車)。訂單處理中心用不定期管理購(gòu)物網(wǎng)站轉(zhuǎn)過(guò)來(lái)的訂單(可以查看待處理的訂單,刪除已處理的訂單)。3.2系統(tǒng)功能分析部分功能說(shuō)明用戶注冊(cè)流程圖:是是否認(rèn)是否注冊(cè)用戶主頁(yè)面用戶注冊(cè)頁(yè)面瀏覽信息頁(yè)面購(gòu)書信息頁(yè)面按輸入的關(guān)鍵字查詢信息頁(yè)面按圖書類別查詢信息頁(yè)面按出版社查詢信息頁(yè)面圖書信息顯示頁(yè)面圖:用戶注冊(cè)部分功能說(shuō)明會(huì)員登陸首頁(yè)后可以填寫反饋信息發(fā)布申請(qǐng)表,填好必填的內(nèi)容后點(diǎn)擊提交,就可以完成信息反饋了。新用戶必須注冊(cè)并登陸后才能進(jìn)行在線購(gòu)買,否則會(huì)提示你還沒(méi)有登陸的信息,也就不具有在線交易的權(quán)限。用戶登陸后,可以通過(guò)關(guān)鍵字、圖書類別、出版社、及本站公告等信息查詢到用戶想要查找的書籍信息。3.3購(gòu)書網(wǎng)站的詳細(xì)需求購(gòu)書網(wǎng)站主要包括以下功能模塊:瀏覽圖書網(wǎng)站的書籍列表要列出當(dāng)前網(wǎng)站所有的圖書名稱。當(dāng)用戶單擊某一圖書名稱時(shí),要列出該書的詳細(xì)信息(包括書名,作者,單價(jià))。查找圖書用戶可以在網(wǎng)站的查找框中輸入一個(gè)書名,單擊【查找】按鈕可以查看網(wǎng)站是否有此書,系統(tǒng)將查找結(jié)果(如果有此書,返回書的詳細(xì)信息,如果沒(méi)有,返回當(dāng)前沒(méi)有此書的信息)返回給用戶.。購(gòu)書在瀏覽圖書時(shí),用戶可以在查看選中圖書的詳細(xì)信息時(shí)添加此書到購(gòu)物車,添加完畢可以選擇繼續(xù)購(gòu)物或是結(jié)算。如果選擇結(jié)算,要填定一個(gè)購(gòu)書登記表,該表包括以下內(nèi)容:購(gòu)書人姓名、地址、E-mail、所購(gòu)圖書的列表、總價(jià)。購(gòu)物車管理用戶可以隨時(shí)查看自己的購(gòu)物車,可以添加或刪除購(gòu)物車中的商品。訂單處理中心的詳細(xì)需求:訂單處理中心是一個(gè)Web應(yīng)用程序,在此將列出所有等待處理的訂單,每一筆訂單包含購(gòu)書人姓名、地址、E-mail、所購(gòu)圖書的列表、總價(jià)。管理員可以將處理完的訂單刪除。第4章網(wǎng)上書店總體設(shè)計(jì)4.1初始化站點(diǎn)4.1.1搭建開發(fā)環(huán)境(1)開發(fā)語(yǔ)言:JSP;HTML;JAVA;表單驗(yàn)證采用JAVASCRIPT腳本語(yǔ)言;(2)開發(fā)工具:Eclipse3.2及MyEclipse5.1GA插件;(3)數(shù)據(jù)庫(kù)要求:MySQL5.0.45及MySQLQueryBrowser1.2.12;(4)服務(wù)器:Tomcat5.5;(5)硬件要求:P3/133M以上機(jī)型,64M以上內(nèi)存,網(wǎng)卡,通過(guò)任何網(wǎng)絡(luò)運(yùn)營(yíng)商上網(wǎng)。一.虛擬機(jī)的安裝(一).JDK安裝JDK(JavaDevelopmentKit)是一切java應(yīng)用程序的基礎(chǔ),可以說(shuō),所有的java應(yīng)用程序是構(gòu)建在這個(gè)之上的。它是一組API,也可以說(shuō)是一些javaClass。在這里我用WindowsXP操作系統(tǒng)來(lái)安裝JDK。(二)、下載,安裝下載地址為JAVA官方站點(diǎn):。在WindowsXP系統(tǒng)下,直接運(yùn)行.exe文件,安裝到一個(gè)目錄,我這里用C:\jdk作為例子。(三)、配置桌面上選擇“我的電腦”(右鍵)->高級(jí)->環(huán)境變量->在“系統(tǒng)變量”->“新建”在變量名中輸入:CLASSPATH,變量值中輸入:C:\JDK\LIB\dt.JAR;C:\JDK\LIB\TOOLS.JAR;C:\JDK\BIN;然后確定;好了,配置完了,要重新啟動(dòng)計(jì)算機(jī)后,環(huán)境變量才能有效的。二.服務(wù)器的安裝(一)、Tomcat5.5安裝對(duì)于初學(xué)者來(lái)說(shuō),要執(zhí)行JSP,Tomcat是一個(gè)很不錯(cuò)的選擇。Tomcat是Apache組織的產(chǎn)品,sun公司對(duì)它的支持也相當(dāng)不錯(cuò)。而且是免費(fèi)的產(chǎn)品。(二)、下載,安裝下載地址為JAVA官方站點(diǎn):/(三)、配置桌面上選擇“我的電腦”(右鍵)->高級(jí)->環(huán)境變量->在“系統(tǒng)變量”->“新建”在變量名中輸入:JAVA_HOME,變量值中輸入:C:\JDK然后確定;在“系統(tǒng)變量”->“新建”,在變量名中輸入:TOMCAT_HOME,變量值中輸入:D:\tomcat5.0然后確定;好了,配置完了,要重新啟動(dòng)計(jì)算機(jī)后,環(huán)境變量才能有效的。4.1.2創(chuàng)建和配置站點(diǎn)圖(4.1.2-1)4.1.3建立和配置數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)名字叫bookstore;創(chuàng)建以下表:用戶表:CREATETABLEuser_info( useridnvarchar(40)NOTNULL, namenvarchar(40)NOTNULL, phonenvarchar(40)NOTNULL,streetnvarchar(40)NOTNULL,statenvarchar(40)NOTNULL,citynvarchar(40)NOTNULL,zipCodenvarchar(40)NOTNULL,emailnvarchar(40)NULL, cardNumbernvarchar(40)NOTNULL, cardTypeintNOTNULL, userLogCountintNOTNULL, userLastLogTimesmalldatetimeNULL, userTypeintNOTNULL,banneroptintNOTNULL,fanvcategorynvarchar(40)NOTNULL,passwordnvarchar(40)NOTNULL, constraintpk_userinfoprimarykey(userId))定單表:createtableorders(orderidvarchar(30)notnull,useridvarchar(80)notnull,orderdatedatetimenotnull,shipstreetvarchar(80)notnull,shipcityvarchar(80)notnull,shipstatevarchar(80)notnull,shipzipvarchar(20)notnull,totalpricedecimal(10,2)notnull,shiptonamevarchar(80)notnull,creditcardvarchar(80)notnull,cardtypevarchar(80)notnull,constraintpk_ordersprimarykey(orderid));定單狀態(tài)表:createtableorderstatus(orderidvarchar(30)notnull,linenumintnotnull,timestampdatetimenotnull,statusvarchar(2)notnull,constraintpk_orderstatusprimarykey(orderid,linenum));商品項(xiàng)目列表:createtablelineitem(orderidvarchar(30)notnull,linenumintnotnull,itemidvarchar(10)notnull,quantityintnotnull,unitpricedecimal(10,2)notnull,constraintpk_lineitemprimarykey(orderid,linenum));商品類別:createtablecategory( catidvarchar(30)notnull, namevarchar(80)null, descnvarchar(255)null, constraintpk_categoryprimarykey(catid));商品表:createtableproduct(productidvarchar(30)notnull,categoryvarchar(30)notnull,namevarchar(80)null,descnvarchar(255)null,isPromotbitdefault0,registerTimedatetimedefaultgetdate(),constraintpk_productprimarykey(productid),constraintfk_product_1foreignkey(category)referencescategory(catid));createindexproductCatonproduct(category);createindexproductNameonproduct(name);商品表:createtableitem(itemidvarchar(30)notnull,productidvarchar(30)notnull,listpricedecimal(10,2)null,unitcostdecimal(10,2)null,suppliervarchar(50)null,statusvarchar(2)null,attr1varchar(80)null,attr2varchar(80)null,attr3varchar(80)null,attr4varchar(80)null,attr5varchar(80)null,constraintpk_itemprimarykey(itemid),constraintfk_item_1foreignkey(productid)referencesproduct(productid),);庫(kù)存表:createtableinventory(itemidvarchar(30)notnull,qtyintnotnull,constraintpk_inventoryprimarykey(itemid));與數(shù)據(jù)庫(kù)的連接:(MySQL)URL:jdbc:mysql://localhost:3306/bookstoreuserName:root(default)password:nullDrivername:org.gjt.mm.mysql.Driver(class)or:com.mysql.jdbc.Driver4.2后臺(tái)管理后臺(tái)管理包括對(duì)商品管理和訂單處理的一些操作。4.2.1商品管理包括商品分類的增加、刪除;商品的增加、刪除、注冊(cè)的商品的信息更改。包含的頁(yè)面如下:registerCategory.jsp:用于填寫注冊(cè)商品分類信息。addCategory_do.jsp:用于把注冊(cè)的商品分類信息保存到數(shù)據(jù)庫(kù)中。deleteCategory.jsp:用于查詢出可以刪除的商品分類,并且生成刪除的連接。deleteCategory_do.jsp:用于執(zhí)行具體的商品分類刪除操作。ProductForm.jsp:包含填寫商品注冊(cè)信息的表單。registerProduct.jsp:注冊(cè)商品。addProduct_do.jsp:執(zhí)行添加商品的操作。viewAllProduct.jsp:查看所有商品。viewProduct.jsp:查看商品詳細(xì)信息。modifyProduct.jsp:更改商品的注冊(cè)信息。modifyProduct_do.jsp:執(zhí)行更改的操作。deleteProduct.jsp:刪除商品。deleteProduct_do.jsp:執(zhí)行刪除操作。注:所有頁(yè)面代碼請(qǐng)查看原文件。4.2.2用戶訂單處理訂單處理包括用戶結(jié)帳部分和后臺(tái)定單處理。在用戶購(gòu)物完后,單擊購(gòu)物車的結(jié)帳連接,就可以把購(gòu)物的信息生成訂單。生成訂單后,需要在后臺(tái)對(duì)訂單的信息進(jìn)行確認(rèn),確認(rèn)后的訂單才會(huì)進(jìn)一步處理。訂單處理和用戶相關(guān)的部分包括:結(jié)帳查看訂單狀態(tài)取消訂單狀態(tài)和后臺(tái)處理相關(guān)的部分包括:列出未處理的訂單列出已經(jīng)處理的訂單列出系統(tǒng)中所有的訂單訂單信息確認(rèn)刪除訂單所涉及到的JSP頁(yè)面有:checkout.jsp:結(jié)帳的入口程序,首先判斷用戶是否已經(jīng)登錄,如果已經(jīng)登錄,那么就用importcheckOut_form.jsp來(lái)輸入支付信息。checkOut_form.jsp:輸入結(jié)帳支付信息,送貨信息等。orderProcess_do.jsp:進(jìn)行訂單處理,把訂單信息保存到數(shù)據(jù)庫(kù)。orderStatus.jsp:查看訂單的狀態(tài)。orderDetail.jsp:訂單中的商品的詳細(xì)信息。cancelOrder_do.jsp:執(zhí)行數(shù)據(jù)庫(kù)操作,刪除和制定訂單相關(guān)的信息。notConfirm.jsp:生成查詢未處理訂單信息的SQL語(yǔ)句,然后把這個(gè)語(yǔ)句作為參數(shù)傳遞給OrderForm.jsp。orderForm.jsp:根據(jù)notConfirm.jsp傳遞的SQL參數(shù)執(zhí)行查詢操作,然后顯示查詢結(jié)果。processed.jsp:生成查詢已處理訂單信息的SQL語(yǔ)句,然后把這個(gè)語(yǔ)句作為參數(shù)傳遞給orderForm.jsp。orderForm.jsp:根據(jù)processed.jsp傳遞的SQL參數(shù)執(zhí)行查詢操作,然后顯示查詢的結(jié)果。allorder.jsp:生成查詢所有訂單信息的SQL語(yǔ)句,然后把這個(gè)語(yǔ)句作為參數(shù)傳遞給orderForm.jspconfirmOrder_do.jsp:調(diào)用數(shù)據(jù)庫(kù),執(zhí)行具體的確認(rèn)操作。當(dāng)確認(rèn)訂單后繼續(xù)顯示未確認(rèn)的訂單。deleteOrder_do.jsp:執(zhí)行刪除訂單的操作。刪除選定的訂單,刪除完成后繼續(xù)顯示未確認(rèn)的訂單。注:所有頁(yè)面代碼請(qǐng)查看原文件。4.3網(wǎng)上書店購(gòu)物4.3.1用戶管理首先創(chuàng)建兩個(gè)Java類用來(lái)封裝客戶信息:UserInformation.javaUserRegist.java如果用戶還沒(méi)有注冊(cè),那么要先注冊(cè)一個(gè)用戶:newuser.jspregister.jsp然后創(chuàng)建登陸頁(yè)面和登出頁(yè)面:login.jsplogout.jsp會(huì)員信息的查看:viewUser.jsp:查看用戶的注冊(cè)信息。4.3.2商品分類與查詢viewCategory.jsp:查看商品的分類,并且查看分類中的商品的連接。Product.jsp:它是一個(gè)可以重用的頁(yè)面,接收查詢的參數(shù),然后查詢數(shù)據(jù)庫(kù)以顯示商品信息。viewProduct.jsp:查看商品的詳細(xì)信息。viewProductByCategory.jsp:按類別查看商品。whatnew.jsp:最新商品查詢。whatpromot.jsp:特價(jià)商品查詢。searchform.jsp:用于填寫搜索信息。search_do.jsp:生成查詢最新商品的SQL語(yǔ)句,把這個(gè)語(yǔ)句傳遞給Product.jsp。注:所有頁(yè)面代碼請(qǐng)查看原文件。4.3.3購(gòu)物車購(gòu)物車的信息一般保存在Session里,并且使用JavaBean表示。本文主要使用表達(dá)式語(yǔ)言和JavaBean實(shí)現(xiàn)購(gòu)物車的方法。主要內(nèi)容有:1.購(gòu)物車的后臺(tái)業(yè)務(wù)邏輯實(shí)現(xiàn)2.添加商品3.查看購(gòu)物車狀態(tài)4.刪除購(gòu)物車商品5.清空購(gòu)物車6.更新商品的數(shù)量由于購(gòu)物車的實(shí)現(xiàn)比較復(fù)雜,故把它封裝在JavaBean中,這樣就可以在JSP頁(yè)面中進(jìn)行統(tǒng)一調(diào)用。為了使購(gòu)物車方便保存數(shù)據(jù),需要把Product和Item的信息封裝在JavaBean值對(duì)象中。Product.java和數(shù)據(jù)庫(kù)中的Prodct表對(duì)應(yīng),它簡(jiǎn)單地把表的字段封裝起來(lái),這樣使傳遞和保存數(shù)據(jù)變得方便。Item.java的功能和Product.java一樣。和數(shù)據(jù)庫(kù)中的Item表對(duì)應(yīng)。CartItem.java是購(gòu)物車中各個(gè)項(xiàng)目的信息,包括一個(gè)Item值對(duì)象、Item的數(shù)量、本CartItem包含商品的總金額。它用一個(gè)私有方法calculateTotal來(lái)計(jì)算CartItem中的商品的總金額。Cart代表了購(gòu)物車,Cart類封裝了購(gòu)物車的所有業(yè)務(wù)邏輯。添加商品、重新設(shè)置商品的數(shù)量、刪除商品、清空購(gòu)物車、獲得購(gòu)物車中所有商品的信息。addProduct.jsp:添加商品到購(gòu)物車。viewCart.jsp:查看購(gòu)物車的信息。deleteItem_do.jsp:執(zhí)行刪除的操作,然后把視圖派發(fā)到viewCart.jsp。clearall.jsp:清空購(gòu)物車中的所有商品。updateCart_do.jsp:用于執(zhí)行更新的操作。注:所有代碼請(qǐng)查看原文件。第5章網(wǎng)上書店系統(tǒng)測(cè)試5.1單元測(cè)試1.用戶注冊(cè)功能測(cè)試測(cè)試目的:測(cè)試用戶注冊(cè)功能是否完備,是否能夠正常注冊(cè)測(cè)試過(guò)程:輸入不同的用戶信息組合,包括空信息、不完整信息、輸入驗(yàn)證密碼與首次輸入密碼不一致、輸入數(shù)據(jù)庫(kù)中已存在的EMAIL、已存在的用戶名等等。測(cè)試結(jié)果:正確輸入后可以正常注冊(cè),輸入空信息、不完整信息、密碼與驗(yàn)證密碼不一致、輸入已存在的用戶名或EMAIL則出現(xiàn)相關(guān)提示,按確定鍵后返回輸入頁(yè)面。2.用戶登錄功能測(cè)試測(cè)試目的:測(cè)試用戶登錄功能是否正常,輸入錯(cuò)誤的用戶名和密碼后是否能夠進(jìn)入系統(tǒng)。檢查系統(tǒng)登錄的安全性。測(cè)試過(guò)程:分別輸入正確與錯(cuò)誤的用戶名及密碼、空用戶名、空密碼,檢查結(jié)果。測(cè)試結(jié)果:輸入正確可以正常進(jìn)入系統(tǒng),輸入錯(cuò)誤或空用戶名、空用戶密碼則無(wú)法進(jìn)入系統(tǒng),出現(xiàn)相關(guān)提示,按確定鍵后返回登錄頁(yè)面。圖書查詢功能測(cè)試:3.商品查詢測(cè)試目的:測(cè)試根據(jù)圖書的相關(guān)信息如書名、作者、出版社、圖書分類等,查詢所需圖書的功能的實(shí)現(xiàn)。測(cè)試過(guò)程:分別選擇書名、作者、出版社、圖書分類,電擊確定。然后進(jìn)行搜索,查看搜索結(jié)果。測(cè)試結(jié)果:搜索結(jié)果正常。4.最新圖書/特價(jià)圖書功能測(cè)試測(cè)試目的:測(cè)試查看最新上架的圖書、特價(jià)圖書的功能的實(shí)現(xiàn)。測(cè)試過(guò)程:分別點(diǎn)擊首頁(yè)中的最新圖書、特價(jià)圖書查看結(jié)果。測(cè)試結(jié)果:正常。5.圖書購(gòu)買功能測(cè)試測(cè)試目的:圖書購(gòu)買是本系統(tǒng)的主要功能,因此此項(xiàng)功能測(cè)試也是本系統(tǒng)測(cè)試的最重要的組成部分。此項(xiàng)測(cè)試則主要測(cè)試圖書購(gòu)買功能的實(shí)現(xiàn),包括購(gòu)物車的實(shí)現(xiàn)、下訂單、訂單的填寫,訂單的提交訂單的處理等,因購(gòu)物功能必須與后臺(tái)的訂單處理一起進(jìn)行,方能完成一次購(gòu)物過(guò)程,因此在此將前臺(tái)的購(gòu)物功能與后臺(tái)的訂單處理一并進(jìn)行測(cè)試。后臺(tái)訂單處理功能測(cè)試則包括訂單的選擇與狀態(tài)的修改。測(cè)試過(guò)程:用戶部分:登錄,在前臺(tái)任一頁(yè)面,選擇所要購(gòu)買的圖書,點(diǎn)擊下方的購(gòu)物車圖標(biāo),將該商品添加到購(gòu)物車中,然后點(diǎn)擊購(gòu)物車/結(jié)帳,根據(jù)提示,一步一步進(jìn)行,直至下訂單完成,付款后,進(jìn)入我的帳戶→我的訂單→選
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鎢鉬制品燒結(jié)工崗前成果轉(zhuǎn)化考核試卷含答案
- 蒸呢機(jī)擋車工崗前崗后考核試卷含答案
- 毛筆制作工常識(shí)水平考核試卷含答案
- 補(bǔ)寫學(xué)生病假請(qǐng)假條范文
- 2025年血管栓塞劑及栓塞材料項(xiàng)目發(fā)展計(jì)劃
- 2025年戊二酸二甲酯項(xiàng)目發(fā)展計(jì)劃
- 玻璃強(qiáng)化技術(shù)
- 2026年智能餐桌項(xiàng)目項(xiàng)目建議書
- 2025年江蘇省徐州市中考英語(yǔ)真題卷含答案解析
- 2025年四川省樂(lè)山市中考化學(xué)真題卷含答案解析
- 一圖看清37家公司經(jīng)營(yíng)模式:財(cái)務(wù)報(bào)表桑基圖(2025年6月版)(英)
- 如何做好一名護(hù)理帶教老師
- 房地產(chǎn)項(xiàng)目回款策略與現(xiàn)金流管理
- 花溪區(qū)高坡苗族鄉(xiāng)國(guó)土空間總體規(guī)劃 (2021-2035)
- 非連續(xù)性文本閱讀(中考試題20篇)-2024年中考語(yǔ)文重難點(diǎn)復(fù)習(xí)攻略(解析版)
- 專題13 三角函數(shù)中的最值模型之胡不歸模型(原卷版)
- 門診藥房西藥管理制度
- 新能源汽車生產(chǎn)代工合同
- 2025年中煤科工集團(tuán)重慶研究院有限公司招聘筆試參考題庫(kù)含答案解析
- 消防救援預(yù)防職務(wù)犯罪
- 一體化泵站安裝施工方案
評(píng)論
0/150
提交評(píng)論