JSP網(wǎng)上書店系統(tǒng)-論文_第1頁
JSP網(wǎng)上書店系統(tǒng)-論文_第2頁
JSP網(wǎng)上書店系統(tǒng)-論文_第3頁
JSP網(wǎng)上書店系統(tǒng)-論文_第4頁
JSP網(wǎng)上書店系統(tǒng)-論文_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

PAGEPAGE2HYPERLINK”http://www.zhubajie.com/direct?http://www。uupdf.com”\t"_blank”www。uupdf.com畢業(yè)論文SHANGHAITUNIVERSITYGRADUATIONPROJECT(THESIS)網(wǎng)上書店系統(tǒng)OnlineBookStoreSystem學(xué)院高等技術(shù)學(xué)院專業(yè)計(jì)算機(jī)技術(shù)與應(yīng)用學(xué)號(hào)03321018姓名導(dǎo)師完成日期2006年4月HYPERLINK”http://www.zhubajie.com/direct?http://www.uupdf.com”\t"_blank”www.uupdf.com名目中英文摘要第一章JAVA的網(wǎng)絡(luò)功能與編程JAVA語言簡介JAVA語言在網(wǎng)絡(luò)上的應(yīng)用1—3JSP的基礎(chǔ)——Servlet技術(shù)其次章Struts概述2-1Struts的由來和進(jìn)展2-1-1MVC簡介2-2Struts優(yōu)缺點(diǎn)

3—3Struts的工作流程第三章網(wǎng)上書店簡略設(shè)計(jì)3—1需求分析3-2總體設(shè)計(jì)3—3功能設(shè)計(jì)3—4數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)3-4-1數(shù)據(jù)庫的需求分析3—4—2創(chuàng)建數(shù)據(jù)表的腳本3-5網(wǎng)上書店基本流程3-6網(wǎng)上書店各頁面功能3-7業(yè)務(wù)規(guī)律層各bean功能3-8掌握處理層總結(jié)參考文獻(xiàn)

摘要JAVA語言是目前Internet上大型的WEB應(yīng)用程序開發(fā)時(shí)使用得最熱門的編程語言,本文描述了JAVA和JSP技術(shù)的特點(diǎn)以及在互聯(lián)網(wǎng)上的使用情況,介紹這兩種技術(shù)的重要編程方法和兩者之關(guān)的聯(lián)系,同時(shí)也會(huì)應(yīng)用相關(guān)的Struts框架,并完成一個(gè)基于這種技術(shù)的網(wǎng)上書店系統(tǒng)?!娟P(guān)鍵字】JAVA,Struts,Servlet,JSP,網(wǎng)絡(luò)編程,電子商務(wù),網(wǎng)上書店AbstractAtpresentJAVAisthehottestprogramminglanguageforWEBdevelopment,ThistextdescribedthecharacteristicsofJAVAandJSPtechnologyandthestateofoperatingonInternet,Itintroducedtherelationshipbetweenthemandtheimportantprogrammingmethodofthedoubletechnology,AndalsoshowtheStrutstechnology,Andworkoutanonlinebookstoresystembaseonthiskindoftechnology。Keywords:JAVA,Struts,Servlet,JSP,webprogram,internet,bookshop

第一章JAVA的網(wǎng)絡(luò)功能與編程?1-1

JAVA語言簡介?

Java是一種簡潔易用、完全面對(duì)對(duì)象、具有平臺(tái)無關(guān)性且平安牢靠的主要面對(duì)Internet的開發(fā)工具。自從1995年正式問世以來,Java的快速進(jìn)展已經(jīng)讓整個(gè)Web世界發(fā)生了翻天覆地的變化。在早期,Java比較多的用在掃瞄器上,插入到網(wǎng)頁中(即是JavaApplet程序),成為最靈敏、最強(qiáng)大的網(wǎng)頁多媒體的載體,但由于Java虛擬機(jī)相對(duì)于個(gè)人電腦而言,有占用資源大,平安性相對(duì)較差等缺點(diǎn),Applet逐漸的被后起之秀Flash所替代,但隨著JavaServlet的推出,Java在電子商務(wù)方面開頭嶄露頭角,最新的JSP(JavaServerPage)技術(shù)的推出,更是讓Java成為基于Web的應(yīng)用程序的首選開發(fā)工具,目前的Java技術(shù)已成為全部大型電子商務(wù)項(xiàng)目的必定選擇。??

