基于JSP的網(wǎng)上購物系統(tǒng)的設計與實現(xiàn)-計算機畢業(yè)設計_第1頁
基于JSP的網(wǎng)上購物系統(tǒng)的設計與實現(xiàn)-計算機畢業(yè)設計_第2頁
基于JSP的網(wǎng)上購物系統(tǒng)的設計與實現(xiàn)-計算機畢業(yè)設計_第3頁
基于JSP的網(wǎng)上購物系統(tǒng)的設計與實現(xiàn)-計算機畢業(yè)設計_第4頁
基于JSP的網(wǎng)上購物系統(tǒng)的設計與實現(xiàn)-計算機畢業(yè)設計_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

畢業(yè)設計(論文)基于JSP的網(wǎng)上購物系統(tǒng)的設計與實現(xiàn)論文作者姓名:申請學位專業(yè):申請學位類別:論文提交日期:基于JSP的網(wǎng)上購物系統(tǒng)的設計與實現(xiàn)摘要近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進入傳統(tǒng)的流通領域。于是電子商務開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費者展示出一種新穎的購物理念,本購物系統(tǒng)基于B/S模式,實現(xiàn)了當前購物網(wǎng)站的基本功能。本論文就此購物系統(tǒng)進行了詳細全面的論述。系統(tǒng)中用戶的主要功能有:用戶登錄、注冊、商品瀏覽、商品購買、訂單管理以及個人信息管理。管理員的主要功能有:商品管理、用戶管理以及訂單信息管理。全文共分為五個部分,第一部分是介紹相關理論知識;第二部分介紹系統(tǒng)總體設計;第三部分介紹系統(tǒng)具體實現(xiàn)過程;第四部分是測試工作。最后是結論。關鍵詞:電子商務;購物系統(tǒng);JSP;數(shù)據(jù)庫TheDesignandRealizationofshoppingOnlineSystemBasedonJSPAbstractInrecentyears,Internethasbecomethebestchannelforcollectionofinformationandenteredthetraditionalfieldofcirculationwiththerapidrising.E-commercehasbeenpopular,andmoreandmoreonlinestoresareestablishedontheInternet,displayinganewideaofshopping.ThisShoppingsystembasedonB/Smode,realizethebasefunctionofthecurrentShoppingsite.ThispaperintroducestheShoppingsystemindetail.Themainfunctionsofpeopleinsystemincludelogin,registration,viewandpurchasingofgoods,managementoftheOrdersandcustomers.Themainfunctionsofadministratorincludemanagementofthegoods,usersandOrders.Therearefivesectionsinthispaper,thefirstisintroductionofRelatedtheoreticalknowledge;thesecondisintroductionofthedesignofsystem;thethirdisintroductionoftheprocessofrealization;theforthistest;andtheconclusionintheend.Keywords:E-commerce;ShoppingSystem;JSP;Database目錄論文總頁數(shù):22頁1. 引言 1 網(wǎng)上購物系統(tǒng)的發(fā)展 1 網(wǎng)上購物的現(xiàn)狀 1 網(wǎng)上購物系統(tǒng)的構建 12. 相關理論基礎 2 JSP技術 2 JSP的簡介 2 JSP的優(yōu)點 2 JSP的工作原理 2 數(shù)據(jù)庫及相關技術簡介 3 SQL語言簡介 3 MicrosoftSQLServer簡介 3 JAVA技術簡介 4 TOMCAT簡介 43. 系統(tǒng)總體設計 4 系統(tǒng)設計 4 系統(tǒng)功能分析 4 系統(tǒng)體系結構 5 系統(tǒng)流程 6 數(shù)據(jù)庫設計 6 數(shù)據(jù)庫需求分析 6 數(shù)據(jù)庫的邏輯結構分析 7 數(shù)據(jù)庫表的設計 7 數(shù)據(jù)庫的連接 84. 具體設計分析 9 系統(tǒng)首頁 9 具體模塊實現(xiàn) 9 商品查看 9 購物車 11 訂單管理 12 用戶個人信息管理 13 用戶控件 16 商品管理 16 管理用戶 175. 系統(tǒng)測試 18 前臺測試 18 后臺測試 19結論 20參考文獻 20致謝 21聲明 22引言網(wǎng)上購物系統(tǒng)的發(fā)展近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進入傳統(tǒng)的流通領域。于是電子商務開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費者展示出一種新穎的購物理念。網(wǎng)上訂購系統(tǒng)作為B2B,B2C,C2C電子商務的前端商務平臺,在其商務活動全過程中起著舉足輕重的作用。本文旨在討論如何建設B2C的網(wǎng)上購物系統(tǒng)。網(wǎng)上購物是一種具有交互功能的商業(yè)信息系統(tǒng)。它向用戶提供靜態(tài)和動態(tài)兩類信息資源。所謂靜態(tài)信息是指那些比經(jīng)常變動或更新的資源,如公司簡介、管理規(guī)范和公司制度等等;動態(tài)信息是指隨時變化的信息,如商品報價,會議安排和培訓信息等。網(wǎng)上購物系統(tǒng)具有強大的交互功能,可使商家和用戶方便的傳遞信息,完成電子貿(mào)易或EDI交易。這種全新的交易方式實現(xiàn)了公司間文檔與資金的無紙化交換。網(wǎng)上購物的現(xiàn)狀在美、日等信息化程度較高的國家和地區(qū),網(wǎng)絡商店發(fā)展速度迅猛,美國的世界級超一流的零售商,如沃爾瑪凱瑪特,家庭倉儲、科羅格、J.C培尼等紛紛擠身于網(wǎng)絡經(jīng)商的行列。調(diào)查表明:美國的家庭已越來越習慣于在家中從網(wǎng)上購物。在我國,網(wǎng)上購物從無到有也不過短短幾年時間。我國第一家網(wǎng)上購物發(fā)生在1996年,燕莎友誼商場首次通過網(wǎng)上商城售出一個景泰藍,雖然貨款的支付不是在網(wǎng)上進行的,但這畢竟為我國零售業(yè)奏出了網(wǎng)上購物的先聲。根據(jù)CNNIC的統(tǒng)計結果,截止2006中國有互聯(lián)網(wǎng)用戶6962萬人,而又有40.7%以上的網(wǎng)民在過去的一年里有過網(wǎng)上購物經(jīng)歷,并且這一數(shù)字還在以17%左右的速度增長,這說明在中國發(fā)展網(wǎng)上購物具有良好的群眾基礎,網(wǎng)上購物方式日趨被大家所接受。網(wǎng)上購物系統(tǒng)的構建現(xiàn)在流行的網(wǎng)上購物系統(tǒng)不僅要有漂亮的網(wǎng)頁,更要有嚴謹?shù)囊?guī)劃。每一個細小的環(huán)節(jié)都很重要。這樣才能使得在電子交易時避免不必要錯誤發(fā)生。我將使用HTML、JSP等技術來編輯網(wǎng)頁,傳統(tǒng)的管理信息系統(tǒng)的信息獲取方法是由專業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的數(shù)據(jù)庫中,這種方法在數(shù)據(jù)量不大時有很多的應用場合。當數(shù)據(jù)量比較大,并且有較強的專業(yè)性時,錄入的費用和出錯的可能性都相應上升。本系統(tǒng)通過運用JSP技術把數(shù)據(jù)庫和動態(tài)網(wǎng)頁連接,得出錯和成本都相應的降低。本文在實際應用開發(fā)中解決方案是建立網(wǎng)站,以及自己的數(shù)據(jù)庫,使得所需商品信息可以及時的保存、更新,以更好的及時了解商品買賣的情況。相關理論基礎JSP技術JSP的簡介JSP是JAVASERVERPAGES的縮寫,由SUN公司倡導,于1999年推出,正日益成為開發(fā)WEB動態(tài)網(wǎng)站的重要而快速有效的開發(fā)技術。JSP充分利用了JAVA技術的優(yōu)勢,具有極強的擴展能力和良好的收縮性,與開發(fā)平臺無關,這源于JAVA的“一次編寫,到處運行”的特點,同時也是一項安全的技術。它具有良好的動態(tài)頁面與靜態(tài)頁面分離的能力,編譯后運行,因而正逐漸成為internet開發(fā)的主流技術。JSP的優(yōu)點(1)對于用戶界面的更新,其實就是由WebServer進行的,所以給人的感覺更新很快。(2)所有的應用都是基于服務器的,所以它們可以時刻保持最新版本。(3)客戶端的接口不是很繁瑣,對于各種應用易于部署、維護和修改。JSP的工作原理在一個JSP文件第一次被請求時,JSP引擎把該JSP文件轉換成為一個servlet。而這個引擎本身也是一個servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。JSP引擎先把該JSP文件轉換成一個Java源文件,在轉換時如果發(fā)現(xiàn)jsp文件有任何語法錯誤,轉換過程將中斷,并向服務端和客戶端輸出出錯信息;如果轉換成功,JSP引擎用javac把該Java源文件編譯成相應的class文件。然后創(chuàng)建一個該SERVLET的實例,該SERVLET的jspInit()方法被執(zhí)行,jspInit()方法在servlet的生命周期中只被執(zhí)行一次。然后jspService()方法被調(diào)用來處理客戶端的請求。對每一個請求,JSP引擎創(chuàng)建一個新的線程來處理該請求。如果有servlet從內(nèi)存中移去。當這種情況發(fā)生時jspDestroy()方法首先被調(diào)用,然后servlet實例便被標記加入"垃圾收集"處理。jspInit()及j多個客戶端同時請求該JSP文件,則JSP引擎會創(chuàng)建多個線程。每個客戶端請求對應一個線程。以多線程方式執(zhí)行可大大降低對系統(tǒng)的資源需求,提高系統(tǒng)的并發(fā)量及響應時間.但應該注意多線程的編程限制,由于該servlet始終駐于內(nèi)存,所以響應是非??斓?。如果.jsp文件被修改了,服務器將根據(jù)設置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結果取代內(nèi)存中的servlet,并繼續(xù)上述處理過程。雖然JSP效率很高,但在第一次調(diào)用時由于需要轉換和編譯而有一些輕微的延遲。此外,如果在任何時候如果由于系統(tǒng)資源不足的原因,JSP引擎將以某種不確定的方式將spDestory()格式如下:可在jspInit()中進行一些初始化工作,如建立與數(shù)據(jù)庫的連接,或建立網(wǎng)絡連接,從配置文件中取一些參數(shù)等,在jspDestory()中釋放相應的資源。數(shù)據(jù)庫及相關技術簡介SQL語言簡介SQL是英文StructuredQueryLanguage的縮寫,意思為結構化查詢語言。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。按照ANSI(美國國家標準協(xié)會)的規(guī)定,SQL被作為關系型數(shù)據(jù)庫管理系統(tǒng)的標準語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關系型數(shù)據(jù)庫管理系統(tǒng),如Oracle、Sybase、MicrosoftSQLServer、Access等都采用了SQL語言標準。雖然很多數(shù)據(jù)庫都對SQL語句進行了再開發(fā)和擴展,但是包括Select、Insert、Update、Delete、Create以及Drop在內(nèi)的標準的SQL命令仍然可以被用來完成幾乎所有的數(shù)據(jù)庫操作。在眾多的SQL命令中,select語句應該算是使用最頻繁的。select語句主要被用來對數(shù)據(jù)庫進行查詢并返回符合用戶查詢標準的結果數(shù)據(jù)。select語句中位于select關鍵詞之后的列名用來決定哪些列將作為查詢結果返回。用戶可以按照自己的需要選擇任意列,還可以使用通配符“*”來設定返回表格中的所有列。select語句中位于from關鍵詞之后的表格名稱用來決定將要進行查詢操作的目標表格。除了上面所提到的運算符外,LIKE運算符在where條件從句中也非常重要。LIKE運算符的功能非常強大,通過使用LIKE運算符可以設定只選擇與用戶規(guī)定格式相同的記錄。MicrosoftSQLServer簡介SQLServer2000是建立在SQLServer7.0在可伸縮性、可用性、可管理性和數(shù)據(jù)倉庫成功的基礎上,并且引入了針對電子商務的重要新功能。在高性能和企業(yè)級可伸縮性領域,SQLServer2000設計成利用Windows2000對更多處理器、更大的系統(tǒng)內(nèi)存的支持,最終達到支持64位硬件平臺。在不斷提升可用性的努力過程中,SQLServer2000采用Windows2000四路群集,提供了大大改進的群集支持。SQLServer7.0已經(jīng)在可管理性和易用性方面在行業(yè)內(nèi)領先,SQLServer2000通過與Windows2000活動目錄緊密結合進一步改進了這些功能。而且,SQLServer2000還包含對現(xiàn)有管理工具和實用程序的重大改進,并引入更具自我調(diào)節(jié)和自我管理的引擎功能。SQLServer2000按照設計可以為部署和維護強大的、易于管理、支持商務活動的Web站點提供最好的性能,這些站點可以從事商家和商家之間或商家與客戶之間的交易。在尋求一個支持您的電子商務解決方案的數(shù)據(jù)庫時,需要考慮的項目包括:可用性、性能、可管理性和價格。JAVA技術簡介JSP程序開發(fā)就離不開JAVA語言,這里簡單介紹下JAVA語言的特點:Java是一種跨平臺,適合于分布式計算環(huán)境的面向?qū)ο缶幊陶Z言。具體來說,它具有如下特性:(1)簡單性、面向?qū)ο蟆#?)分布式、解釋型。(3)可靠、安全、平臺無關。(4)可移植、高性能、多線程、動態(tài)性等。TOMCAT簡介Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性。本系統(tǒng)采用tomcat作為服務器,在tomcat5.0環(huán)境下對系統(tǒng)進行測試。系統(tǒng)總體設計系統(tǒng)設計系統(tǒng)功能分析一個典型的B2C電子商務網(wǎng)上訂購系統(tǒng)主要功能有:(1)為客戶提供24小時方便快捷的在線訂購服務。(2)商品信息的維護與管理,包括價格的調(diào)整、現(xiàn)有商品信息的修改、新商品信息的加入、過時商品信息的刪除等。(3)高效的商品數(shù)據(jù)方案,對商品信息進行科學、靈活地分類、存儲,方便客戶迅速從少則幾萬,多則幾十萬甚至上百萬種商品中找出自己所需商品。(4)強大、方便、快捷的查詢功能。提供關鍵字查詢(如:查找所有商品)。(5)訂單號模塊所謂訂單號模塊,就是客戶購買完商品后,系統(tǒng)自動分配一個購物號碼給客戶,以方便客戶隨時查詢賬單處理情況。了解現(xiàn)在貨物的狀態(tài)。(6)訂單管理。為分銷商的EPR系統(tǒng)提供數(shù)據(jù)接口。管理員可以查看歷史記錄、訂單狀態(tài),并且能夠在最短的時間內(nèi)通知用戶。系統(tǒng)體系結構圖3-1系統(tǒng)功能模塊圖根據(jù)體系結構可將系統(tǒng)分為用戶和管理兩個角色:(1)用戶:用戶通過注冊以后成為合法登錄用戶。登錄以后可以查看修改個人信息在線購買商品查看定單狀態(tài)。(2)管理員:系統(tǒng)管理員可以管理整個系統(tǒng),包括查看用戶定單并修改相應信息查看用戶信息,對不信任用戶也可以對他進行刪除。查看商品信息,可以刪除不需要的商品。添加商品信息。

