網(wǎng)上書店系統(tǒng)設(shè)計畢業(yè)論文
《網(wǎng)上書店系統(tǒng)設(shè)計畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《網(wǎng)上書店系統(tǒng)設(shè)計畢業(yè)論文(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 xxxx大學畢業(yè)論文 SHANGHAITUNIVERSITY GRADUATION PROJECT (THESIS) 網(wǎng)上書店系統(tǒng) Online BookStore System 學 院 -------------- 專 業(yè) xxx----------- 學 號 ---- 姓 名 ------xxx-------- 導 師 --- 完成日期 201x年x月 目錄 中英文摘要 第一章 JAVA的網(wǎng)絡功能與編程 1-1 J
2、AVA語言簡介 1-2 JAVA語言在網(wǎng)絡上的應用 1-3 JSP的基礎(chǔ)——Servlet 技術(shù) 第二章 Struts概述 2-1 Struts的由來和發(fā)展 2-1-1 MVC簡介 2-2 Struts優(yōu)缺點 3-3 Struts的工作流程 第三章 網(wǎng)上書店詳細設(shè)計 3-1 需求分析 3-2 總體設(shè)計 3-3 功能設(shè)計 3-4 數(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è)務邏輯層各bean功能 3-8 控制處理層 總結(jié) 參考文獻 摘要 JAVA
3、語言是目前Internet上大型的WEB應用程序開發(fā)時使用得最熱門的編程語言,本文描述了JAVA和JSP技術(shù)的特點以及在互聯(lián)網(wǎng)上的使用情況,介紹這兩種技術(shù)的重要編程方法和兩者之關(guān)的聯(lián)系,同時也會應用相關(guān)的Struts框架,并完成一個基于這種技術(shù)的網(wǎng)上書店系統(tǒng)。 【關(guān)鍵字】JAVA, Struts, Servlet, JSP, 網(wǎng)絡編程, 電子商務, 網(wǎng)上書店 Abstract At present JAVA is the hottest programming language for WEB development, This text desc
4、ribed the characteristics of JAVA and JSP technology and the state of operating on Internet, It introduced the relationship between them and the important programming method of the double technology, And also show the Struts technology, And work out an online bookstore system base on this kind of te
5、chnology. Keywords: JAVA, Struts, Servlet, JSP, web program, internet, bookshop 第一章 JAVA的網(wǎng)絡功能與編程 1-1JAVA語言簡介 Java是一種簡單易用、完全面向?qū)ο蟆⒕哂衅脚_無關(guān)性且安全可靠的主要面向Internet的開發(fā)工具。自從1995年正式問世以來,Java的快速發(fā)展已經(jīng)讓整個Web世界發(fā)生了翻天覆地的變化。在早期,Java比較多的用在瀏覽器上,插入到網(wǎng)頁中(即是Java Applet程序),成為最靈活
6、、最強大的網(wǎng)頁多媒體的載體,但由于Java虛擬機相對于個人電腦而言,有占用資源大,安全性相對較差等缺點,Applet逐漸的被后起之秀Flash所替代,但隨著Java Servlet的推出,Java在電子商務方面開始嶄露頭角,最新的JSP(Java Server Page)技術(shù)的推出,更是讓Java成為基于Web的應用程序的首選開發(fā)工具,目前的Java技術(shù)已成為所有大型電子商務項目的必然選擇。 1-2 JAVA語言在網(wǎng)絡上的應用 Java程序可以獲取網(wǎng)絡上結(jié)點的圖象、聲音、HTML文檔及文本等資源,并可以對獲得的資源進行處理。例如Java程序可以每隔一定時間讀取某結(jié)點提供
7、的最新數(shù)據(jù),并以圖表的形式顯示出來。在編程處理上,一般先生成一個URL類型的對象,然后用 Java中相應的方法(method)獲取該對象所代表的資源。 1-3 JSP的基礎(chǔ)——Servlet 技術(shù) Java Servlet是JSP技術(shù)的基礎(chǔ),JSP本身就是預先被編譯成Servlet,然后再運行的,而且大型的Web應用程序的開發(fā)需要Java Servlet和JSP配合才能完成,Servlet這個名稱大概源于Applet,現(xiàn)在國內(nèi)的翻譯方式很多,本文為了避免誤會,本文直接采用Servlet這個名稱而不做任何翻譯,讀者如果愿意,可以稱之為“小服務程序”。Servlet其實和傳
8、統(tǒng)的CGI程序和ISAPI、NSAPI等Web程序開發(fā)工具的作用是相同的,在使用Java Servlet以后,用戶不必再使用效率低下的CGI方式,也不必使用只能在某個固定Web服務器平臺運行的API方式來動態(tài)生成Web頁面。許多Web服務器都支持Servlet,即使不直接支持Servlet的Web服務器也可以通過附加的應用服務器和模塊來支持Servlet。得益于Java的跨平臺的特性,Servlet也是平臺無關(guān)的,實際上,只要符合Java Servlet規(guī)范,Servlet是完全平臺無關(guān)且是Web服務器無關(guān)的。由于Java Servlet內(nèi)部是以線程方式提供服務,不必對于每個請求都啟動一個進程
9、,并且利用多線程機制可以同時為多個請求服務,因此Java Servlet效率非常高。但Java Servlet也不是沒有缺點,和傳統(tǒng)的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用輸出HTML語句來實現(xiàn)動態(tài)網(wǎng)頁的,如果用Java Servlet來開發(fā)整個網(wǎng)站,動態(tài)部分和靜態(tài)頁面的整合過程簡直就是一場噩夢。這就是為什么SUN還要推出Java Server Pages的原因。 第二章 Struts概述 2-1 Struts的由來和發(fā)展 Struts 框架工具是 Apache 基金會 Jakarta 項目中推出的一個子項目。 Struts 在英文中
10、是支架、支撐的意思,這也體現(xiàn)出 Struts 在開發(fā) Web 應用程序過程所起到的重要作用, Struts 為 Web 應用提供了通用的框架,讓開發(fā)人員可以把主要精力集中在如何解決實際業(yè)務問題上,與此同時 Struts 框架也允許開發(fā)人員根據(jù)實際需要進行擴展和定制,從而可以更好的適應用戶的需求。采用 Struts 可以簡化遵循 MVC 設(shè)計模式的 Web 應用的開發(fā)工作,很好地實現(xiàn)代碼重用,使開發(fā)人員從一些繁瑣的工作中解脫出來,快速開發(fā)能夠充分發(fā)揮 JSP/Servlet 優(yōu)點、并具有強可擴展性的 Web 應用??傊?, Struts 的出現(xiàn)使得 Web 應用的開發(fā)過程大大簡化,從而能夠縮短開發(fā)
11、周期、提高開發(fā)效率。 Struts 架構(gòu)一經(jīng)推出,即受到 Java 開發(fā)群體的廣泛重視,從 2004 年開始逐漸升溫,并日漸成為 Java 創(chuàng)建 Web 應用開發(fā)的最流行的框架工具,在目前 Java Web 程序員的招聘要求中,幾乎都提出了對 Struts 的要求,精通 Struts 架構(gòu)已經(jīng)成為 Java Web 程序員必備的技能。 2-1-1 MVC簡介 模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設(shè)計模式,現(xiàn)在已經(jīng)被廣泛的使用。 1、模型(Model) 模型是應用程序的主體部分。模型表示業(yè)務數(shù)據(jù),或者業(yè)務邏輯. 2、視圖(
12、View) 視圖是應用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。 3、控制器(controller) 控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對象狀態(tài)。 MVC 式的出現(xiàn)不僅實現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應用系統(tǒng)的可維護性、可擴展性、可移植性和組件的可復用性 早期的程序中,如果不注意對數(shù)功能和顯示的解耦合,常常會導致程序的復雜及難以維護。很多VB,Delphi等RAD程序都有這種問題。甚至現(xiàn)在的C#,Java有時候也會出現(xiàn)把業(yè)務邏輯寫在顯示模塊中的現(xiàn)象 管MVC設(shè)計模式很早就提
13、出,但在Web項目的開發(fā)中引入MVC卻是步履維艱。主要原因:一是在早期的Web項目的開發(fā)中,程序語言和HTML的分離一直難以實現(xiàn)。CGI程序以字符串輸出的形式動態(tài)地生成HTML內(nèi)容。后來隨著腳本語言的出現(xiàn),前面的方式又被倒了過來,改成將腳本語言書寫的程序嵌入在HTML內(nèi)容中。這兩種方式有一個相同的不足之處即它們總是無法將程序語言和HTML分離。二是腳本語言的功能相對較弱,缺乏支持MVC設(shè)計模式的一些必要的技術(shù)基礎(chǔ)。直到基于J2EE的JSP Model 2問世時才得以改觀。它用JSP技術(shù)實現(xiàn)視圖的功能,用Servlet技術(shù)實現(xiàn)控制器的功能,用JavaBean技術(shù)實現(xiàn)模型的功能 JSP M
14、odel 1 與 JSP Model 2 SUN在JSP出現(xiàn)早期制定了兩種規(guī)范,稱為Model1和Model2。雖然Model2在一定程度上實現(xiàn)了MVC,但是它的應用用并不盡如人意 JSP Model 1 JSP Model 2 model2 容易使系統(tǒng)出現(xiàn)多個Controller,并且對頁面導航的處理比較復雜 有些人覺得model2仍不夠好,于是Craig R. McClanahan 2000年5月 提交了一個WEB framework給Java Community.這就是后來的Struts. 2001年7月,Struts1.0,正式發(fā)
15、布。該項目也成為了Apache Jakarta的子項目之一 Struts 質(zhì)上就是在Model2的基礎(chǔ)上實現(xiàn)的一個MVC架構(gòu)。它只有一個中心控制器,他采用XML定制轉(zhuǎn)向的URL。采用Action來處理邏輯 2-2 Struts優(yōu)缺點 優(yōu)點: Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優(yōu)點。使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制。 除此之外,Struts的優(yōu)點主要集中體現(xiàn)在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JS
16、P自帶的常用標記外,很少開發(fā)自己的標記,或許Struts是一個很好的起點。 關(guān)于頁面導航,我認為那將是今后的一個發(fā)展方向,事實上,這樣做,使系統(tǒng)的脈絡更加清晰。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護有著莫大的好處。尤其是當另一批開發(fā)者接手這個項目時,這種優(yōu)勢體現(xiàn)得更加明顯。 缺點: Taglib是Struts的一大優(yōu)勢,但對于初學者而言,卻需要一個持續(xù)學習的過程,甚至還會打亂你網(wǎng)頁編寫的習慣,但是,當你習慣了它時,你會覺得它真的很棒。 Struts將MVC的Controller一分為三,在獲得結(jié)構(gòu)更加清晰的同時,也增加了系統(tǒng)的復雜度。 Strut
17、s從產(chǎn)生到現(xiàn)在還不到半年,但已逐步越來越多運用于商業(yè)軟件。雖然它現(xiàn)在還有不少缺點,但它是一種非常優(yōu)秀的J2EEMVC實現(xiàn)方式。 3-3 Struts的工作流程 下圖是Struts的工作流程,所有的請求都提交給ActionServlet來處理。 ActionServlet是一個FrontController,它是一個標準的Servlet,它將request轉(zhuǎn)發(fā)給RequestProcessor來處理, ActionMapping是ActionConfig的子類,實質(zhì)上是對struts-config.xml的一個映射,從中可以取得所有的配置信息 Req
18、uestProcessor根據(jù)提交過來的url,如*.do,從ActionMapping 中得到相應的ActionForn和Action。然后將request的參數(shù)對應到ActionForm中,進行form驗證。如果驗證通過則調(diào)用Action的execute()方法來執(zhí)行Action,最終返回ActionFoward。 ActionFoward是對mapping中一個foward的包裝,對應于一個url ActionForm使用了ViewHelper模式,是對HTML中form的一個封裝。其中包含有validate方法,用于驗證form數(shù)據(jù)的有效性。ActionForm
19、是一個符合JavaBean規(guī)范的類,所有的屬性都應滿足get和set對應。對于一些復雜的系統(tǒng),還可以采用DynaActionForm來構(gòu)造動態(tài)的Form,即通過預制參數(shù)來生成Form。這樣可以更靈活的擴展程序。 ActionErrors是對錯誤信息的包裝,一旦在執(zhí)行action或者form.validate中出現(xiàn)異常,即可產(chǎn)生一個ActionError并最終加入到ActionErrors。在Form驗證的過程中,如果有Error發(fā)生,則會將頁面重新導向至輸入頁,并提示錯誤。 Action是用于執(zhí)行業(yè)務邏輯的RequsestHandler。每個Action都只建立一個in
20、stance。Action不是線程安全的,所以不應該在Action中訪問特定資源。一般來說,應改使用 Business Delegate 模式來對Business tier進行訪問以解除耦合。 Struts提供了多種Action供選擇使用。普通的Action只能通過調(diào)用execute執(zhí)行一項任務,而DispatchAction可以根據(jù)配置參數(shù)執(zhí)行,而不是僅進入execute()函數(shù),這樣可以執(zhí)行多種任務。如insert,update等。LookupDispatchAction可以根據(jù)提交表單按鈕的名稱來執(zhí)行函數(shù)。 第三章 網(wǎng)上書店詳細設(shè)計 3-1 需求分析
21、 網(wǎng)上書店系統(tǒng)主要是實現(xiàn)網(wǎng)上選書、購書、產(chǎn)生訂單等功能的系統(tǒng)。一個典型的網(wǎng)上商城一般都需要實現(xiàn)商品信息的動態(tài)提示、購物車管理、客戶信息注冊登錄管理、訂單處理等模塊。 根據(jù)網(wǎng)上書店的基本需求,本系統(tǒng)需要完成的具體任務如下: A. 書圖查詢: 當客戶進入網(wǎng)上書店時,應該在主頁面中分類顯示最新的書目信息,以供客戶選擇所需圖書,同時也應該提供按照圖書名稱,或者作者信息快速查詢所需書目信息的功能。 B. 購物車管理:當客戶選擇購買某圖書產(chǎn)品時,應該能夠?qū)獔D書信息,如:價格、數(shù)量記錄到對應的購物車中,并允許客戶返回書目查詢頁面,選擇其他商品,并添加到購物車中,當對應的購物訂單生成后
22、,應該能夠自動清除以生成訂單的購物車中的信息。 C. 訂單處理:對應客戶購買圖書商品信息的需求,在確定了所購圖書商品的價格、數(shù)量等信息后,提示用戶選擇對應的送貨方式及付款方式,最終生成對應的訂單記錄,以便于網(wǎng)站配貨人員依據(jù)訂單信息進行后續(xù)的出貨、送貨的處理。 D. 會員注冊:為了能夠?qū)崿F(xiàn)圖書商品的購買,需要管理客戶相關(guān)的聯(lián)系方式、送貨地點等相關(guān)的信息。 3-2 總體設(shè)計 系統(tǒng)組成 下表中給出了構(gòu)成網(wǎng)上書店系統(tǒng)的各個組件,通過下表,可以從宏觀上了解各個組件的功能。 用戶表示層(視圖) 控制處理層(控制器) 業(yè)務邏輯層(模型) bookMain.jsp ActionForm
23、 Action DB BookShow.jsp LoginForm FirstAction Constants BookShopCart.jsp UserForm BookDetailAction Book OrderAddress.jsp BookIdForm BookSearchAction BookCat OrderConfirm.jsp BookCatIdForm LoginAction Order UserLogin.jsp PageIdForm BookBuyAction ShopCart UserRegister.jsp BookS
24、hopCartFrom AddrConfirmAction User OrderHistory.jsp BookSearchForm ClearShopCartAction Wrong.jsp DeliveryForm OrderDelAction OrderIdForm OrderHistoryAction PageCtrlAction RegistAction UpdateShopCartAction 3-3 功能設(shè)計 1.圖書信息管理 該模塊實現(xiàn)圖書書目信息的分類顯示,也是提供圖書信息依據(jù)書名及
25、作者信息快速搜索的功能。此外,在用戶選擇了對應書目信息后,還可以顯示出有關(guān)該圖書的詳細信息,以便于客戶了解所購商品。 2.購物車管理 用于維護每一個進入網(wǎng)上書店的客戶對應的購物車。即將客戶所選購的圖書商品信息記錄到對應的購物車中,以便于到收銀臺進行結(jié)賬處理。 3.會員注冊 實現(xiàn)網(wǎng)上書店客戶信息的注冊、及身份驗證。由于目前網(wǎng)上商城普遍采用的方式為送貨上門或者郵寄,因此需要收集與客戶相關(guān)的聯(lián)系方式、通信地址等信息。 4.訂單處理 根據(jù)客戶購物車中的信息,以及客戶所選擇的送貨方式和付款方式,連同客戶對應的個人信息生成訂單,以便于后續(xù)進行送貨處理。 3-4 數(shù)據(jù)庫設(shè)計與實現(xiàn) 3
26、-4-1 數(shù)據(jù)庫的需求分析 依據(jù)網(wǎng)上書店的處理需求,對就數(shù)據(jù)表的設(shè)計及功能如下。 A. 圖書基本信息表:存放網(wǎng)上書店所銷售圖書的基本信息。 B. 圖書分類基本信息表:存放網(wǎng)上書店所提供圖書分類的信息。 C. 客戶基本信息表:存放書店客戶的基本信息。 D. 訂單信息表:存放與客戶相關(guān)的訂單的基本信息。 E. 訂單條目詳細信息表:存放訂單中詳細條目的基本信息。 3-4-2 創(chuàng)建數(shù)據(jù)表的腳本 代碼如下: ____________________________________________________________________________ //圖書分類
27、基本信息表 DROP TABLE bookcat CASCADE CONSTRAINTS; CREATE TABLE bookcat( id NUMBER PRIMARY KEY, catname VARCHAR2 (40) NOT NULL ); //圖書基本信息表 DROP TABLE book CASCADE CONSTRAINTS; CREATE TABLE book( id NUMBER PRIMARY KEY, catid NUMBER NOT NULL REFERENCES bookcat(
28、id) ON DELETE CASCADE, name VARCHAR2 (50) NOT NULL, price NUMBER NOT NULL, saleprice NUMBER NOT NULL, descript VARCHAR2 (500) NOT NULL, author VARCHAR2 (50) NOT NULL, contents VARCHAR2 (2000) NULL, image VARCHAR2 (50) NULL ); //客戶基本信息表 DROP TABLE storeuser
29、 CASCADE CONSTRAINTS; CREATE TABLE storeuser( username VARCHAR2 (20) PRIMARY KEY, password VARCHAR2 (20) NOT NULL, name VARCHAR2 (20) NOT NULL, tel VARCHAR2 (20) NOT NULL, address VARCHAR2 (100) NOT NULL, email VARCHAR2 (50) NULL ); //訂單信息表 DROP TABLE orders CASCADE CO
30、NSTRAINTS; CREATE TABLE orders( id NUMBER PRIMARY KEY, username VARCHAR2 (20) NOT NULL REFERENCES storeuser(username) ON DELETE CASCADE, time DATE NOT NULL, delivery VARCHAR2 (20) NOT NULL, payment VARCHAR2 (20) NOT NULL ); //訂單條目詳細信息表 DROP TABLE orderdetai
31、l CASCADE CONSTRAINTS; CREATE TABLE orderdetail( orderid NUMBER NOT NULL REFERENCES orders(id) ON DELETE CASCADE, bookid NUMBER NOT NULL REFERENCES book(id) ON DELETE CASCADE, count NUMBER NOT NULL, price NUMBER NOT NULL ); ________________________________
32、_____________________________________3-5 網(wǎng)上書店基本流程 網(wǎng)上書店在運行過程中頁面的基本流程如下圖: bookMain.jsp 圖書查詢 bookShow.jsp 圖書詳情顯示 bookShopCart.jsp 購物車管理 userLogin.jsp 會員登錄 userRegister.jsp 新會員注冊 orderAddress.jsp 會員地址確認 orderConfirm.jsp 訂單確認 orderHistory.j
33、sp 歷史訂單查詢 3-6 網(wǎng)上書店各頁面功能 3-6-1 網(wǎng)上書店首頁bookMain.jsp詳細功能及描述 l 獲取圖書分類信息以及圖書基本信息集合 l 循環(huán)顯示圖書分類信息 l 提交顯示指定分類圖書信息的請求,同時傳遞對應圖書分類編號 l 提交書目搜索請求及搜索條件的表單 l 提交搜索關(guān)鍵字的表單元素 l 選擇搜索條件的表單元素 l 顯示圖書記錄總數(shù)、當前頁面編號以及總頁數(shù) l 循環(huán)顯示對應圖書書目信息 l 顯示圖書名稱、價格、銷售價格、作者信息 l 提交顯示圖書詳細信息請求的超鏈接 l 提交分頁顯示請求的超鏈接,同時提交指定頁面編
34、號 在本頁面中,當單擊選擇書目分類時,將提交“bookSearch.do?bookCatId=<%=bookCat.getId()%mode=1”請求,以便于獲取對應圖書分類的相關(guān)信息。當選擇了查詢依據(jù),并且輸入了對應關(guān)鍵字,單擊“搜索”按鈕時,將提交“bookSearch.do”請求,同時提交查詢條件,進行后續(xù)書目信息搜索的處理。當在書目列表中單擊查看詳細信息請求時,將發(fā)出“bookDetail.do”請求,同時傳遞對應圖書記錄的編號,以獲取指定圖書更加詳細的信息。此外,在單擊“首頁”、“上頁”、“下頁”超鏈接后,將分別提交“bookPage.dopageId=<%=0%>”、“boo
35、kPage.dopageId=<%=schSta.getPageId()-1%>”、“bookPage.dopageId=<%= schSta.getPageId()+1%>”等請求,以實現(xiàn)頁面的跳轉(zhuǎn) 3-6-2 顯示圖書詳細信息bookShow.jsp頁面詳細功能及描述 l 依據(jù)圖書記錄編號獲取待顯示詳細信息的圖書類型的對象 l 分別顯示該圖書對象的詳細信息 l 顯示圖書封面圖片、名稱、詳細介紹、價格、銷售價格 l 單擊“購買”按鈕后,將提交放入購物車的請求 l 顯示圖書目錄 本頁面是在控制器響應了網(wǎng)上書店主頁提交的查看圖書詳細信息請求,即“bookDea
36、tial.do”請求后,跳轉(zhuǎn)到的頁面。在該頁面中將獲取到的指定圖書詳細信息顯示出來,同時如果用戶單擊“購買”按鈕,將提交“bookBuy.do?bookId=<%=book.getId()%>”請求,進行后續(xù)放入購物車的處理。 3-6-3顯示購物車信息bookShopCart.jsp頁面詳細功能及描述 l 獲取該用戶購物車中信息的集合 l 提交更新購物車請求的表單 l 循環(huán)顯示購物車中的每一條購物記錄信息 l 設(shè)置購買數(shù)量的文本框 l 顯示圖書銷售價格 l 顯示圖書總價 l 從購物車中移除購買記錄信息 l 更新訂單按鈕 l 提交繼續(xù)購書請求的超鏈接 l 提交清空購物
37、車請求的超鏈接 l 提交結(jié)算付款請求的超鏈接 本頁面是在用戶選擇購買某種圖書商品后,進入的頁面。在該頁面中將顯示該用戶購物車中現(xiàn)有的所有購買需求記錄。同時提供更新購物車的操作界面,例如,可以輸入購買數(shù)量或者選擇刪除購買記錄。單擊“更新訂單”按鈕后,將提交“updateShopCart.do”請求,進行更新購物車信息的處理。此外,也可以單擊“繼續(xù)購書”按鈕,提交“bookSearch.do”請求返回網(wǎng)上書店主頁面繼續(xù)購書,或者單擊“清空購物車”按鈕提交“clearShopCart.do”請求。同時,如果用戶確認去收銀臺,則可以單擊“結(jié)算付款”按鈕跳轉(zhuǎn)到“userLogin.jsp
38、”頁面進行用戶登錄。 3-6-4網(wǎng)上書店客戶登錄userLogin.jsp頁面詳細功能及描述 l 提交用戶登錄請求,同時提交登錄用戶信息的表單 l 提交登錄用戶用戶名及密碼的表單元素 l 登錄按鈕 l 提交新用戶注冊請求的超鏈接 本頁面是客戶在購物車頁面單擊“結(jié)算付款”按鈕后跳轉(zhuǎn)過來的頁面,在該頁面中,用戶在表單中輸入用戶名及密碼,單擊“用戶登錄”按鈕后,將提交“l(fā)ogin.do”請求,以便于進行后續(xù)獲取用戶相關(guān)信息的處理,對于沒有用戶身份的新客戶,可以在本頁面中單擊“新用戶注冊”按鈕,跳轉(zhuǎn)到“userRegister.jsp”頁面進行用戶注冊。 3-6-5
39、網(wǎng)上書店客戶注冊userRegister.jsp頁面詳細功能及描述 l 提交新用戶注冊請求,同時提交新用戶注冊信息的表單 l 提交注冊用戶姓名、地址、電子郵件地址、電話、用戶名、密碼以及確認密碼的表單元素 l 注冊按鈕 在本頁面中注冊用戶可以在表單中輸入對應的注冊信息,在單擊“注冊”按鈕后,將提交“regist.do”請求,同時提交新用戶的相關(guān)注冊信息,以便于進行后續(xù)新用戶注冊的處理。 3-6-6 選擇送貨方式及付款方式orderAddress.jsp頁面詳細功能及描述 l 獲取客戶信息 l 提交選擇送貨方式及付款方式的表單 l 顯示客戶信息、姓名、地址、電話、
40、送貨方式、付款方式 本頁面是在用戶登錄通過后,跳轉(zhuǎn)到的頁面,在該頁面中首先獲取對應用戶的客戶資料,同時提供送貨方式以及付款方式的選擇,在用戶單擊“確認”按鈕后,將提交“addrConfirm.do”請求,生成生續(xù)完整的訂單信息。 3-6-7 確認訂單信息orderConfirm.jsp頁面詳細功能及描述 l 獲取購物車信息集合 l 獲取訂單信息、客戶信息 l 顯示客戶姓名、地址、電話 l 顯示購物車中的信息 l 顯示所購圖書書名、數(shù)量、總價 l 顯示整張訂單總價 l 顯示訂單信息中的送貨方式信息 l 顯示付款方式信息 l 顯示訂單編號 l 提交繼續(xù)購書的
41、請求 l 提交查看該用戶所有訂單的請求 本頁面中將全面顯示該客戶本次購物生成的詳細訂單信息,同時如果單擊“繼續(xù)購書”按鈕將提交“bookSearch.do”請求返回網(wǎng)上書店主頁面,如果單擊“查看訂單”按鈕將提交“orderHistory.do”,跳轉(zhuǎn)到“orderHistory.jsp”頁面。 3-6-8 顯示客戶所有訂單信息orderHistory.jsp頁面詳細功能及描述 l 獲取該用戶所有歷史訂單信息 l 顯示訂單信息信息列表 l 顯示訂單編號、時間、總價 l 提交取消訂單請求的超鏈接 l 提交返回購書請求的超鏈接 本頁面將顯示與當前用戶相關(guān)的所有訂
42、單信息。同時用戶可以單擊“取消此單”超鏈接提交“delOrder.do?orderId=<%=order.getId()%>”請求刪除該訂單信息,此外也可以單擊“返回購書”按鈕提交“bookSearch.do”請求跳轉(zhuǎn)到網(wǎng)上書店主頁面。 3-7 業(yè)務邏輯層各bean功能 在本系統(tǒng)的業(yè)務邏輯層中分別完成了對圖書信息、圖書分類信息、購物車信息、訂單信息以及客戶信息等類型對象的保存和處理。所有文件包含在WEB-INF\classes目錄中 3-7-1 封裝了數(shù)據(jù)庫相關(guān)操作的bean(DB.java) 采用了Struts架構(gòu)下提供的數(shù)據(jù)庫連接池建立與數(shù)據(jù)庫的連接,在該bean
43、中通過構(gòu)造方法建立與數(shù)據(jù)庫的連接,并提供了相應的方法完成數(shù)據(jù)庫中的查詢、更新等操作,同時也提供了關(guān)閉數(shù)據(jù)庫連接的方法,以便于及時釋放資源。 3-7-2 封裝了圖書住處處理的bean(Book.java) 除聲明了與圖書基本數(shù)據(jù)相關(guān)的基本屬性和方法之外,還提供了圖書信息的查詢顯示處理相關(guān)的幾個方法。其中在調(diào)用查詢滿足條件的圖書信息方法時,需要提供查詢的依據(jù),例如,分類、按作者還是按書名,對應關(guān)鍵字等。 3-7-3 封裝了圖書分類信息處理的bean(BookCat.java) 除了聲明了與圖書分類數(shù)據(jù)相關(guān)的基本屬性和方法之外,還提供了與圖書分類信息查詢及顯示處理相關(guān)的幾個方法。
44、 3-7-4 封裝了圖書查詢及顯示條件的bean(SearchStatus.java) 主要封裝了設(shè)置圖書搜索查詢條件相關(guān)的屬性和方法,該程序中的方法將在搜索圖書信息的程序中被調(diào)用。 3-7-5 封裝了購物車信息處理的bean(ShopCart.java) 為了能夠簡化類的定義,考慮到購物車中所需要處理的圖書基本信息與圖書類型對象中封裝的信息相同,只是需要再補充上購買數(shù)量即可,因此在定義該類時繼承了圖書信息類。 3-7-6 封裝了訂單住處處理的bean(Order. java) 除聲明了與訂單中所需要處理的數(shù)據(jù)相關(guān)的基本屬性和方法之外,還提供了與訂單查詢、插入及刪除處理相關(guān)
45、的幾個方法。此外,也提供了計算該訂單所涉及總金額的方法。 3-7-7 封裝了客記信息處理的bean(User.java) 除聲明了與用戶數(shù)據(jù)相關(guān)的基本屬性和方法之外,還提供了與確認用戶身份、獲取用戶相關(guān)信息、插入新用戶信息處理相關(guān)的幾個方法。 3-7-8 常量文件(Constants.java) 3-8 控制處理層 下表是網(wǎng)上書店系統(tǒng)中的Action映射表。該映射決定了Action與其他Web組件之間的關(guān)聯(lián)關(guān)系。作為前后臺之間橋梁,本表中指明了每個Action的入口(即調(diào)用Action的組件)及出口(即請求轉(zhuǎn)發(fā)的目標組件),以及傳遞Acti
46、on的ActionForm。 Action 入口 ActionForm 出口 BookSearchAction Index.jsp BookSearchForm BookMain.jsp BookDetailAction BookMain.jsp BookIdForm BookShow.jsp PageCtrlAction BookMain.jsp PageIdForm BookMain.jsp LoginAction UserLogin.jsp LoginForm OrderAddress.jsp RegistAction UserRegister
47、.jsp UserForm UserLogin.jsp BookBuyAction BookShow.jsp BookIdForm BookShopCart.jsp UpdateShopCartAction BookShopCart.jsp BookShopCartForm BookShopCart.jsp ClearShopCartAction BookShopCart.jsp BookShopCart.jsp AddrConfirmAction OrderAddress.jsp DeliveryForm OrderConfim.jsp OrderHi
48、storyAction OrderConfirm.jsp OrderHistory.jsp OrderDelAction OrderHistory.jsp OrderIdForm OrderHistory.jsp 1.BookSearchAction.java 該程序負責處理查詢顯示滿足條件圖書書目信息時提交的“bookSearch.do”請求 2.PageCtrlAction.java 該程序負責處理分頁顯示圖書書目信息時進行頁面跳轉(zhuǎn)時提交的“bookPage.do”請求。 3.BookDetailAction.Java 該程序負責處理顯示指定圖書編號的對
49、應圖書詳細信息時提交的“bookDetail.do”請求。 4.BookBuyAction.java 該程序負責處理購買圖書時提交的“bookBuy.do”請求。 5.UpdateShopCartAction.java 該程序負責處理修改購物數(shù)量,或者刪除購物記錄時提交的“updateShopCart.do”請求。 6.ClearShopCartAction.java 該程序負責處理從購物車頁面提交的清空購物車時的“clearShopCart.do”請求。 7.LoginAction.java 該程序負責處理從用戶登錄頁面提交的“l(fā)ogin.do”請求。
50、8.RegistAction.java 該程序負責處理從新用戶注冊頁面提交的“regist.do”請求。 9.AddrConfirmAction.java 該程序負責處理從訂單處理頁面提交的選擇送貨方式及付款方式的“addrConfirm.do”請求。 10.OrderHistoryAction.java 該程序負責處理從確認訂單頁面提交查看所有訂單信息的“orderHistory.do”請求。 11.OrderDelAction.java 該程序負責處理從訂單信息顯示頁面選擇“取消訂單”時提交“delOrder.do”請求。
51、 總結(jié) 本文講述了Java/JSP/Struts在WEB應用的一些基本知識,并通過網(wǎng)上書店的程序?qū)SP的運用進行了深化,從本文中可看出JSP與Struts框架結(jié)合的模式,在電子商務上應用十分靈活,不過要真正掌握好它們卻并不是一件容易的事情,在實際應用的WEB開發(fā)中,還有很多關(guān)于安全方面的問題需要考慮。在這里要感謝上海浦東軟件園的培訓部的江瑋老師,他在我論文及設(shè)計的定題以及修改上給予了我很多的支持,對我論文的完成幫助很大。 參考資料: (1)JSP編程技巧/清宏計算機工作室編著. 北京:機械工業(yè)出版社,2001.1 (2)精通JBuilder 3環(huán)境下的JAVA編程/銳思創(chuàng)作室編著. 北京:人民郵電出版社., 2001.1 (3)深入JAVA Servlet 網(wǎng)絡編程. 清華大學出版社 (4)Struts開發(fā)入門與項目實踐. 北京:人民郵電出版社, 2005.8 --------------------------------------------------------完 19
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版必修五《林教頭風雪山神廟》ppt課件
- 人教版《分數(shù)的意義和性質(zhì)》(完美版)課件
- 正比例函數(shù)及性質(zhì)
- 企業(yè)戰(zhàn)略環(huán)境分析
- 前列腺增生3課件
- 煉鐵基礎(chǔ)非高爐煉鐵課件
- 小兒腹瀉小講課分析課件
- 職業(yè)經(jīng)理人的壓力管理課件
- 街道改造PPT方案展示-項目概況案例分析現(xiàn)存建筑質(zhì)量設(shè)計理念課件
- 2022年北師大版小學數(shù)學《小數(shù)目物品平均分》課件
- 作文指導--場面描寫-PPT
- 肺癌診斷和治療的幾個問題
- 一下《王二小》
- 第八章專題八(教育精品)
- 六年級數(shù)學下冊 正負數(shù) 2課件 人教新課標