1-2JAVA語言在網(wǎng)絡(luò)上的應(yīng)用??Java程序可以獵取網(wǎng)絡(luò)上結(jié)點(diǎn)的圖象、聲音、HTML文檔及文本等資源,并可以對(duì)獲得的資源進(jìn)行處理。例如Java程序可以每隔肯定時(shí)間讀取某結(jié)點(diǎn)供應(yīng)的最新數(shù)據(jù),并以圖表的形式顯示出來。在編程處理上,一般先生成一個(gè)URL類型的對(duì)象,然后用Java中相應(yīng)的方法(method)獵取該對(duì)象所代表的資源。1-3JSP的基礎(chǔ)——Servlet技術(shù)??JavaServlet是JSP技術(shù)的基礎(chǔ),JSP本身就是預(yù)先被編譯成Servlet,然后再運(yùn)行的,而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP協(xié)作才能完成,Servlet這個(gè)名稱也許源于Applet,現(xiàn)在國內(nèi)的翻譯方式很多,本文為了避開誤會(huì),本文直接采納Servlet這個(gè)名稱而不做任何翻譯,讀者如果情愿,可以稱之為“小服務(wù)程序”。Servlet其實(shí)和傳統(tǒng)的CGI程序和ISAPI、NSAPI等Web程序開發(fā)工具的作用是相同的,在使用JavaServlet以后,用戶不必再使用效率低下的CGI方式,也不必使用只能在某個(gè)固定Web服務(wù)器平臺(tái)運(yùn)行的API方式來動(dòng)態(tài)生成Web頁面。很多Web服務(wù)器都支持Servlet,即使不直接支持Servlet的Web服務(wù)器也可以通過附加的應(yīng)用服務(wù)器和模塊來支持Servlet。得益于Java的跨平臺(tái)的特性,Servlet也是平臺(tái)無關(guān)的,實(shí)際上,只要符合JavaServlet規(guī)范,Servlet是完全平臺(tái)無關(guān)且是Web服務(wù)器無關(guān)的.由于JavaServlet內(nèi)部是以線程方式供應(yīng)服務(wù),不必對(duì)于每個(gè)懇求都啟動(dòng)一個(gè)進(jìn)程,并且利用多線程機(jī)制可以同時(shí)為多個(gè)懇求服務(wù),因此JavaServlet效率格外高.但JavaServlet也不是沒有缺點(diǎn),和傳統(tǒng)的CGI、ISAPI、NSAPI方式相同,JavaServlet是利用輸出HTML語句來實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁的,如果用JavaServlet來開發(fā)整個(gè)網(wǎng)站,動(dòng)態(tài)部分和靜態(tài)頁面的整合過程簡直就是一場(chǎng)噩夢(mèng)。這就是為什么SUN還要推出JavaServerPages的緣由。?其次章Struts概述2-1Struts的由來和進(jìn)展Struts框架工具是Apache基金會(huì)Jakarta項(xiàng)目中推出的一個(gè)子項(xiàng)目。Struts在英文中是支架、支撐的意思,這也體現(xiàn)出Struts在開發(fā)Web應(yīng)用程序過程所起到的重要作用,Struts為Web應(yīng)用供應(yīng)了通用的框架,讓開發(fā)人員可以把主要精力集中在如何解決實(shí)際業(yè)務(wù)問題上,與此同時(shí)Struts框架也允許開發(fā)人員依據(jù)實(shí)際需要進(jìn)行擴(kuò)展和定制,從而可以更好的適應(yīng)用戶的需求。采納Struts可以簡化遵循MVC設(shè)計(jì)模式的Web應(yīng)用的開發(fā)工作,很好地實(shí)現(xiàn)代碼重用,使開發(fā)人員從一些繁瑣的工作中解脫出來,快速開發(fā)能夠充分發(fā)揮JSP/Servlet優(yōu)點(diǎn)、并具有強(qiáng)可擴(kuò)展性的Web應(yīng)用??傊?,Struts的消滅使得Web應(yīng)用的開發(fā)過程大大簡化,從而能夠縮短開發(fā)周期、提高開發(fā)效率。Struts架構(gòu)一經(jīng)推出,即受到Java開發(fā)群體的廣泛重視,從2004年開頭逐漸升溫,并日漸成為Java創(chuàng)建Web應(yīng)用開發(fā)的最流行的框架工具,在目前JavaWeb程序員的聘請(qǐng)要求中,幾乎都提出了對(duì)Struts的要求,精通Struts架構(gòu)已經(jīng)成為JavaWeb程序員必備的技能。2—1-1MVC簡介模型-視圖-掌握器(MVC)是80年月Smalltalk—80消滅的一種軟件設(shè)計(jì)模式,現(xiàn)在已經(jīng)被廣泛的使用。?1、模型(Model)?模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)規(guī)律。??2、視圖(View)?視圖是應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。