系統(tǒng)流程開始是否登錄開始是否登錄是否管理員瀏覽普通頁面管理頁面用戶頁面管理用戶管理商品管理定單個人信息管理購物車管理在線購物NYYN退出系統(tǒng)數(shù)據(jù)庫設計數(shù)據(jù)庫需求分析(1)商品數(shù)據(jù)的準備。首先要搜集分銷商的所有商品數(shù)據(jù)。這些商品數(shù)據(jù)可以分為三類:紙面記錄、電子數(shù)據(jù)(XML、Access、Excel等文件)、網(wǎng)上數(shù)據(jù)。無論對于哪一種數(shù)據(jù),都要對其進行檢查,修正有問題的數(shù)據(jù),刪除重復和過期的記錄。在檢查的同時,還要對這些數(shù)據(jù)進行分析,為制定商品目錄方案做準備。(2)商品數(shù)據(jù)方案的制定。商品數(shù)據(jù)方案制定的目的在于:①對商品進行科學、靈活地分類,方便客戶迅速從少則幾萬,多則幾十萬甚至上百萬種商品中找出所需商品。②使系統(tǒng)支持強大、方便、快捷的查詢功能,實現(xiàn)模糊查詢和智能查詢。③高效的商品數(shù)據(jù)方案能提高數(shù)據(jù)庫性能,提高網(wǎng)頁瀏覽速度。(3)客戶信息表的制定。客戶信息表內(nèi)保存著在線商店中所有客戶個人所擁有的個人信息和資料,是在線商店的后臺管理人員進行商品銷售的設計規(guī)劃和進行決策的依據(jù)和參考??蛻鬒D則是客戶個人身份證明的依據(jù)。數(shù)據(jù)庫的邏輯結構分析對于系統(tǒng)用戶信息數(shù)據(jù)庫,有以下數(shù)據(jù)項和數(shù)據(jù)結構:用戶信息:用戶ID(自動編號)、用戶姓名、號碼、Email、地址、。對于系統(tǒng)的商品信息系統(tǒng),有以下數(shù)據(jù)項和數(shù)據(jù)結構:商品記錄信息:商品的ID(自動編號)、商品名稱、商品單價、商品數(shù)量、商品所屬類別。而網(wǎng)上購物系統(tǒng)就是基于以上各個數(shù)據(jù)庫的連接和綜合,把各個獨立的數(shù)據(jù)庫通過內(nèi)在的關聯(lián)性統(tǒng)一到一個主頁面里,從而方便客戶的訪問和購買,實現(xiàn)了一對一的交互。用戶在購買商品前可以先看看商品目錄,看看有沒自己需要的商品,在商品的目錄里有各個商品的具體的介紹,比如說商品的名稱,數(shù)量,價格等,用戶在看好自己的商品后,在商品的搜索中,你可以選擇你所需的商品,用戶在選擇自己的商品時,系統(tǒng)則連接到后臺關于此商品信息的數(shù)據(jù)庫中,找到適合客戶需求的信息??蛻魧⑦x購的商品放入系統(tǒng)所提供的購物籃里,此時顧客可以繼續(xù)選購另外的商品,或者刪除原先購買的商品,并可對商品進行名稱和數(shù)量上的修改和添加。點擊“繼續(xù)購買”,重復以上進行的購買活動。直到顧客滿意。購物結束后,進行提交,點擊“提交”,完成購物。數(shù)據(jù)庫表的設計分別建立以下的表以滿足需要:本系統(tǒng)需要建立4個數(shù)據(jù)表,他們分別是:管理員表(my_goodsadminuser):存放管理員用戶名,管理員密碼信息。用戶表(my_users):存放用戶編號,用戶名,用戶密碼,真實姓名,性別,,email等信息。商品信息表(my_goods):存放商品編號,商品名,銷售員,類別,提供商,價格以及數(shù)量等信息。定單表(my_indentlist):存放定單編號,用戶,總價,是否付款,是否發(fā)貨,用戶備注等信息。各表具體信息見下圖:表3-1my_goodsadminuser表中字段字段名數(shù)據(jù)類型字段描述adminuser文本管理員用戶名adminpass文本管理員密碼表3-2my_users表中字段字段名數(shù)據(jù)類型字段描述id數(shù)字用戶主鍵username文本用戶名passwd文本用戶密碼Names文本真實姓名Sex文本性別Address文本地址Phone文本Post文本Email文本Email地址表3-3my_goods表中字段字段名數(shù)據(jù)類型字段描述ID數(shù)字商品編號Goodsname文本名稱Goodsclass數(shù)字類別Seller數(shù)字銷售員Provider文本提供商Price數(shù)字價格Amount文本數(shù)量Content文本說明表3-4my_indentlist表中字段字段名數(shù)據(jù)類型字段描述ID數(shù)字組IDusername文本商品購買用戶Price文本定單價格ispayoff文本是否付款issales文本是否發(fā)貨content文本備注數(shù)據(jù)庫的連接在本系統(tǒng)中,系統(tǒng)會頻繁的訪問數(shù)據(jù)庫。本系統(tǒng)采用JSP的JDBC-ODBC驅(qū)動程序。數(shù)據(jù)庫的連接代碼是通用的。代碼如下:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=biye";StringstrUser="sa";StringstrPassword="417929";Connectioncon=DriverManager.getConnection(url,strUser,strPassword);Statementst=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);………具體設計分析系統(tǒng)首頁圖4-1網(wǎng)上購物系統(tǒng)首頁此功能模塊由index1.jsp來實現(xiàn),并提供了本系統(tǒng)絕大多數(shù)功能的入口,例如:會員注冊、登錄,管理員登錄,查詢等。會員登錄主要是將用戶輸入的用戶名和密碼與數(shù)據(jù)庫中my_users表中的已有的信息進行比對,如果完全一樣,則是合法用戶,可以成功登錄,如果不一樣,則登錄失敗。查詢功能是通過輸入商品名稱關鍵字和下拉菜單中商品類別進行查詢提交查詢信息以后由find.Jsp顯示查詢結果。此功能未注冊用戶也可用,但是所查詢商品不提供購買功能。具體模塊實現(xiàn)商品查看此功能模塊由buy.jsp來實現(xiàn)。當用戶進入購物中心以后,系統(tǒng)會顯示所有的商品基本信息。但在商品數(shù)量過于龐大以后則不容易查看所需商品,所以系統(tǒng)提供了按類別查詢的功能。下拉菜單中有商品的所有類別,用戶根據(jù)類別以post方法傳遞表單。再在該頁設置接收字段:Stringbookclass=codeToString(request.getParameter("bookclass"));通過關鍵字bookclass對數(shù)據(jù)庫商品表my_goods進行查詢:SELECT*FROMmy_goodswheregoodsclass='"+bookclass.trim()+"'這樣就比較清楚的可以獲得各類別的商品的信息。有了自己需要購物的商品,則可以通過點擊購買將商品添加到購物車,詳細信息可以查看商品的詳細信息。詳細信息頁面xiangxi.jsp通過商品ID查詢數(shù)據(jù)庫,除了顯示以上信息以外,還顯示商品數(shù)量,備注等信息。界面如下圖:圖4-2商品信息為了不讓龐大的數(shù)據(jù)讓人看得眼花繚亂,在商品的實現(xiàn)時是分頁顯示,每頁顯示5項記錄。分頁代碼如下:intdipage=1;//當前頁碼數(shù)默認為1Stringpages=request.getParameter("dipage");if(pages==null){pages="1";…………intcountRecord=0;//記錄條數(shù)intcountPageRecord=0;//每頁記錄條數(shù)intcountPage=0;//總頁數(shù)countPageRecord=5;//每頁5條記錄,要設置每頁記錄條數(shù)就更改這個變量的值…………countRecord=rs.getRow();//得到總頁數(shù)if(countRecord/countPageRecord==0)countPage=countRecord/countPageRecord;elsecountPage=countRecord/countPageRecord+1;//把記錄指針移至當前頁第一條記錄之前if((di1)*countPageRecord==0)rs.beforeFirst();…………購物車此功能模塊由:buybook2.Jsp,addgoods.Jsp,minusGoods.Jsp,deleteGoods,buy.java來實現(xiàn)。當用戶選定某樣商品并在登錄后的情況下,可以點擊購買將商品添加到購物車。在購物車中可以設置購買商品的數(shù)量。設置好數(shù)量以后按提交按鈕根據(jù)商品唯一ID將商品添加到購物車。在addgoods.jsp中通過獲取商品ID:Stringid=request.getParameter("id");IntGoods_Count=Integer.parseInt(request.getParameter("book_count"))publicvoidaddGoods(StringGoods_id,intGoods_Count)來實現(xiàn)。minusGoods.Jsp一起來實現(xiàn)。關鍵代碼:buycar.Java:publicbooleanminusGoods(StringGoods_id,intGoods_Count){……deleteGoods(Goods_id);……}minusgoods.Jsp:intGoods_Count=Integer.parseInt(request.getParameter("book_count"))buycar.minusGoods(id,Goods_Count);用戶在確定需要購買以后,就可以提交購物車,完成購物功能。圖4-4購物車購物車中商品總價格totalprice是通過商品單價和數(shù)量進行結算。代碼如下:doubletotalprice=0;totalprice=totalprice+rs.getFloat("price")*((Integer)list.get(goods)).intValue();訂單管理本模塊劃分為2個部分,一是用戶對定單的管理,二是管理員對定單的管理。用戶對定單的管理通過userjiemian.Jsp實現(xiàn)查看自己的定單狀態(tài)是否付款以及刪除自己的定單。查看自己的定單是通過用戶名訪問定單表以獲取自身定單,刪除定單是通過定單ID刪除掉選定的定單:ahref='delcord.jsp?id="+rs.getString("indentno")+"'用戶也可以通過查詢指定的定單ID來查詢想要知道的定單的信息。通過sqlString="deletefrommy_indentlistwhereid="+ID;語句刪除以前的定單。管理員管理定單除了擁有用戶管理定單的功能以外,還可以通過定單ID更新定單的狀態(tài),修改定單的付款狀態(tài)以及發(fā)貨狀態(tài)。修改定單頁面change.jsp.通過獲取定單ID,用update語句更新定單信息。定單管理界面如下圖:圖4-5查看當前訂單定單查詢代碼如下:SELECT*FROMmy_indentlistwhereusername='"+username+"'用戶個人信息管理此功能模塊由reg.Jsp,log.Jsp,changemima.Jsp,psxinxi.jsp來實現(xiàn)。分別別實現(xiàn)用戶的注冊以及密碼的修改。Psxinxi查看自己的基本注冊情況。如下圖:圖4-6查看用戶自己基本情況用戶點擊“個人信息”以后系統(tǒng)就會查詢數(shù)據(jù)庫my_users表顯示當前用戶信息。由于整個用戶頁面都用session變量控制訪問權限,所以在進行查詢的時候就根據(jù)seesion變量中的username對數(shù)據(jù)庫進行查詢,查詢代碼如下:rs=sql.executeQuery("SELECT*FROMmy_userswhereusernamelike'%"+username.trim()+"%'");reg.Jsp用來注冊用戶的基本信息,包括用戶名,用戶密碼,性別,,地址,,Email等基本信息。為了系統(tǒng)用戶名和密碼等的合法化,系統(tǒng)通過functionon_submit()函數(shù)來控制輸入,如果為空則提示用戶名為空返回重新輸入。示例代碼如下:if(form1.username.value==""){ alert("用戶名不能為空"); ……… }同時為了保證輸入合法化如Email這樣的信息,系統(tǒng)通過判斷語句來確定輸入是否合法,示例代碼:if(form1.email.value.length!=0) {for(i=0;i<form1.email.value.length;i++) if(form1.email.value.charAt(i)=="@") break; if(i==form1.email.value.length) {alert("非法EMAIL地址"); ……… } }在通過基本信息輸入以后,系統(tǒng)將信息傳遞給log.Jsp進行處理,log.Jsp首先用字符串接收函數(shù):Stringusername=codeToString(request.getParameter("username"));來接收reg.Jsp提交的信息。然后通過數(shù)據(jù)庫執(zhí)行SQL語句insert將數(shù)據(jù)寫入數(shù)據(jù)庫中,如果注冊成功則跳轉到首頁,如果注冊不成功,則通過:out.print("注冊不成功,請檢查必添項目");提示輸入不成功。changemima.Jsp用來修改用戶的密碼信息,用戶在登錄以后點擊修改密碼的鏈接可以對密碼進行修改。在輸入兩次密碼時需要用到兩次輸入密碼正確與否的判斷:if(form1.passwd.value!=form1.passconfirm.value){ alert("確認密碼不相符!");判斷合法以后,就可以訪問數(shù)據(jù)庫通過update語句來更新用戶密碼信息。圖4-7用戶注冊信息用戶控件此功能通過<%@includefile="end.htm"%>來實現(xiàn),避免簡單代碼的重復編寫,也達到美觀實用的效果。商品管理addbook.Jsp主要是用來添加商品的信息,包括商品名稱,銷售員,廠商,編號,價格,數(shù)量等信息。在下拉菜單中可以選取商品的類別進行分類添加。寫好添加的商品信息以后將表單數(shù)據(jù)傳遞給addbook.Jsp對數(shù)據(jù)進行處理,通過addbooklog.Jsp的insrt語句將表單數(shù)據(jù)寫入數(shù)據(jù)庫。具體代碼如下:Stringbookname=codeToString(request.getParameter("bookname"));if(bookname==null)bookname="";………Stringsqlstring=null; sqlstring="insertintomy_goods(goodsname,goodsclass,seller,provider,goodsno,content,price,amount)"+"values('"+bookname+"','"+bookclass+"','"+author+"','"+publish+"','"+bookno+"','"+content+"','"+price+"','"+amount+"')";………//數(shù)據(jù)庫連接代碼st.executeUpdate(sqlstring);完成操作以后如果操作成功則跳轉到管理員主界面,此時可以通過查看商品信息來查看剛才添加的商品,如果操作失敗則會跳轉到ERROR。HTM頁面提示操作失敗,可以返回添加頁面重新對商品進行添加。getParameter("id")接收ID以后,根據(jù)ID在數(shù)據(jù)庫中用delelte語句刪除該記錄。操作起來十分方便和快捷。具體刪除代碼:id=Long.parseLong(request.getParameter("id"));………sqlString="deletefrommy_goodswhereid="+id;………//數(shù)據(jù)庫連接執(zhí)行刪除語句sql.executeUpdate(sqlString);商品添加頁面如下圖:圖4-8添加商品管理用戶此功能模塊由userlist.Jsp,delusercord.Jsp來實現(xiàn)。userlist.Jsp用來查詢所有用戶的信息,同樣用分頁顯示的方式將信息顯示出來,如果有需要刪除的用戶,則通過傳遞用戶ID到delusercord.Jsp。delusercord.Jsp在接收到用戶ID以后,通過訪問數(shù)據(jù)庫運用delete語句刪除選定用戶記錄。具體刪除語句如下:<%//接收要刪除的用戶ID號longid;try {id=Long.parseLong(request.getParameter("id"));……if(id!=0)//接收到的參數(shù)正確{sqlString="deletefrommy_userswhereid="+id;……sql.executeUpdate(sqlString);con.close();………刪除成功以后跳轉到userlist.Jsp頁面重新查詢所有用戶。如果刪除失敗則通過:out.print("刪除失敗");提示刪除失敗。圖4-9用戶管理系統(tǒng)測試前臺測試完成了系統(tǒng)主要模塊的開發(fā)后,系統(tǒng)需要進行必要的運行測試,以檢驗系統(tǒng)的正確性,以下將按照用戶購買商品的流程和管理員對主要信息的管理來測試系統(tǒng)。首先來到前臺用戶的登陸界面,先注冊一個用戶名為wang的新用戶,填寫相關資料后,點擊確定后,注冊成功跳轉到主頁面,在測試中發(fā)現(xiàn)不同用戶可以注冊相同的ID,顯然這在實際應用中是不現(xiàn)實的,后來在代碼中添加查詢比較代碼,通過比較注冊用戶名和數(shù)據(jù)庫中的用戶名來判斷該用戶名是否有效來解決這個問題。注冊成功以后回到主頁登錄,進入用戶界面。點擊商品查詢以及購物等頁面基本正常,但是在測試過程中發(fā)現(xiàn)了非常嚴重的問題,有的頁面本來應該在登錄以后才能訪問,比如查看自己定單以及購買商品等注冊登錄用戶的頁面。而在不用登錄直接在IP地址欄輸入地址也可直接訪問。這顯然是不現(xiàn)實的。于是運用控制變量session來解決了這個問題,添加如下代碼:登錄頁面添加的代碼:session.setAttribute("username",codeToString(username));訪問控制頁面添加的代碼:Stringusername=(String)session.getAttribute("username");if(username==null||username.equals("")){ response.sendRedirect("error.htm");以此來解決訪問控制的問題,添加代碼以后如果直接輸入地址則會跳轉到error.Htm頁面提示沒有登錄,要求返回登錄頁面登錄以后訪問。后臺測試當點擊管理員登錄按鈕時,就來到管理員管理登陸頁面,當我們不輸入用戶名而直接點擊提交時,系統(tǒng)會提示請輸入用戶名錯誤。這個在前臺用戶登陸中也同樣設置了相應的驗證。輸入正確的用戶名和密碼后,便可以進入系統(tǒng)可以進行管理了,首先我們測試添加新商品,正確填入商品信息并提交后,系統(tǒng)會提示添加成功,通過打商品查看的頁面可以查看到,因此證明添加成功。對商品的刪除更為簡便,只要在選擇商品類別和商品型號后,只要點擊“刪除”就能夠成功實現(xiàn)操作。對于用戶管理,管理員查看當前所有用戶的相關信息,并且能夠刪除帶有不良企圖的非法注冊用戶的ID,操作起來簡便、快捷。在測試的過程中同樣發(fā)現(xiàn)和用戶模塊相同的致命性錯誤,就是可以直接通過地址欄而不需要驗證就可以具備管理員權限。這是一個相當大的漏洞。最后也通過session變量得以解決這個問題。