?3、掌握器(controller)?掌握器工作就是依據(jù)用戶的輸入,掌握用戶界面數(shù)據(jù)顯示和更新model對(duì)象狀態(tài)。????MVC式的消滅不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性??早期的程序中,如果不注意對(duì)數(shù)功能和顯示的解耦合,常常會(huì)導(dǎo)致程序的簡潔及難以維護(hù)。很多VB,Delphi等RAD程序都有這種問題.甚至現(xiàn)在的C#,Java有時(shí)候也會(huì)消滅把業(yè)務(wù)規(guī)律寫在顯示模塊中的現(xiàn)象??管MVC設(shè)計(jì)模式很早就提出,但在Web項(xiàng)目的開發(fā)中引入MVC卻是步履維艱。主要緣由:一是在早期的Web項(xiàng)目的開發(fā)中,程序語言和HTML的分離始終難以實(shí)現(xiàn)。CGI程序以字符串輸出的形式動(dòng)態(tài)地生成HTML內(nèi)容。后來隨著腳本語言的消滅,前面的方式又被倒了過來,改成將腳本語言書寫的程序嵌入在HTML內(nèi)容中。這兩種方式有一個(gè)相同的不足之處即它們總是無法將程序語言和HTML分離。二是腳本語言的功能相對(duì)較弱,缺乏支持MVC設(shè)計(jì)模式的一些必要的技術(shù)基礎(chǔ)。直到基于J2EE的JSPModel2問世時(shí)才得以改觀。它用JSP技術(shù)實(shí)現(xiàn)視圖的功能,用Servlet技術(shù)實(shí)現(xiàn)掌握器的功能,用JavaBean技術(shù)實(shí)現(xiàn)模型的功能?JSPModel1與JSPModel2?SUN在JSP消滅早期制定了兩種規(guī)范,稱為Model1和Model2.雖然Model2在肯定程度上實(shí)現(xiàn)了MVC,但是它的應(yīng)用用并不盡如人意??JSPModel1?

?JSPModel2?model2容易使系統(tǒng)消滅多個(gè)Controller,并且對(duì)頁面導(dǎo)航的處理比較簡潔

有些人覺得model2仍不夠好,于是CraigR.McClanahan2000年5月提交了一個(gè)WEBframework給JavaCommunity.這就是后來的Struts.

2001年7月,Struts1.0,正式發(fā)布.該項(xiàng)目也成為了ApacheJakarta的子項(xiàng)目之一

Struts質(zhì)上就是在Model2的基礎(chǔ)上實(shí)現(xiàn)的一個(gè)MVC架構(gòu)。它只有一個(gè)中心掌握器,他采納XML定制轉(zhuǎn)向的URL。采納Action來處理規(guī)律2-2Struts優(yōu)缺點(diǎn)

?優(yōu)點(diǎn):

?Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開源軟件,這是它的一大優(yōu)點(diǎn)。使開發(fā)者能更深化的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。

?除此之外,Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個(gè)方面:Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)記庫,靈敏動(dòng)用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許Struts是一個(gè)很好的起點(diǎn)。

?關(guān)于頁面導(dǎo)航,我認(rèn)為那將是今后的一個(gè)進(jìn)展方向,事實(shí)上,這樣做,使系統(tǒng)的脈絡(luò)更加清楚。通過一個(gè)配置文件,即可把握整個(gè)系統(tǒng)各部分之間的聯(lián)系,這對(duì)于后期的維護(hù)有著莫大的好處。尤其是當(dāng)另一批開發(fā)者接手這個(gè)項(xiàng)目時(shí),這種優(yōu)勢(shì)體現(xiàn)得更加明顯。

缺點(diǎn):

Taglib是Struts的一大優(yōu)勢(shì),但對(duì)于初學(xué)者而言,卻需要一個(gè)持續(xù)學(xué)習(xí)的過程,甚至還會(huì)打亂你網(wǎng)頁編寫的習(xí)慣,但是,當(dāng)你習(xí)慣了它時(shí),你會(huì)覺得它真的很棒。

?Struts將MVC的Controller一分為三,在獲得結(jié)構(gòu)更加清楚的同時(shí),也增加了系統(tǒng)的簡潔度。

?Struts從產(chǎn)生到現(xiàn)在還不到半年,但已逐步越來越多運(yùn)用于商業(yè)軟件。雖然它現(xiàn)在還有不少缺點(diǎn),但它是一種格外優(yōu)秀的J2EE