結論通過這三個月的學習和工作,完成了網(wǎng)上購物系統(tǒng)的設計,滿足了用戶需求。由于設計是基于B/S模式,該系統(tǒng)具有良好的可移植性等優(yōu)點,并且具有相當不錯的應用前景。同時由于該系統(tǒng)使用JavaScript和JSP技術,使我對該門技術又有了更加深入的了解,并且對應用Dreamweaver制作靜態(tài)頁面也有了相當?shù)男牡?。在完成設計的三個月時間里,我從一個JSP的門外漢到最終完成自己的作品,這段時間里自身知識的豐富和開發(fā)技能的提高是顯而易見的,通過該設計的制作,同樣使我涉及了很多其他的相關專業(yè)知識,增長了知識的沉淀。當然,這段歷程對任何一個初學者來說都是充滿艱難的,其間我都記不得遇到多少次這樣那樣的問題,但是通過老師和其它好心人的指點最終還是順利完成了作品,還積累了很多開發(fā)過程中寶貴的經(jīng)驗,對以后的學習和提高都是很有幫助的。由于水平及時間有限,很多可以實現(xiàn)的功能都未完成,不過相信通過不斷的學習和提高,在這一方面將會更上一層樓。參考文獻[1]劉中兵,李伯華.JSP數(shù)據(jù)庫項目案例導航[M]北京:清華大學出版社,2006。[2]鄧子云,張賜.JSP網(wǎng)絡編程從基礎到實踐[M]北京:電子工業(yè)出版社,2006。[3]方睿.網(wǎng)絡數(shù)據(jù)庫的原理及應用[M].成都:四川大學出版社,2002。[4]朱仲杰.JAVA2全方位學習[M].北京:機械工業(yè)出版社,2006。[5]楊思申,劉思源.Dreamweare3.0入門與提高[M].北京:清華大學出版社,2000。[6](美)JenniferNiederstRobbins.WEB設計技術手冊[M].濟南:東南大學出版社,2006。[7]馬月.網(wǎng)站界面設計[M].北京:北京理工大學出版社,2006。致謝本文是在李梅老師和閆麗麗老師的熱情關心和指導下完成的,他淵博的知識和嚴謹?shù)闹螌W作風使我受益匪淺,對順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝!在論文完成過程中,本人還得到了其他老師和許多同學的熱心幫助,本人向他們表示深深的謝意!最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝!作者簡介姓名:楊元春性別:男出生年月:1983E-mail:tyc122@163聲明本論文的工作是2007年02月至2007年06月在成都信息工程學院網(wǎng)絡工程系完成的。文中除了特別加以標注地方外,不包含他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得成都信息工程學院或其他教學機構的學位或證書而使用過的材料。除非另有說明,本文的工作是原始性工作。關于學位論文使用權和研究成果知識產(chǎn)權的說明:本人完全了解成都信息工程學院有關保管使用學位論文的規(guī)定,其中包括:(1)學校有權保管并向有關部門遞交學位論文的原件與復印件。(2)學??梢圆捎糜坝?、縮印或其他復制方式保存學位論文。(3)學??梢詫W術交流為目的復制、贈送和交換學位論文。(4)學??稍试S學位論文被查閱或借閱。(5)學??梢怨紝W位論文的全部或部分內(nèi)容(保密學位論文在解密后遵守此規(guī)定)。除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學院。特此聲明!作者簽名:年月日¨ItˇsawonderRetanawouldnˇtgiveusenoughlighttoseethehorsesby,〃onepicadorsaid.¨Heknowsweˇllbehappierifwedonˇtgettoogoodalookattheseskins,〃anotherpicanswered.¨ThisthingIˇmonbarelykeepsmeofftheground,〃thefirstpicadorsaid.¨Well,theyˇrehorses.〃¨Sure,theyˇrehorses.〃Theytalked,sittingtheirgaunthorsesinthedark.Zuritosaidnothing.Hehadtheonlysteadyhorseofthelot.Hehadtriedhim,wheelinghiminthecorrals,andherespondedtothebitandthespurs.Hehadtakenthebandageoffhisrighteyeandcutthestringswheretheyhadtiedhisearstightshutatthebase.Hewasagood,solidhorse,solidonhislegs.Thatwasallheneeded.Heintendedtoridehimallthroughthecorrida.Hehadalready,sincehehadmounted,sittinginthehalf-darkinthebig,quiltedsaddle,waitingforthepaseo,pic-edthroughthewholecorridainhismind.Theotherpicadorswentontalkingonbothsidesofhim.Hedidnothearthem.Thetwomatadorsstoodtogetherinfrontoftheirthreepeones,theircapesfurledovertheirleftarmsinthesamefashion.Manuelwasthinkingaboutthethreeladsinbackofhim.TheywereallthreeMadrile?os,likeHernandez,boysaboutnineteen.Oneofthem,agypsy,serious,aloof,anddark-faced,helikedthelookof.Heturned.¨Whatˇsyourname,kid?〃heaskedthegypsy.¨Fuentes,〃thegypsysaid."Whathesaid.AmIsick?"THhadsettleditthatMr.DarcywouldbringhissistertovisithertheverydayafterherreachingPemberley;andwasconsequentlyresolvednottobeoutofsightoftheinnthewholeofthatmorning.Butherconclusionwasfalse;forontheverymorningaftertheirownarrivalatLambton,thesevisitorscame.Theyhadbeenwalkingabouttheplacewithsomeoftheirnewfriends,andwerejustreturnedtotheinntodressthemselvesfordiningwiththesamefamily,whenthesoundofacarriagedrewthemtoawindow,andtheysawagentlemanandladyinacurricle,drivingupthestreet.Elizabeth,immediatelyrecognisingthelivery,guessedwhatitmeant,andimpartednosmalldegreeofsurprisetoherrelationsbyacquaintingthemwiththehonourwhichsheexpected.Heruncleandauntwereallamazement;andtheembarrassmentofhermannerasshespoke,joinedtothecircumstanceitself,andmanyofthecircumstancesoftheprecedingday,openedtothemanewideaonthebusiness.Nothinghadeversuggesteditbefore,buttheynowfeltthattherewasnootherwayofaccountingforsuchattentionsfromsuchaquarterthanbysupposingapartialityfortheirniece.Whilethesenewly-bornnotionswerepassingintheirheads,theperturbationofElizabeth'sfeelingswaseverymomentincreasing.Shewasquiteamazedatherowndiscomposure;butamongstothercausesofdisquiet,shedreadedlestthepartialityofthebrothershouldhavesaidtoomuchinherfavour;andmorethancommonlyanxioustoplease,shenaturallysuspectedthateverypowerofpleasingwouldfailher.Sheretreatedfromthewindow,fearfulofbeingseen;andasshewalkedupanddowntheroom,endeavouringtocomposeherself,sawsuchlooksofenquiringsurpriseinheruncleandauntasmadeeverythingworse.MissDarcyandherbrotherappeared,andthisformidableintroductiontookplace.WithastonishmentdidElizabethseethathernewacquaintancewasatleastasmuchembarrassedasherself.SinceherbeingatLambton,shehadheardthatMissDarcywasexceedinglyproud;buttheobservationofaveryfewminutesconvincedherthatshewasonlyexceedinglyshy.Shefounditdifficulttoobtainevct.Thedebateconcernedwhetheritwasaninterstellarspacevehicleoranartificialworld,likeO'NellOne.Thedifferencesweremovementandorigin.Aspaceshipwouldhaveanengine,anditwouldbeatthehub.Acolonywouldhavebeenbuiltbysomebodycloseathand.CiroccohadheardtheoriesthatincludedinhabitantsofSaturnorTitan,Martians--thoughnoonehadfoundsomuchasaflintarrowheadonMars-andancientspace-faringracesfromtheEarth.Shedidn'tbelieveanyofthem,butithardlymattered.Shiporcolony,Themishadbeenbuiltbysomeone,andtherewouldbeadoor.Theplacetolookwasthehub,buttheconstraintsofballisticsforcedhertoorbitasfarfromthehubasshecouldget.Ringmastersettledintoacircularorbit400kilometersabovetheequator.Theytraveledinthedirectionofspin,butThemisturnedfasterthantheirorbitalspeed.ItwasablackplaneoutsideCirocco'swindow.Atregularintervalsoneofthesolarpanelswouldsweepbylikethewingofamonstrousbat.Somedetailscouldnowbeseenontheoutersurface.Therewerelong,puckeredridgesthatconvergedonthesolarpanels,presumablycoveringhugepipestocarryafluidorgastobewarmedbythesun.Scatteredwidelyinthedarknesswereafewcraters,someofthem400metersdeep.Therewasnorubblescatteredaroundthem.NothingcouldstayontheoutersurfaceofThemisthatwasn'tfasteneddown.Ciroccolockedhercontrolboard.Atherelbow,Billnoddedinhiscouch,asleep.ThetwoofthemhadnotleftCONMODintwodays.ShemovedthroughSCIMODlikeasleepwalker.Somewheredowntherewasabedwithsoftsheetsandapillow,andacomfortablequartergeenowthatthecarouselwasturningagain.Abuzzersoundedfaintlyandforamomentshecouldnotplaceit.Thenthingsbecamesharpandclearasadrenalinatethecobwebs.ItwastheradaralarminCONMOD."Captain,"Bil,1saidoverthespeaker,"I'vegotastrangereadinghere.We'renotgettingclosertoThemis,butsomething'sgettingclosertous.""I'llbethere."Herhandsfeltlikeiceasshegrabbedastanch-iontoswingherselfup.Sheglancedatthescreen.Theobjectexploded.Itlookedlikeastarburst,anditwasgrowing."Icanseeitnow,"Gabysaid."It'sstillattachedtoThemis.It'slikealongarmoraboom,andit'sopeningout."WouldithavedoneanygoodifI-orahumandoctor-hadtoldthemnotto?"Wh"Thedbacktosomethinglikeme,toanidealizednaturalsetting,ithelpsthem.""Comeon,"Nicholastoldthegirl.Hetookherarm,acutelyconsciousofbeingsomuchshorterthanshe."Aquestion,"murmuredthewaves."IfDiane'sparentshadbeentakenhereinsteadofDiane,doyouthinkitwouldhavehelpedthem?"Nicholasdidnotreply."Wehavetreatmentsfordisturbedpersons,Nicholas.But,atleastforthetimebeing,wehavenotreatmentfordisturbingpersons."Dianeandtheboyhadturnedaway,andthewaves'hissingandslappingceasedtobespeech.Gullswheeledoverhead,andonceared-and-yellowparrotflutteredfromonepalmtoanother.Amonkeyrunningonallfourslikealittledogapproachedthem,andNicholaschasedit,butitescaped."I'mgoingtotakeoneofthosethingsapartsomeday,"hesaid,"andpullthewiresout.""Arewegoingtowalkalltheway'round?"Dianeasked.Shemighthavebeentalkingtoherself."Canyoudothat?""Oh,youcan'twalkallaroundDr.Island;itwouldbetoolong,andyoucan'tgetthereanyway.Butwecouldwalkuntilwegetbacktowherewestarted-we'reprobablymorethanhalfwaynow.""Arethereotherislandsyoucan'tseefromhere?"Thegirlshookherhemuchandtooktowearingspectaclentakeninhandbyaladywhohopedtorisewiththemagazine.Shewasveryforceful,andCohnneverhadachanceofnotbeingtakeninhand.Alsohewassurethathelovedher.Whenthisladysawthatthemagazinewasnotgoingtorise,shebecamealittledisgustedwithCohnanddecidedthatshemightaswellgetwhattherewastogetwhiletherewasstillsomethingavailable,sosheurgedthattheygotoEurope,whereCohncouldwrite.TheycametoEurope,wheretheladyhadbeeneducated,andstayedthreeyears.Duringthesethreeyears,thefirstspentintravel,thelasttwoinParis,RobertCohnhadtwofriends,Braddocksandmyself.Braddockswashisliteraryfriend.Iwashistennisfriend. Theladywhohadhim,hernamewasFrances,foundtowardtheendofthesecondyearthatherlooksweregoing,andherattitudetowardRobertchangedfromoneofcarelesspossessionandexploitationtotheabsolutedeterminationthatheshouldmarryher.DuringthistimeRobert'smotherhadsettledanallowanceonhim,aboutthreehundreddollarsamonth.DuringtwoyearsandahalfIdonotbelievethatRobertCohnlookedatanotherwoman.Hewasfairlyhappy,exceptthat,likemanypeoplelivinginEurope,hewouldratherhavebeeninAmerica,andhehaddiscoveredwriting.Hewroteanovel,anditwasnotreallysuchabadnovelasthecriticslatercalledit,althoughitwasaverypoornovel.Hereadmanybooks,playedbridge,playedtennis,andboxedatalocalgymnasium. Ifirstbecameawareofhislady'sattitudetowardhimonenightafterthethreeofushaddinedtogether.Wehaddinedatl'Avenue'sandafterwardwenttotheCaf?deVersaillesforcoffee.Wehadseveral_fines_afterthecoffee,andIsaidImustbegoing.Cohnhadbeen

溫馨提示

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

評論

0/150

提交評論