MVC實(shí)現(xiàn)方式.3-3Struts的工作流程下圖是Struts的工作流程,全部的懇求都提交給ActionServlet來處理.???ActionServlet是一個(gè)FrontController,它是一個(gè)標(biāo)準(zhǔn)的Servlet,它將request轉(zhuǎn)發(fā)給RequestProcessor來處理,

?ActionMapping是ActionConfig的子類,實(shí)質(zhì)上是對(duì)struts-config.xml的一個(gè)映射,從中可以取得全部的配置信息

RequestProcessor依據(jù)提交過來的url,如*。do,從ActionMapping中得到相應(yīng)的ActionForn和Action。然后將request的參數(shù)對(duì)應(yīng)到ActionForm中,進(jìn)行form驗(yàn)證。如果驗(yàn)證通過則調(diào)用Action的execute()方法來執(zhí)行Action,最終返回ActionFoward.??ActionFoward是對(duì)mapping中一個(gè)foward的包裝,對(duì)應(yīng)于一個(gè)url??ActionForm使用了ViewHelper模式,是對(duì)HTML中form的一個(gè)封裝。其中包含有validate方法,用于驗(yàn)證form數(shù)據(jù)的有效性。ActionForm是一個(gè)符合JavaBean規(guī)范的類,全部的屬性都應(yīng)滿意get和set對(duì)應(yīng)。對(duì)于一些簡潔的系統(tǒng),還可以采納DynaActionForm來構(gòu)造動(dòng)態(tài)的Form,即通過預(yù)制參數(shù)來生成Form。這樣可以更靈敏的擴(kuò)展程序。

?ActionErrors是對(duì)錯(cuò)誤信息的包裝,一旦在執(zhí)行action或者form。validate中消滅特別,即可產(chǎn)生一個(gè)ActionError并最終加入到ActionErrors。在Form驗(yàn)證的過程中,如果有Error發(fā)生,則會(huì)將頁面重新導(dǎo)向至輸入頁,并提示錯(cuò)誤。

Action是用于執(zhí)行業(yè)務(wù)規(guī)律的RequsestHandler。每個(gè)Action都只建立一個(gè)instance。Action不是線程平安的,所以不應(yīng)該在Action中訪問特定資源。一般來說,應(yīng)改使用BusinessDelegat(yī)e模式來對(duì)Businesstier進(jìn)行訪問以解除耦合。

Struts供應(yīng)了多種Action供選擇使用。一般的Action只能通過調(diào)用execute執(zhí)行一項(xiàng)任務(wù),而DispatchAction可以依據(jù)配置參數(shù)執(zhí)行,而不是僅進(jìn)入execute()函數(shù),這樣可以執(zhí)行多種任務(wù)。如insert,update等。LookupDispatchAction可以依據(jù)提交表單按鈕的名稱來執(zhí)行函數(shù)。?第三章網(wǎng)上書店簡略設(shè)計(jì)3—1需求分析網(wǎng)上書店系統(tǒng)主要是實(shí)現(xiàn)網(wǎng)上選書、購書、產(chǎn)生訂單等功能的系統(tǒng)。一個(gè)典型的網(wǎng)上商城一般都需要實(shí)現(xiàn)商品信息的動(dòng)態(tài)提示、購物車管理、客戶信息注冊(cè)登錄管理、訂單處理等模塊。依據(jù)網(wǎng)上書店的基本需求,本系統(tǒng)需要完成的簡略任務(wù)如下:書圖查詢:當(dāng)客戶進(jìn)入網(wǎng)上書店時(shí),應(yīng)該在主頁面中分類顯示最新的書目信息,以供客戶選擇所需圖書,同時(shí)也應(yīng)該供應(yīng)依據(jù)圖書名稱,或者作者信息快速查詢所需書目信息的功能。購物車管理:當(dāng)客戶選擇購買某圖書產(chǎn)品時(shí),應(yīng)該能夠?qū)?duì)應(yīng)圖書信息,如:價(jià)格、數(shù)量記錄到對(duì)應(yīng)的購物車中,并允許客戶返回書目查詢頁面,選擇其他商品,并添加到購物車中,當(dāng)對(duì)應(yīng)的購物訂單生成后,應(yīng)該能夠自動(dòng)清除以生成訂單的購物車中的信息。訂單處理:對(duì)應(yīng)客戶購買圖書商品信息的需求,在確定了所購圖書商品的價(jià)格、數(shù)量等信息后,提示用戶選擇對(duì)應(yīng)的送貨方式及付款方式,最終生成對(duì)應(yīng)的訂單記錄,以便于網(wǎng)站配貨人員依據(jù)訂單信息進(jìn)行后續(xù)的出貨、送貨的處理。會(huì)員注冊(cè):為了能夠?qū)崿F(xiàn)圖書商品的購買,需要管理客戶相關(guān)的聯(lián)系方式、送貨地點(diǎn)等相關(guān)的信息。3—2總體設(shè)計(jì)系統(tǒng)組成下表中給出了構(gòu)成網(wǎng)上書店系統(tǒng)的各個(gè)組件,通過下表,可以從宏觀上了解各個(gè)組件的功能。用戶表示層(視圖)掌握處理層(掌握器)業(yè)務(wù)規(guī)律層(模型)bookMain。jspActionFormActionDBBookShow.jspLoginFormFirstActionConstantsBookShopCart.jspUserFormBookDetailActionBookOrderAddress.jspBookIdFormBookSearchActionBookCatOrderConfirm.jspBookCatIdFormLoginActionOrderUserLogin。jspPageIdFormBookBuyActionShopCartUserRegister.jspBookShopCartFromAddrConfirmActionUserOrderHistory。jspB(yǎng)ookSearchFormClearShopCartActionWrong.jspDeliveryFormOrderDelActionOrderIdFormOrderHistoryActionPageCtrlActionRegistActionUpdateShopCartAction?3-3功能設(shè)計(jì)1。圖書信息管理該模塊實(shí)現(xiàn)圖書書目信息的分類顯示,也是供應(yīng)圖書信息依據(jù)書名及作者信息快速搜尋的功能.此外,在用戶選擇了對(duì)應(yīng)書目信息后,還可以顯示出有關(guān)該圖書的簡略信息,以便于客戶了解所購商品.2。購物車管理用于維護(hù)每一個(gè)進(jìn)入網(wǎng)上書店的客戶對(duì)應(yīng)的購物車.即將客戶所選購的圖書商品信息記錄到對(duì)應(yīng)的購物車中,以便于到收銀臺(tái)進(jìn)行結(jié)賬處理。3.會(huì)員注冊(cè)實(shí)現(xiàn)網(wǎng)上書店客戶信息的注冊(cè)、及身份驗(yàn)證。由于目前網(wǎng)上商城普遍采納的方式為送貨上門或者郵寄,因此需要收集與客戶相關(guān)的聯(lián)系方式、通信地址等信息。4.訂單處理依據(jù)客戶購物車中的信息,以及客戶所選擇的送貨方式和付款方式,連同客戶對(duì)應(yīng)的個(gè)人信息生成訂單,以便于后續(xù)進(jìn)行送貨處理。3—4數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)3—4-1數(shù)據(jù)庫的需求分析依據(jù)網(wǎng)上書店的處理需求,對(duì)就數(shù)據(jù)表的設(shè)計(jì)及功能如下。圖書基本信息表:存放網(wǎng)上書店所銷售圖書的基本信息.圖書分類基本信息表:存放網(wǎng)上書店所供應(yīng)圖書分類的信息??蛻艋拘畔⒈恚捍娣艜昕蛻舻幕拘畔ⅰS唵涡畔⒈恚捍娣排c客戶相關(guān)的訂單的基本信息.訂單條目簡略信息表:存放訂單中簡略條目的基本信息.3—4—2創(chuàng)建數(shù)據(jù)表的腳本代碼如下:____(dá)___(dá)___(dá)___(dá)__(dá)____(dá)___(dá)_______(dá)____(dá)___________(dá)______(dá)____(dá)_____(dá)____(dá)_____(dá)__(dá)___(dá)___//圖書分類基本信息表DROPTABLEbookcat(yī)CASCADECONSTRAINTS;CREATETABLEbookcat(??id??NUMBER?PRIMARYKEY, cat(yī)name??VARCHAR2(40)?NOTNULL);//圖書基本信息表DROPTABLEbookCASCADECONSTRAINTS;CREATETABLEbook(??id? NUMBER?PRIMARYKEY,?catid? NUMBER?NOTNULL???REFERENCESbookcat(id)ONDELETECASCADE,?name ?VARCHAR2(50) NOTNULL,?price??NUMBER?NOTNULL, saleprice?NUMBER?NOTNULL,?descript?VARCHAR2(500)NOTNULL,?author??VARCHAR2(50)NOTNULL,?contents?VARCHAR2(2000)NULL,?image??VARCHAR2(50)?NULL);//客戶基本信息表DROPTABLEstoreuserCASCADECONSTRAINTS;CREATETABLEstoreuser(??username?VARCHAR2(20)?PRIMARYKEY,?password?VARCHAR2(20)?NOTNULL,?name ?VARCHAR2(20)?NOTNULL, tel??VARCHAR2(20) NOTNULL,?address? VARCHAR2(100)NOTNULL,?email??VARCHAR2(50)NULL);//訂單信息表DROPTABLEordersCASCADECONSTRAINTS;CREATETABLEorders(? id??NUMBER?PRIMARYKEY,?username?VARCHAR2(20)NOTNULL?? REFERENCESstoreuser(username)ONDELETECASCADE,?time??DATE ?NOTNULL,?delivery?VARCHAR2(20)NOTNULL, payment??VARCHAR2(20)NOTNULL);//訂單條目簡略信息表DROPTABLEorderdetailCASCADECONSTRAINTS;CREATETABLEorderdetail(? orderid? NUMBERNOTNULL???REFERENCESorders(id)ONDELETECASCADE,?bookid??NUMBERNOTNULL? ?REFERENCESbook(id)ONDELETECASCADE,?count ?NUMBERNOTNULL,?price??NUMBERNOTNULL);____(dá)_____(dá)____(dá)____(dá)__(dá)_____(dá)_______(dá)__(dá)_____(dá)__(dá)_________________(dá)________(dá)____(dá)?3—5網(wǎng)上書店基本流程網(wǎng)上書店在運(yùn)行過程中頁面的基本流程如下圖:bookMain.jspbookMain.jsp圖書查詢bookShow.jspbookShow.jsp圖書詳情顯示bookShopCart。jspbookShopCart。jsp購物車管理userLogin。jspuserLogin。jsp會(huì)員登錄userRegister.jsp新會(huì)員注冊(cè)u(píng)serRegister.jsp新會(huì)員注冊(cè)orderAddress.jsp會(huì)員地址確認(rèn)orderConfirm.jsporderConfirm.jsp訂單確認(rèn)orderHistory.jsporderHistory.jsp歷史訂單查詢?3-6網(wǎng)上書店各頁面功能?3-6-1網(wǎng)上書店首頁bookMain.jsp簡略功能及描述獵取圖書分類信息以及圖書基本信息集合循環(huán)顯示圖書分類信息提交顯示指定分類圖書信息的懇求,同時(shí)傳遞對(duì)應(yīng)圖書分類編號(hào)提交書目搜尋懇求及搜尋條件的表單提交搜尋關(guān)鍵字的表單元素選擇搜尋條件的表單元素顯示圖書記錄總數(shù)、當(dāng)前頁面編號(hào)以及總頁數(shù)循環(huán)顯示對(duì)應(yīng)圖書書目信息顯示圖書名稱、價(jià)格、銷售價(jià)格、作者信息提交顯示圖書簡略信息懇求的超鏈接提交分頁顯示懇求的超鏈接,同時(shí)提交指定頁面編號(hào)在本頁面中,當(dāng)單擊選擇書目分類時(shí),將提交“bookSearch.do?bookCat(yī)Id=<%=bookCat.getId()%mode=1”懇求,以便于獵取對(duì)應(yīng)圖書分類的相關(guān)信息。當(dāng)選擇了查詢依據(jù),并且輸入了對(duì)應(yīng)關(guān)鍵字,單擊“搜尋"按鈕時(shí),將提交“bookSearch。do”懇求,同時(shí)提交查詢條件,進(jìn)行后續(xù)書目信息搜尋的處理。當(dāng)在書目列表中單擊查看簡略信息懇求時(shí),將發(fā)出“bookDetail.do”懇求,同時(shí)傳遞對(duì)應(yīng)圖書記錄的編號(hào),以獵取指定圖書更加簡略的信息。此外,在單擊“首頁"、“上頁"、“下頁”超鏈接后,將分別提交“bookPage。dopageId=<%=0%>"、“bookPage.dopageId=<%=schSta.getPageId()-1%〉”、“bookPage.dopageId=〈%=schSta。getPageId()+1%〉”等懇求,以實(shí)現(xiàn)頁面的跳轉(zhuǎn)?3-6—2顯示圖書簡略信息bookShow.jsp頁面簡略功能及描述依據(jù)圖書記錄編號(hào)獵取待顯示簡略信息的圖書類型的對(duì)象分別顯示該圖書對(duì)象的簡略信息顯示圖書封面圖片、名稱、簡略介紹、價(jià)格、銷售價(jià)格單擊“購買”按鈕后,將提交放入購物車的懇求顯示圖書名目本頁面是在掌握器響應(yīng)了網(wǎng)上書店主頁提交的查看圖書簡略信息懇求,即“bookDeatial。do"懇求后,跳轉(zhuǎn)到的頁面。在該頁面中將獵取到的指定圖書簡略信息顯示出來,同時(shí)如果用戶單擊“購買"按鈕,將提交“bookBuy。do?bookId=<%=book。getId()%〉"懇求,進(jìn)行后續(xù)放入購物車的處理.?3-6—3顯示購物車信息bookShopCart。jsp頁面簡略功能及描述獵取該用戶購物車中信息的集合提交更新購物車懇求的表單循環(huán)顯示購物車中的每一條購物記錄信息設(shè)置購買數(shù)量的文本框顯示圖書銷售價(jià)格顯示圖書總價(jià)從購物車中移除購買記錄信息更新訂單按鈕提交連續(xù)購書懇求的超鏈接提交清空購物車懇求的超鏈接提交結(jié)算付款懇求的超鏈接本頁面是在用戶選擇購買某種圖書商品后,進(jìn)入的頁面.在該頁面中將顯示該用戶購物車中現(xiàn)有的全部購買需求記錄。同時(shí)供應(yīng)更新購物車的操作界面,例如,可以輸入購買數(shù)量或者選擇刪除購買記錄.單擊“更新訂單"按鈕后,將提交“updateShopCart。do”懇求,進(jìn)行更新購物車信息的處理。此外,也可以單擊“連續(xù)購書”按鈕,提交“bookSearch.do"懇求返回網(wǎng)上書店主頁面連續(xù)購書,或者單擊“清空購物車”按鈕提交“clearShopCart.do”懇求.同時(shí),如果用戶確認(rèn)去收銀臺(tái),則可以單擊“結(jié)算付款"按鈕跳轉(zhuǎn)到“userLogin.jsp”頁面進(jìn)行用戶登錄。3-6—4網(wǎng)上書店客戶登錄userLogin。jsp頁面簡略功能及描述提交用戶登錄懇求,同時(shí)提交登錄用戶信息的表單提交登錄用戶用戶名及密碼的表單元素登錄按鈕提交新用戶注冊(cè)懇求的超鏈接本頁面是客戶在購物車頁面單擊“結(jié)算付款”按鈕后跳轉(zhuǎn)過來的頁面,在該頁面中,用戶在表單中輸入用戶名及密碼,單擊“用戶登錄”按鈕后,將提交“l(fā)ogin.do"懇求,以便于進(jìn)行后續(xù)獵取用戶相關(guān)信息的處理,對(duì)于沒有用戶身份的新客戶,可以在本頁面中單擊“新用戶注冊(cè)”按鈕,跳轉(zhuǎn)到“userRegister.jsp”頁面進(jìn)行用戶注冊(cè).3-6—5網(wǎng)上書店客戶注冊(cè)u(píng)serRegister.jsp頁面簡略功能及描述提交新用戶注冊(cè)懇求,同時(shí)提交新用戶注冊(cè)信息的表單提交注冊(cè)用戶姓名、地址、電子郵件地址、電話、用戶名、密碼以及確認(rèn)密碼的表單元素注冊(cè)按鈕在本頁面中注冊(cè)用戶可以在表單中輸入對(duì)應(yīng)的注冊(cè)信息,在單擊“注冊(cè)”按鈕后,將提交“regist.do”懇求,同時(shí)提交新用戶的相關(guān)注冊(cè)信息,以便于進(jìn)行后續(xù)新用戶注冊(cè)的處理。3-6-6選擇送貨方式及付款方式orderAddress。jsp頁面簡略功能及描述獵取客戶信息提交選擇送貨方式及付款方式的表單顯示客戶信息、姓名、地址、電話、送貨方式、付款方式本頁面是在用戶登錄通過后,跳轉(zhuǎn)到的頁面,在該頁面中首先獵取對(duì)應(yīng)用戶的客戶資料,同時(shí)供應(yīng)送貨方式以及付款方式的選擇,在用戶單擊“確認(rèn)”按鈕后,將提交“addrConfirm。do”懇求,生成生續(xù)完整的訂單信息.3-6-7確認(rèn)訂單信息orderConfirm.jsp頁面簡略功能及描述獵取購物車信息集合獵取訂單信息、客戶信息顯示客戶姓名、地址、電話顯示購物車中的信息顯示所購圖書書名、數(shù)量、總價(jià)顯示整張訂單總價(jià)顯示訂單信息中的送貨方式信息顯示付款方式信息顯示訂單編號(hào)提交連續(xù)購書的懇求提交查看該用戶全部訂單的懇求本頁面中將全面顯示該客戶本次購物生成的簡略訂單信息,同時(shí)如果單擊“連續(xù)購書”按鈕將提交“bookSearch。do”懇求返回網(wǎng)上書店主頁面,如果單擊“查看訂單”按鈕將提交“orderHistory.do”,跳轉(zhuǎn)到“orderHistory。jsp”頁面.3-6-8顯示客戶全部訂單信息orderHistory。jsp頁面簡略功能及描述獵取該用戶全部歷史訂單信息顯示訂單信息信息列表顯示訂單編號(hào)、時(shí)間、總價(jià)提交取消訂單懇求的超鏈接提交返回購書懇求的超鏈接本頁面將顯示與當(dāng)前用戶相關(guān)的全部訂單信息。同時(shí)用戶可以單擊“取消此單"超鏈接提交“delOrder.do?orderId=<%=order。getId()%〉”懇求刪除該訂單信息,此外也可以單擊“返回購書"按鈕提交“bookSearch.do”懇求跳轉(zhuǎn)到網(wǎng)上書店主頁面。3-7業(yè)務(wù)規(guī)律層各bean功能在本系統(tǒng)的業(yè)務(wù)規(guī)律層中分別完成了對(duì)圖書信息、圖書分類信息、購物車信息、訂單信息以及客戶信息等類型對(duì)象的保存和處理.全部文件包含在WEB—INF\classes名目中3-7-1封裝了數(shù)據(jù)庫相關(guān)操作的bean(DB.java)?采納了Struts架構(gòu)下供應(yīng)的數(shù)據(jù)庫連接池建立與數(shù)據(jù)庫的連接,在該bean中通過構(gòu)造方法建立與數(shù)據(jù)庫的連接,并供應(yīng)了相應(yīng)的方法完成數(shù)據(jù)庫中的查詢、更新等操作,同時(shí)也供應(yīng)了關(guān)閉數(shù)據(jù)庫連接的方法,以便于準(zhǔn)時(shí)釋放資源.3-7—2封裝了圖書住處處理的bean(Book。java)除聲明白與圖書基本數(shù)據(jù)相關(guān)的基本屬性和方法之外,還供應(yīng)了圖書信息的查詢顯示處理相關(guān)的幾個(gè)方法。其中在調(diào)用查詢滿意條件的圖書信息方法時(shí),需要供應(yīng)查詢的依據(jù),例如,分類、按作者還是按書名,對(duì)應(yīng)關(guān)鍵字等。3—7-3封裝了圖書分類信息處理的bean(BookCat。java)除了聲明白與圖書分類數(shù)據(jù)相關(guān)的基本屬性和方法之外,還供應(yīng)了與圖書分類信息查詢及顯示處理相關(guān)的幾個(gè)方法.3-7-4封裝了圖書查詢及顯示條件的bean(SearchStatus。java)主要封裝了設(shè)置圖書搜尋查詢條件相關(guān)的屬性和方法,該程序中的方法將在搜尋圖書信息的程序中被調(diào)用.3-7-5封裝了購物車信息處理的bean(ShopCart.java)為了能夠簡化類的定義,考慮到購物車中所需要處理的圖書基本信息與圖書類型對(duì)象中封裝的信息相同,只是需要再補(bǔ)充上購買數(shù)量即可,因此在定義該類時(shí)繼承了圖書信息類。3-7-6封裝了訂單住處處理的bean(Order.java)除聲明白與訂單中所需要處理的數(shù)據(jù)相關(guān)的基本屬性和方法之外,還供應(yīng)了與訂單查詢、插入及刪除處理相關(guān)的幾個(gè)方法.此外,也供應(yīng)了計(jì)算該訂單所涉及總金額的方法。3—7—7封裝了客記信息處理的bean(User.java)除聲明白與用戶數(shù)據(jù)相關(guān)的基本屬性和方法之外,還供應(yīng)了與確認(rèn)用戶身份、獵取用戶相關(guān)信息、插入新用戶信息處理相關(guān)的幾個(gè)方法。3—7-8常量文件(Constants.java)3-8掌握處理層下表是網(wǎng)上書店系統(tǒng)中的Action映射表.該映射決定了

Action與其他Web組件之間的關(guān)聯(lián)關(guān)系。作為前后臺(tái)之間橋梁,本表中指明白每個(gè)Action的入口(即調(diào)用Action的組件)及出口(即懇求轉(zhuǎn)發(fā)的目標(biāo)組件),以及傳遞Action的ActionForm。Action入口ActionForm出口BookSearchActionI(lǐng)ndex.jspBookSearchFormBookMain。jspB(yǎng)ookDetailActionBookMain.jspBookIdFormBookShow。jspPageCtrlActionBookMain.jspPageIdFormBookMain.jspLoginA(yù)ctionUserLogin.jspLoginFormOrderAddress.jspRegistActionUserRegister.jsp

溫馨提示

  • 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)論