jsp球迷用品銷售網(wǎng)站sqlserver論文_第1頁
jsp球迷用品銷售網(wǎng)站sqlserver論文_第2頁
jsp球迷用品銷售網(wǎng)站sqlserver論文_第3頁
jsp球迷用品銷售網(wǎng)站sqlserver論文_第4頁
jsp球迷用品銷售網(wǎng)站sqlserver論文_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEII論文題目運動用品網(wǎng)上商城的設計與實現(xiàn)姓名XXX學院XXX專業(yè)XXX指導教師XXX講師備注200X年X月X日

運動用品網(wǎng)上商城的設計與實現(xiàn)作者姓名:XXX指導教師:XXX講師單位名稱:XXXX專業(yè)名稱:XXXXXX200X年X月DesignandImplementationofOnlinesportinggoodsstorebyXXXSupervisor:LecturerXXXXXXXXXXX畢業(yè)設計(論文)任務書畢業(yè)設計(論文)題目:運動用品網(wǎng)上商城的設計與實現(xiàn)設計(論文)的基本內(nèi)容:隨著Internet的不斷普及,人們對于互聯(lián)網(wǎng)技術的要求已不單單是瀏覽一下網(wǎng)頁,收發(fā)電子郵件,日益忙碌的人們開始追求足不出戶的利用互聯(lián)網(wǎng)這一強大的平臺來實現(xiàn)的網(wǎng)上購物。對于企業(yè)來講,無論是企業(yè)之間(BtoB),還是企業(yè)和客戶之間(BtoC)的交易,如果能夠實現(xiàn)網(wǎng)上交易將大大提高交易速度節(jié)約交易成本。近幾年,隨著網(wǎng)絡數(shù)據(jù)庫技術的進一步發(fā)展,使得這一設想逐漸成為現(xiàn)實。畢業(yè)設計(論文)專題部分:題目:設計或論文專題的基本內(nèi)容:學生接受畢業(yè)設計(論文)題目日期第1周指導教師簽字:200X年X月X日XXXXXXXXXXXX畢業(yè)設計(論文)摘要運動用品網(wǎng)上商城的設計與實現(xiàn)摘要隨著Internet的不斷普及,人們對于互聯(lián)網(wǎng)技術的要求已不單單是瀏覽一下網(wǎng)頁,收發(fā)電子郵件,日益忙碌的人們開始追求足不出戶的利用互聯(lián)網(wǎng)這一強大的平臺來實現(xiàn)的網(wǎng)上購物。對于企業(yè)來講,無論是企業(yè)之間(BtoB),還是企業(yè)和客戶之間(BtoC)的交易,如果能夠實現(xiàn)網(wǎng)上交易將大大提高交易速度節(jié)約交易成本。近幾年,隨著網(wǎng)絡數(shù)據(jù)庫技術的進一步發(fā)展,使得這一設想逐漸成為現(xiàn)實。運用JSP技術,基于B/S模式我開發(fā)了一個網(wǎng)上購物系統(tǒng)。在我的系統(tǒng)中,顧客可以很方便的注冊成為會員,對商品進行瀏覽檢索,查看商品的詳細資料,然后根據(jù)各人的喜好購買心儀的商品。顧客還可以查看選中的商品數(shù)量,及總金額。除此之外,顧客還可以查看自己的注冊信息,以及修改各人信息。系統(tǒng)會自動為顧客生成訂單,按照顧客所填寫的信息提交訂單并發(fā)貨。顧客要記住自己的訂單號,以便對訂單進行查詢。系統(tǒng)管理員則可以對現(xiàn)有的商品進行添加,審查已注冊的用戶并刪除用戶,對提交的訂單進行處理。我采用APACHE作為Web服務器和應用服務器,后端連接MicrosoftSQLServer數(shù)據(jù)庫;網(wǎng)站中主要經(jīng)營運動商品,提供檢索工具供用戶查詢所需的商品,顧客根據(jù)網(wǎng)站的不足提出意見和建議,從而不斷改進網(wǎng)站功能和建設。關鍵詞:B/S模式、JSP、電子商務、網(wǎng)絡數(shù)據(jù)庫XXXXX畢業(yè)設計(論文)AbstractDesignandImplementationofOnlinesportinggoodsstoreAbstractAlongwiththeInternetofcontinuouslyuniversal,peoplearefortherequestoftechniqueInternetthealreadyandnotonlysingleisaviewoncewebpage,receiveanddispatchtheE-mail,increasinglybusypeoplestartpursuingtheexploitationInternetthatkeepthehousethisathemightyplatformcomethenetthatrealizesontheshopping.Speakforthebusinessenterprise,andwhetheristhebusinessenterprise’s(BtoB),orbusinessenterprisewiththecustomer'sbargainfor(BtoC),ifcanrealizethenetuptradeandwillconsumedlyincreasethebargainspeedtheeconomytotradethecost.Inthelastfewyears,alongwiththetechnique'sfurtherdevelopmentofnetworkdatabase,makethisonconceivingtograduallybecometheactuality.ApplicationJSPtechniqueiswiththenetworkdatabaseprinciple;accordingtoB/SmodeIdevelopedanetontheshoppingsystem.Inmysystem,customercanverytheconvenientregistrationbecomethemember,andproceedstomerchandiseviewindex,lookintofavorsthatthemerchandise'sdetaileddata,customercancheckthemerchandise'scountandmoney.Thenpurchasetheadoringmerchandiseaccordingtoeveryone.Systemwouldtheautoisabornorderofcustomer,andhandovertheordertoeruptgoodsaccordingtotheinformationforfillinningofcustomer.Exceptit,customeralsocanchecktheirregisteredinformation,andedittheinformation.Systemmanagercanthenproceedstoincreasewiththeorderthat,investigatealreadytheregisteredcustomercombinerighthandovertoproceedstohandletocurrentmerchandise.IuseAPACHEasWebserverandapplicationserver;connectwithMicrosoftSQLServerDatabase.Thewebmanagethesportmerchandises,supplysearchestoolsforcustomertosearchthemerchandisewhichtheyneed.CustomercangivemeadviceforthatIcanimprovetheweb'sfunction.Keywords:B/Smode,JSP,electroniccommerce,networkdatabase.XXXX畢業(yè)設計(論文)目錄目錄TOC\o"1-3"\u任務書 I摘要 IIAbstract III第1章緒論 11.1網(wǎng)上購物系統(tǒng)的發(fā)展 11.2網(wǎng)上購物的現(xiàn)狀 11.3商務網(wǎng)站存在的問題 11.4網(wǎng)上購物系統(tǒng)的構建 2第2章技術介紹 32.1HTML語言 32.2Java語言的特性 32.3JSP技術 52.3.1JSP概述 52.3.2JSP工作原理 52.4

數(shù)據(jù)庫原理 62.4.1

SQL語言簡單介紹 62.4.2

SQLSERVSER數(shù)據(jù)庫 7第3章 需求分析 83.1初步需求分析 83.1.1模塊結構分析 83.1.2模塊需求描述 83.2用例圖 93.3活動圖 103.4系統(tǒng)類劃分 11第4章系統(tǒng)設計 144.1系統(tǒng)體系結構 144.2系統(tǒng)功能模塊設計 154.2.1用戶模塊設計 154.2.2后臺管理模塊設計 164.3數(shù)據(jù)庫設計 184.3.1數(shù)據(jù)庫需求分析 184.3.2數(shù)據(jù)庫的物理設計 19第5章系統(tǒng)實現(xiàn) 215.1客戶端實現(xiàn) 215.1.1注冊及登錄 215.1.2查詢及修改個人信息實現(xiàn) 235.1.3商品查詢實現(xiàn) 255.1.4購物車實現(xiàn) 265.1.5生成訂單 285.2后臺管理端實現(xiàn) 305.2.1管理員登錄實現(xiàn) 305.2.2商品的添加實現(xiàn) 305.2.3定單管理實現(xiàn) 315.2.4用戶信息的查詢實現(xiàn) 335.3數(shù)據(jù)庫連接 34第6章系統(tǒng)測試 386.1系統(tǒng)測試 386.1.1系統(tǒng)入口測試要點 386.1.2數(shù)據(jù)錄入測試要點 386.2系統(tǒng)測試效果 38第7章結論 40參考文獻 41致謝 42XXXXXX畢業(yè)設計(論文)第1章緒論第1章緒論1.1網(wǎng)上購物系統(tǒng)的發(fā)展近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進入傳統(tǒng)的流通領域。于是電子商務開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費者展示出一種新穎的購物理念。網(wǎng)上訂購系統(tǒng)作為B2B,B2C(BusinesstoCustomer,即企業(yè)對消費者),C2C(CustomertoCustomer,即消費者對消費者)電子商務的前端商務平臺,在其商務活動全過程中起著舉足輕重的作用。本文旨在討論如何建設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)了公司間文檔與資金的無紙化交換。1.2網(wǎng)上購物的現(xiàn)狀在美、日等信息化程度較高的國家和地區(qū),網(wǎng)絡商店發(fā)展速度迅猛,美國的世界級超一流的零售商,如沃爾瑪凱瑪特,家庭倉儲、科羅格、J.C培尼等紛紛擠身于網(wǎng)絡經(jīng)商的行列。調查表明:美國的家庭已越來越習慣于在家中從網(wǎng)上購物。

在我國,網(wǎng)上購物從無到有也不過短短幾年時間。我國第一家網(wǎng)上購物發(fā)生在1996年,燕莎友誼商場首次通過網(wǎng)上商城售出一個景泰藍,雖然貨款的支付不是在網(wǎng)上進行的,但這畢竟為我國零售業(yè)奏出了網(wǎng)上購物的先聲。根據(jù)CNNIC的統(tǒng)計結果,截止2004年1月中國有互聯(lián)網(wǎng)用戶7950萬人,而又有40.7%以上的網(wǎng)民在過去的一年里有過網(wǎng)上購物經(jīng)歷,這就說明中國有網(wǎng)上購物的用戶達是3235.7萬人,并且這一數(shù)字還在以17%左右的速度增長,預計到2006年中國網(wǎng)上購物用戶將達到6962萬人,這說明在中國發(fā)展網(wǎng)上購物具有良好的群眾基礎,網(wǎng)上購物方式日趨被大家所接受。1.3商務網(wǎng)站存在的問題現(xiàn)今,購物網(wǎng)站主要存在以下一些問題:首先,目前絕大多數(shù)的電子商務網(wǎng)站都還不是完全意義上的電子商務網(wǎng)站。雖然中國的絕大多數(shù)電子商務網(wǎng)站都已經(jīng)實現(xiàn)了網(wǎng)上接受訂單、網(wǎng)上支付的服務,但大多數(shù)網(wǎng)民采用的仍是在線訂購、離線支付的方式。并且,目前網(wǎng)站與其供貨商和配送單位采用的多是傳統(tǒng)的溝通方式,效率比較低。其次商品價格并沒有足夠的競爭力。網(wǎng)上的價格并沒有很強的競爭力,大多數(shù)產(chǎn)品加上運費后和傳統(tǒng)商場的價格基本持平,而一些計算機硬件產(chǎn)品和通訊產(chǎn)品的價格則還要高于傳統(tǒng)市場的價格。訂貨-確認-付款-認證-發(fā)貨-送貨各環(huán)節(jié)結合不緊密,經(jīng)常出現(xiàn)脫節(jié)的現(xiàn)象。發(fā)生了問題,調查起來比較困難。最后缺乏創(chuàng)造力。盲目追隨成功網(wǎng)站的模式,使得電子商務類網(wǎng)站呈現(xiàn)出“百站一面”的尷尬局面。1.4網(wǎng)上購物系統(tǒng)的構建現(xiàn)在流行的網(wǎng)上購物系統(tǒng)不僅要有漂亮的網(wǎng)頁,更要有嚴謹?shù)囊?guī)劃。每一個細小的環(huán)節(jié)都和重要。這樣才能使得在電子交易時避免不必要錯誤發(fā)生。我們將使用HTML、ASP等技術來編輯網(wǎng)頁,并運用ASP技術把數(shù)據(jù)庫和動態(tài)網(wǎng)頁相關聯(lián)。傳統(tǒng)的管理信息系統(tǒng)信息獲取方法是由專業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的數(shù)據(jù)庫中,這種方法在數(shù)據(jù)量不大時有很多的應用場合。當數(shù)據(jù)量比較大,并且有較強的專業(yè)性時,錄入的費用和出錯的可能性都相應上升。本文在實際應用開發(fā)中解決方案是建立網(wǎng)站,

以及自己的數(shù)據(jù)庫,使得所需商品信息可以及時的保存、更新。可以更好的及時了解商品買賣的情況。XXXXX畢業(yè)設計(論文)第2章技術介紹第2章技術介紹2.1HTML語言HTML(Hyper

Text

Markup

Language

超文本標記語言)是一種用來制作超文本文檔的簡單標記語言。與常見的字處理文件不同,Web頁以超文本標識語言編排格式。HTML文件是帶有特定HTML插入標記的用以編排文檔屬性和格式的標準文本文件。它能獨立于各種操作系統(tǒng)平臺(如UNIX,WINDOWS等)。自1990年以來HTML就一直被用作World

Wide

Web上的信息表示語言,用于描述Homepage的格式設計和它與WWW上其它Homepage的連結信息。HTML文檔(即Homepage的源文件)是一個放置了標記的ASCII文本文件,通常它帶有.

html或.

htm的文件擴展名。生成一個HTML文檔主要有以下三種途徑:(1)手工直接編寫(例如用你所喜愛的ASCII文本編輯器或其它HTML的編輯工具)。(2)通過某些格式轉換工具將現(xiàn)有的其它格式文檔(如WORD文檔)轉換成HTML文檔。(3)由Web服務器(或稱HTTP

服務器)一方實時動態(tài)地生成。

一般的HTML頁面具有如下的結構:〈html〉

<head>

<title>,<base>,<link>,<is

index>,<meta>

</head>

<body>

這是HTML正文部分

〈/body〉

</html>可見在一個HTML網(wǎng)頁文件中,一般必須有一對〈html〉</html>標記作為文件的開頭和結尾,在<html>標記后是頭部標記<head></head>,其后是實體標記<body></body>。2.2Java語言的特性Java語言具有六個主要的特性:安全性:可是網(wǎng)絡開發(fā)者面臨的最重要的問題。用戶最怕兩件事:保密信息被竊取和系統(tǒng)被破壞。Java的內(nèi)置安全性結局了這兩個問題。Java的安全性模型有三個基本的組成部分:自解碼驗證器,類裝入器和安全管理器。字節(jié)碼驗證器能取保Java的程序編譯正確,遵循VM的訪問限制。類裝入器從網(wǎng)絡上獲取類時,把來自不同服務器的類相互分開并與本地類分離開來。通過這種分離,就可以防止網(wǎng)上裝入的類假扮成標準的內(nèi)置類。安全管理器實現(xiàn)VM的安全策略。安全性策略確定VM可以進行什么活動,在什么條件下進行。它通常用于防止警告性錯誤,在Java允許使用的最著名瀏覽器NetscapeNavigator中,安全性策論甚至不允許文件訪問。核心APIAPI即應用程序編程接口。API是應用程序開發(fā)者為了更快的構造軟件而使用的功能庫。Java的核心API提供了一組系統(tǒng)平臺上常用的功能。API分成多個包,它們分別是完成相關功能的類,比如界面處理,網(wǎng)絡功能等。跨平臺現(xiàn)在,JVM已經(jīng)出現(xiàn)在多種不同的操作系統(tǒng)當中。Java跨品臺能力的最關鍵之處在于,Java的字節(jié)碼文件(.class文件)不需要針對不同的平臺分別進行編譯。同一個Java類文件可以用于運行在所有支持Java的系統(tǒng)平臺上,即一次編寫,處處運行。面向對象面向對象編程是以可重用,可擴展和可維護的方式編寫軟件的方法。面向對象的編程思想,力圖使計算機語言對事物的描述與現(xiàn)實世界中該事物的本來面目盡可能的一致。Java是面向對象的語言,即可以面向對象編程。多線程單線程程序任何時候只是執(zhí)行一個線程,這種程序一次只能做一件事情。單線程程序在運行時,用戶接口通常不響應其他請求。多線程程序可以同時執(zhí)行多個線程。這些線程可以共享代碼和數(shù)據(jù),可以互相交流和合作。網(wǎng)絡功能強大Java是目前進行網(wǎng)絡程序設計的首選語言。不論是在服務器端程序設計方面,還是在基于B/S模式開發(fā)中,Java的優(yōu)勢都體現(xiàn)的淋漓盡致。因此,現(xiàn)在很多網(wǎng)絡軟件都是采用Java設計的,比如EBAWeblogic,ApacheTomcat等。2.3JSP技術2.3.1JSP概述JSP,JavaServerPagesTM是由SunMicrosystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構成了JSP網(wǎng)頁(*.jsp),Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、可以重新定向網(wǎng)頁、可以發(fā)送email等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端僅是得到的結果,對客戶瀏覽器的要求最低,可以實現(xiàn)NoPlugin,NoActiveX,,NoJavaApplet,甚至NoFrame。JSP技術是完全與平臺無關的設計,包括它的動態(tài)網(wǎng)頁與底層的Server元件設計。正因為如此,你可以在Windows環(huán)境下調試程序,成功后把程序上載到你的Linux服務器去運行,另外由于是先編譯后執(zhí)行,所以執(zhí)行速度遠遠快于以往的服務器端語言。Servlet可以讓你建立動態(tài)生成的網(wǎng)頁,而網(wǎng)頁中包含有從服務器方的Java對象中所獲得的數(shù)據(jù)。但是你也得知道servlet生成網(wǎng)頁的方法就是在Java類中嵌入HTML標簽和表述代碼。這就意味著改變表述代碼需要修改和重新編譯Servlet源文件。因為設計HTML頁面的設計人員可能與編寫Servlet代碼的開發(fā)人員不是同一個人,更新基于servlet的web應用程序就成了一件非常棘手的事情。JSP網(wǎng)頁可以非常容易的與靜態(tài)模板結合,包括HTML或XML片段,以及生成動態(tài)內(nèi)容的代碼。

針對代碼的重復使用,SUN公司提出了JavaBean技術,類似于Microsoft的組件對象模型COM技術,JavaBean的價值在于它可以經(jīng)由一組屬性來使用,而這些屬性則提供對JavaBeans設定的存取。JavaBean就好比一個單位,而單位的名稱、地址、以及規(guī)模都可以稱之為屬性。在JSP原有的優(yōu)點上支持緊湊方便的創(chuàng)建和使用,提高了分部計算機制的強壯性。J2EE平臺為應用程序服務器定義了一個服務器端組件模型,簡化了中間件組件的開發(fā)。J2EE的相關技術,包括RMI,CORBA,JSP,EJB等等,極大的簡便了商務網(wǎng)站的開發(fā),可以從中選擇合適的技術構建發(fā)布平臺的框架,已逐漸成為開發(fā)標準。2.3.2JSP工作原理在一個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()方法被調用來處理客戶端的請求。對每一個請求,JSP引擎創(chuàng)建一個新的線程來處理該請求。如果有多個客戶端同時請求該JSP文件,則JSP引擎會創(chuàng)建多個線程。每個客戶端請求對應一個線程。以多線程方式執(zhí)行可大大降低對系統(tǒng)的資源需求,提高系統(tǒng)的并發(fā)量及響應時間.但應該注意多線程的編程限制,由于該servlet始終駐于內(nèi)存,所以響應是非??斓摹H绻?jsp文件被修改了,服務器將根據(jù)設置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結果取代內(nèi)存中的servlet,并繼續(xù)上述處理過程。雖然JSP效率很高,但在第一次調用時由于需要轉換和編譯而有一些輕微的延遲。此外,如果在任何時候如果由于系統(tǒng)資源不足的原因,JSP引擎將以某種不確定的方式將servlet從內(nèi)存中移去。當這種情況發(fā)生時jspDestroy()方法首先被調用,然后servlet實例便被標記加入"垃圾收集"處理。jspInit()及jspDestory()格式如下:可在jspInit()中進行一些初始化工作,如建立與數(shù)據(jù)庫的連接,或建立網(wǎng)絡連接,從配置文件中取一些參數(shù)等,在jspDestory()中釋放相應的資源。

2.4

數(shù)據(jù)庫原理2.4.1

SQL語言簡單介紹SQL是英文Structured

Query

Language的縮寫,意思為結構化查詢語言。

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、Creat以及Drop在內(nèi)的標準的SQL命令仍然可以被用來完成幾乎所有的數(shù)據(jù)庫操作。

在眾多的SQL命令中,select語句應該算是使用最頻繁的。select語句主要被用來對數(shù)據(jù)庫進行查詢并返回符合用戶查詢標準的結果數(shù)據(jù)。select語句中位于select關鍵詞之后的列名用來決定哪些列將作為查詢結果返回。用戶可以按照自己的需要選擇任意列,還可以使用通配符“*”來設定返回表格中的所有列。select語句中位于from關鍵詞之后的表格名稱用來決定將要進行查詢操作的目標表格。除了上面所提到的運算符外,LIKE運算符在where條件從句中也非常重要。LIKE運算符的功能非常強大,通過使用LIKE運算符可以設定只選擇與用戶規(guī)定格式相同的記錄。2.4.2

SQLSERVSER數(shù)據(jù)庫SQLServer是由Microsoft開發(fā)和推廣的關系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個OS/2版本。SQLServer近年來不斷更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用戶見面;SQLServer2000是Microsoft公司于2000年推出的最新版本。MicrosoftSQLServer2000是一個分布式的關系型數(shù)據(jù)庫管理系統(tǒng),具有客戶機/服務器體系結構,采用了一種稱為Transact-SQL的SQL語言在客戶機和服務器之間傳遞客戶機的請求和服務器的處理結果。支持XML(ExtensiveMarkupLanguage,擴展標記語言。強大的基于Web的分析。支持OLEDB和多種查詢。支持分布式的分區(qū)視圖。SQLServer具有以下特點:是真正的客戶機/服務器體系結構。圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。豐富的編程接口工具,為用戶進行程序設計提供了更大的選擇余地。SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成。具有很好的伸縮性,可跨越從運行Windows95/98的膝上型電腦到運行Windows2000的大型多處理器等多種平臺使用。對Web技術的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。SQLServer提供數(shù)據(jù)倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。XXXXXXX畢業(yè)設計(論文)第3章需求分析需求分析3.1初步需求分析系統(tǒng)分析又稱為系統(tǒng)邏輯設計,邏輯設計是指在邏輯上構造系統(tǒng)的功能。解決系統(tǒng)“能做什么”的問題,至于系統(tǒng)的功能如何實現(xiàn)那是系統(tǒng)設計的任務。系統(tǒng)分析是得到系統(tǒng)最佳邏輯設計方案的關鍵階段,系統(tǒng)分析通過詳細調查研究和需求分析,由系統(tǒng)分析員運用管理知識、計算機知識以及系統(tǒng)分析技術繪制一組描述系統(tǒng)總體方案的圖表,經(jīng)過與用戶反復討論、分析和反復修改后得到用戶比較滿意的總體設計,即目標系統(tǒng)的邏輯模型。最后選擇配置適當?shù)挠嬎銠C硬軟件,以實現(xiàn)目標系統(tǒng)邏輯模型。3.1.1模塊結構分析根據(jù)需求調研結果確定本模塊功能結構如圖3.1所示。運動用品網(wǎng)上商城的設計與實現(xiàn)運動用品網(wǎng)上商城的設計與實現(xiàn)模塊1用戶登陸模塊2用戶注冊模塊3管理員登陸模塊4購物車模塊5訂單查詢模塊8信息瀏覽模塊9后臺商品信息管理圖3.1系統(tǒng)結構圖3.1.2模塊需求描述根據(jù)需求調研結果確定本系統(tǒng)主要包括以下功能模塊:用戶登陸、用戶注冊、管理員登陸、購物車、訂單查詢、信息瀏覽、后臺商品信息管理。對于管理員具有對用戶各項信息及用戶管理的功能。權限分配:會員用戶:通過登陸系統(tǒng),瀏覽網(wǎng)站上的商品信息,選購需要的商品,查看選購信息。管理員:在登陸信息檢驗合格后可以對會員信息進行修改、刪除和查找,商品的信息進行添加、刪除和修改的維護,對會員的采購信息進行實時處理。3.2用例圖首先,從角色的角度分析:共分三種角色,第一種是用戶,即無需驗證身份,進入網(wǎng)站頁面就可以稱其為網(wǎng)站的用戶,此種角色只能進行一些普通權限限制的操作,比如查看商品信息、搜索商品信息等。第二種是會員,即網(wǎng)站有些功能是限制權限的,即只對會員開放,也就是用戶必須注冊自己的真實信息,然后,通過登錄功能進行身份驗證,驗證成功之后才能使用那些向會員開放的功能,此為功能權限;另外,設計會員這個角色的另一個用意在于,某些功能,例如,個人用戶商品信息發(fā)布功能,將記錄會員的操作信息,只有會員將自己的信息注冊到網(wǎng)站的數(shù)據(jù)庫中,才能將會員與其操作信息關聯(lián),以保證每次會員登錄后,可以查看到自己相關的信息,此為數(shù)據(jù)權限。第三種是后臺管理員,此角色不能登錄前臺網(wǎng)站系統(tǒng),而只能登錄后臺管理系統(tǒng),同樣,在前臺注冊的會員也不能在后臺登錄,此處同樣體現(xiàn)了數(shù)據(jù)權限的控制。其次,從用例的角度分析:按照與角色的相關性分別分析。與用戶角色有關的用例:用戶角色可以在首頁查看商品信息、搜索商品信息。用戶角色可以注冊成為會員。用戶可以點擊進入注冊用戶編輯管理頁面,系統(tǒng)將提示其沒有登錄。此處,也可以這樣理解,已經(jīng)登錄的是會員角色或是后臺管理員角色,未登錄的是用戶角色。當然,用戶角色可以進行登錄操作。與會員角色有關的用例:會員角色也可以在首頁查看商品信息、搜索商品信息。會員角色可以注銷,即退出登錄。會員可以點擊進入個人商品發(fā)布信息管理頁面,系統(tǒng)確認已經(jīng)登錄后即轉到個人維護功能頁面,并顯示此登錄會員相關的管理信息。與后臺管理員有關的用例:后臺管理員角色可以在后臺管理系統(tǒng)中管理會員。可以維護前臺顯示的商品信息和注冊用戶信息。通過分析可以確認用例圖的繪制,見圖3.2所示,網(wǎng)絡超市系統(tǒng)的用例圖。圖3.2網(wǎng)絡超市系統(tǒng)用例圖3.3活動圖活動圖是用來描述動作及動作之間的關系。它描述采取何種動作,動作的結果是什么,何時發(fā)生等等信息?;顒訄D可以清晰地表示出,當觸發(fā)一個動作后,系統(tǒng)將自動進行處理的過程。本文將比較復雜的登錄過程用活動圖體現(xiàn)如下圖所示。圖3.3網(wǎng)絡超市系統(tǒng)活動圖3.4系統(tǒng)類劃分針對運動用品網(wǎng)上商城有以下類及其屬性:用戶類(Account)的主要屬性:用戶名(username)、密碼(password)、E-MAIL(email)用戶姓名(firstName)等。產(chǎn)品類(Product)的主要屬性:產(chǎn)品ID(productId)、產(chǎn)品類別ID(categoryId)、產(chǎn)品名稱(name)和產(chǎn)品描述(description)。產(chǎn)品類別類(Category)的主要屬性:產(chǎn)品類別ID(categoryId)、類別名稱(name)和類別描述(description)。產(chǎn)品項目類(Item)的主要屬性:產(chǎn)品項目ID(itemId)、產(chǎn)品類別ID(categoryId)、單價(listPrice)、供應商ID(supplierId)、狀態(tài)(status)、自定義屬性(attribute)等。訂單類(Order)的主要屬性:訂單ID(orderId)、用戶(username)、訂單日期(orderDate)、送貨地址1(shipAddress1)、送貨地址2(shipAddress2)、送貨城市(shipCity)、送貨郵政編碼(shipZip)、產(chǎn)品列表(lineItems)等。購物車類(Cart)的主要屬性:購物車項目列表(itemList)。購物車項目類(CartItem)的主要屬性:產(chǎn)品項目(item)、數(shù)量(quantity)等管理員信息類:對管理員進行規(guī)范化的設置,分為編號、名稱和密碼圖3.4管理員信息類圖會員信息類:將會員也實行密碼制管理,以方便對會員提供更好的服務,不造成資源的浪費圖3.5會員信息類圖商品類別信息類:方便對商品的管理圖3.6商品類別信息類圖訂單信息類:對訂單進行細致的分類,保證網(wǎng)站的正常運營圖3.7訂單信息類圖購物車信息類:方便會員管理自己的采購商品圖3.8購物車信息類圖商品信息類:便于讓會員了解商品的屬性圖3.9商品信息類圖XXXXXXXXXXXX畢業(yè)設計(論文)第4章系統(tǒng)設計第4章系統(tǒng)設計4.1系統(tǒng)體系結構一個典型的電子商務網(wǎng)上訂購系統(tǒng)主要功能有:為客戶提供24小時方便快捷的在線訂購服務。高效的商品數(shù)據(jù)方案,對商品信息進行科學、靈活地分類、存儲,方便客戶迅速從少則幾萬,多則幾十萬甚至上百萬種商品中找出自己所需商品。強大、方便、快捷的查詢功能。提供關鍵字查詢(如:查找所有“Electronic

Cannon”商品)。訂單號模塊所謂訂單號模塊,就是客戶購買完商品后,系統(tǒng)自動分配一個購物號碼給客戶,以方便客戶隨時查詢賬單處理情況。了解現(xiàn)在貨物的狀態(tài)。將客戶商業(yè)邏輯規(guī)則融入系統(tǒng),即根據(jù)不同客戶屬性,提供不同付款方式。(如信用卡、支票等)訂單管理。為分銷商的EPR系統(tǒng)提供數(shù)據(jù)接口。管理員可以查看歷史記錄、訂單狀態(tài),并且能夠在最短的時間內(nèi)通知用戶。圖4.1系統(tǒng)流程圖圖4.2系統(tǒng)組織結構圖4.2系統(tǒng)功能模塊設計 4.2.1用戶模塊設計用戶的功能是網(wǎng)站設計的核心,一個好的網(wǎng)上購物系統(tǒng),要盡量滿足客戶的一切要求。所以該用戶模塊除具有注冊,登錄,查看個人信息,修改個人信息等基本功能外,還有瀏覽商品,選擇自己喜歡的商品放入購物車中,不喜歡可以刪除,確定后,填寫訂單,購物完畢,生成訂單以后,用戶可以對訂單進行查詢。故針對用戶設計的用例功能如下圖所示:圖4.3用戶的用例圖圖4.4用戶的活動圖4.2.2后臺管理模塊設計在購物系統(tǒng)中另一個重要的使用者則是管理員,首先管理要有自己的ID和密碼,防止他人惡意登錄,登錄后管理員可以添加新的商品信息保存到數(shù)據(jù)庫中,查詢所有用戶信息及刪除個別用戶信息,查詢用戶生成的訂單及訂單處理。管理員功能如下圖所示:圖4.5管理員的用例圖圖4.6管理員模塊活動圖4.3數(shù)據(jù)庫設計 4.3.1數(shù)據(jù)庫需求分析對于系統(tǒng)用戶信息數(shù)據(jù)庫,有以下數(shù)據(jù)項和數(shù)據(jù)結構:會員名、真實姓名、密碼、電話號碼、Email、地址。用來方便與商城的聯(lián)系。對于系統(tǒng)的商品信息系統(tǒng),有以下數(shù)據(jù)項和數(shù)據(jù)結構:

商品的ID(自動編號)、商品名稱、商品單價、商品所屬類別。而網(wǎng)上購物系統(tǒng)就是基于以上各個數(shù)據(jù)庫的連接和綜合,把各個獨立的數(shù)據(jù)庫通過內(nèi)在的關聯(lián)性統(tǒng)一到一個主頁面里,從而方便客戶的訪問和購買,實現(xiàn)了一對一的交互。

用戶在購買商品前可以先看看商品目錄,看看有沒自己需要的商品,在商品的目錄里有每個商品的具體的介紹,比如說商品的名稱,價格等,用戶在看好自己的商品后,在商品的搜索中,你可以選擇你所需的商品,用戶在選擇自己的商品時,系統(tǒng)則連接到后臺關于此商品信息的數(shù)據(jù)庫中,找到適合客戶需求的信息。客戶將選購的商品放入系統(tǒng)所提供的購物車里,此時顧客可以繼續(xù)選購另外的商品,或者刪除原先購買的商品,并可對商品進行名稱和數(shù)量上的修改和添加。點擊“繼續(xù)購買”,重復以上進行的購買活動。直到顧客滿意。購物結束后,進行提交,若完成購物,進行結帳,填寫訂單,最后生成訂單。此外顧客還得進行身份信息的填寫,包括姓名,年齡,住址,聯(lián)系方式和選擇的支付方式或使用的支付卡等等。個人身份信息的填寫是為了方便顧客所購買的貨物準確及時送達。而所有這些信息也將保存在系統(tǒng)數(shù)據(jù)庫中,顧客以后再次購買時就無需重新輸入個人身份,可以直接登陸到頁面中。4.3.2數(shù)據(jù)庫的物理設計 根據(jù)以上的分析,制定出數(shù)據(jù)庫表的邏輯結構商品數(shù)據(jù)的準備。首先要搜集分銷商的所有商品數(shù)據(jù)。這些商品數(shù)據(jù)可以分為三類:紙面記錄、電子數(shù)據(jù)(XML、Access、Excel等文件)、網(wǎng)上數(shù)據(jù)。無論對于哪一種數(shù)據(jù),都要對其進行檢查,修正有問題的數(shù)據(jù),刪除重復和過期的記錄。在檢查的同時,還要對這些數(shù)據(jù)進行分析,為制定商品目錄方案做準備。所涉及到的后臺數(shù)據(jù)庫如下:表4.1商品信息管理表名稱數(shù)據(jù)類型長度允許空描述pid整型4否商品號pname字符型50否商品名稱ptype字符型20否商品類型price長整型8否商品價格pimage字符型50否圖片路徑dattime日期8否上傳日期客戶信息表的制定??蛻粜畔⒈韮?nèi)保存著在線商店中所有客戶個人所擁有的個人信息和資料,是在線商店的后臺管理人員進行商品銷售的設計規(guī)劃和進行決策的依據(jù)和參考。所涉及到的后臺數(shù)據(jù)庫如下:表4.2客戶信息管理表名稱數(shù)據(jù)類型大小空描述Name字符型100否用戶名Rname字符型50否真實姓名Password字符型100否密碼Email字符型100否電子郵件Address字符型100否地址Login_Time字符型100否注冊時間Telephone字符型100否聯(lián)系電話訂單數(shù)據(jù)的準備。訂單數(shù)據(jù)是將用戶在商城里購買的商品裝入購物車中進行結帳處理,填寫訂單,保留在數(shù)據(jù)庫中,這樣通過訂單處理商品信息,達到購物交易。所涉及到的后臺數(shù)據(jù)庫如下:表4.3訂單信息管理表名稱數(shù)據(jù)類型長度允許空描述Sub字符型50否訂單號Name字符型20否用戶名Rname字符型50否真實姓名Spdate日期型8否訂購日期Email字符型50否電子郵件Address字符型80否聯(lián)系地址Post字符型50否郵政編碼Payment字符型12否付款方式Photo字符型30否聯(lián)系電話Carry字符型30否運送方式Spif整型4否訂單核對Other文本型16是其它表4.4訂單信息查詢表名稱數(shù)據(jù)類型大小空描述Subid字符型50否訂單號Warename字符型50否商品名稱Price整型8否價格Wsum整型8否數(shù)量Wcount整型8否總價格XXXXXXXXXXX畢業(yè)設計(論文)第5章系統(tǒng)實現(xiàn)第5章系統(tǒng)實現(xiàn)5.1客戶端實現(xiàn)5.1.1注冊及登錄當您以用戶的身份看中了我們商品,請您先注冊成為會員界面如下所示:圖5.1注冊界面此部分代碼需要注意成功登錄以后,對Session的設置。使用setAttribute方法設置用戶名在此您添寫的信息將通過do_register.jsp來處理。其主要的代碼如下所示<%request.setCharacterEncoding("gb2312");%><%@pageimport="com.dao.*"%><%@pageimport="java.util.Date"%><% Datedate=newDate(); DBDaoImplcon=newDBDaoImpl(); Stringusername=request.getParameter("name"); StringRname=newString(request.getParameter("rname").getBytes("ISO-8859-1")); Stringpassword=request.getParameter("password"); Stringemail=request.getParameter("e_mail"); Stringaddress=newString(request.getParameter("address").getBytes("ISO-8859-1")); Stringphoto=request.getParameter("telephone"); Stringstr="selectNamefromcustomer_infowhereName='"+username+"'"; ResultSetrs=con.executeQuery(str); if(rs.next()){%><scriptlanguage="javascript"> alert("此用戶已經(jīng)被占用請重新注冊"); history.back();</script><% }else{ Stringsql="insertintocustomer_info(Name,Rname,Password,Email,Address,Telephone,Login_time)values('"+username+"','"+Rname+"','"+password+"','"+email+"','"+address+"','"+photo+"','"+date.toLocaleString()+"')"; inttemp=con.executeUpdate(sql);%><scriptlanguage="javascript"> alert("注冊成功"); window.location.href=("login.jsp");</script><% }con.close();%>在這里我們用到了JavaScriptJavaScript是Web項目開發(fā)中使用的一種技術,用來實現(xiàn)對客戶端的控制,比如:實現(xiàn)刻度短的特效,今昔客戶端用輸入信息的驗證等,從而減少網(wǎng)絡流量,減輕服務器端的負擔。和Java不同,JavaScript只是一種腳本語言,它不能脫離瀏覽器獨立運行。例如:<html><head><ScriptLanguage=”JavaScript”>Alert(“您好!”);</Script></head><html>當然,JavaScript的功能不僅限于彈出一個小的信息提示窗口,它更多地用于與HTML頁面Form中的元素進行交互,從而實現(xiàn)了與用戶輸入的信息進行交互等功能。是網(wǎng)站制作中不可缺少的語言。注冊成功后請您登錄,這樣才能購買商品圖5.2登錄界面DBDaoImpldao=DBDaoImpl.getInstance();ResultSetrs=null;Stringsql=null;sql="select*fromcustomer_infowhereName='"+getname+"'andPassword='"+getpassword+"'";rs=dao.executeQuery(sql); if(rs.next()){ session.setAttribute("username",getname); session.setAttribute("password",getpassword);在這里我是用到了session,session是類Javax.servlet.http.HttpSession的一個對象,session指的是客戶端與服務器端的一次會話,會話從客戶連接到服務器開始,直到服務器斷開連接為止,在這之間都可以訪問session對象的屬性和方法。對于session對象,常懂得方法有setAttribute(),getAttribute()和removeAttribute(),分別可以對session中的對象進行存取和刪除。5.1.2查詢及修改個人信息實現(xiàn)成為我們的會員以后您可以查看您的注冊信息,方便您核對。查詢界面如下圖5.3個人信息顯示顯示各人信息的主要處理頁面是由myinfoshow.jsp處理的,主要代碼如下<%DBDaoImpldao=newDBDaoImpl();Stringname=String.valueOf(session.getAttribute("username"));name=(name==null)?"":name.trim();Stringsql="selectName,Password,Rname,Email,Telephone,Address,Login_timefromcustomer_infowhereName='"+name+"'";ResultSetrs=null;%><%try{rs=dao.executeQuery(sql);while(rs.next()){%><%Stringname=rs.getString("Name");Stringpassword=rs.getString("Password");Stringrname=rs.getString("Rname");Stringe_mail=rs.getString("Email");Stringtelephone=rs.getString("Telephone");Stringaddress=rs.getString("Address");Stringtime=rs.getString("Login_time");%><tr><tdwidth="272"height="30"valign="top"><%=name%></td></tr><tr><tdheight="30"valign="top"><%=rname%></td></tr>圖5.4信息修改修改各人信息的主要處理頁面是由modify.jsp處理的,可以在文本框中輸入您想要修改的內(nèi)容,系統(tǒng)通過request對象獲取到您輸入的內(nèi)容,重新插入到數(shù)據(jù)庫中。主要代碼如下request.setCharacterEncoding("gb2312");Stringname=String.valueOf(session.getAttribute("username"));if(name!=null){Stringpassword=request.getParameter("paw");Stringaddress=request.getParameter("add");Stringe_mail=request.getParameter("eml");Stringtelephone=request.getParameter("tel");Stringsql="UPDATEcustomer_infoSETPassword='"+password+"',Address='"+address+"',Email='"+e_mail+"',Telephone='"+telephone+"'WHEREName='"+name+"'";DBDaoImplda=DBDaoImpl.getInstance();5.1.3商品查詢實現(xiàn)當您想要知道網(wǎng)站上是否有您需要的商品時,您可以在這里輸入您要查找的商品名稱圖5.5商品檢索首先從文本框中獲取到輸入的內(nèi)容response.setContentType("text/html;charset=gb2312"); Stringop=request.getParameter("shop");Stringsql="selectpname,price,pimagefromProInfowherepnamelike'"+op+"'";在使用SQL語句在數(shù)據(jù)庫中查找,若找到該商品,則顯示出來,若找不到該商品,則使用response對象跳轉到顯示沒有查找到的頁面。if(!rs.next()) { response.sendRedirect("soubudao.jsp"); }5.1.4購物車實現(xiàn)點擊購買選擇您喜歡的商品,即可查看到購物清單圖5.6商品瀏覽圖5.7商品清單點擊放入購物車中,就會看您購買的商品的信息。點擊關閉窗口則回到瀏覽商品頁面:圖5.8購物車在購物車中,主要的代碼如下 <%Vectorshop=(Vector)session.getAttribute("shop"); intnum=0; intpric=0; if(shop==null||shop.size()==0){ %><scriptlanguage="javascript"> alert("購物車中沒有物品"); window.location.href=("index.jsp"); </script><%} else{ for(inti=0;i<shop.size();i++) { buyListmylist=(buyList)shop.elementAt(i); num=num+mylist.number*mylist.price; %><tr><tdwidth="151"height="30"valign="top"><divalign="center">序號</div></td><tdwidth="151"valign="top"><divalign="center">商品</div></td><tdwidth="151"valign="top"><divalign="center">價格</div></td><tdwidth="151"valign="top"><divalign="center">數(shù)量</div></td><tdwidth="152"valign="top"><divalign="center">總金額</div></td></tr><tr><tdheight="34"valign="top"><divalign="center"><%=i+1%></div><divalign="center"></div><divalign="center"></div></td><tdvalign="top"><divalign="center"><%=mylist.warename%></div><divalign="center"></div></td><tdvalign="top"><divalign="center">¥<%=mylist.price%></div></td><tdvalign="top"><divalign="center"><inputname="num<%=i%>"size="7"type="text"class="txt_grey"value="<%=mylist.number%>"></div></td><tdvalign="top"><divalign="center">¥<%=(mylist.price*mylist.number)%></div></td><tdvalign="top"><divalign="center">總合計金額:¥<%=num%></div></td>5.1.5生成訂單當選擇好要購買的商品以后要生成訂單,這里訂單號是自動生成的,部分信息從數(shù)據(jù)庫中獲取,您只需要填寫部分內(nèi)容:圖5.9填寫訂單訂單生成的主要代碼是同過如下<%Datedate=newDate(); DBDaoImplcon=newDBDaoImpl(); intyear=date.getYear()+1900; intmonth=date.getMonth()+1; intdat=date.getDate(); inthour=date.getHours(); intmin=date.getMinutes(); intsecond=date.getSeconds(); longtime=date.getTime()/600000000; Stringyea=String.valueOf(year); Stringmon=String.valueOf(month); Stringda=String.valueOf(dat); Stringhou=String.valueOf(hour); Stringmi=String.valueOf(min); Stringsec=String.valueOf(second); Stringtim=String.valueOf(time); Stringsub=yea+mon+da+hou+mi+sec+tim; if(session.getAttribute("username")==null||session.getAttribute("username").equals("")){ %>Stringsql="selectName,Rname,Email,Address,Telephonefromcustomer_infowhereName='"+session.getAttribute("username")+"'";ResultSetrs=con.executeQuery(sql);5.2后臺管理端實現(xiàn)5.2.1管理員登錄實現(xiàn)后臺管理端為保證安全需要后臺管理員駛入身份驗證,代碼實現(xiàn)同會員身份驗證類似。在此不做過多的分析。圖5.10管理員登錄5.2.2商品的添加實現(xiàn)管理員的功能之一就是可以對商品進行添加。保證隨時更新數(shù)據(jù)庫和網(wǎng)站的內(nèi)容,此時需要輸入商品的名稱,價格,選擇商品的類型,以及圖片的名稱,選擇是否推薦,是則顯示在商品推薦欄目,否則顯示在新品上架欄目。圖5.11添加商品主要添加的代碼是由wcheck,jsp完成。其中需要使用request對象從表單中獲取輸入的值,將其插入到數(shù)據(jù)庫中,部分代碼如下<% Datedate=newDate(); DBDaoImplcon=newDBDaoImpl(); Stringpath="images/"; Stringstr=request.getParameter("str"); Stringwarename=request.getParameter("warename"); Stringwareprice=request.getParameter("wareprice"); Stringwaretype=request.getParameter("waretype"); Stringimage=path+request.getParameter("image"); Stringsq="select*fromProInfowherepname='"+warename+"'"; ResultSetrs=con.executeQuery(sq); if(rs.next()){ out.println("<scriptlanguage='javaScript'>alert('此商品已經(jīng)添加請不要重復錄入');history.back();</script>"); }else{ Stringsql=""; if(str!=null){ sql="insertintoProInfo(pname,price,ptype,pimage,pye,Dattime)values('"+warename+"','"+Integer.parseInt(wareprice)+"','"+waretype+"','"+image+"','"+1+"','"+date.toLocaleString()+"')"; }else{ sql="insertintoProInfo(pname,price,ptype,pimage,pye,Dattime)values('"+warename+"','"+Integer.parseInt(wareprice)+"','"+waretype+"','"+image+"','"+0+"','"+date.toLocaleString()+"')"; } inttemp=con.executeUpdate(sql); if(temp>0){ out.println("<scriptlanguage='javascript'>alert('添加成功');history.back();</script>"); }else{ out.println("<scriptlanguage='javascript'>alert('數(shù)據(jù)錯誤');history.back();</script>"); } } con.close();%>5.2.3定單管理實現(xiàn)管理員查詢訂單,可以刪除一些不可用的訂單,或者點擊訂單號,看是否要執(zhí)行訂單。圖5.12訂單管理刪除頁面是由delsub.jsp處理的。從數(shù)據(jù)庫中獲取subid的值,刪除這一行的數(shù)據(jù)。因為訂單生成時分別保存到了兩個表中,所以要分別從Sub表和Shop表中刪除數(shù)據(jù)。主要代碼如下:<% DBDaoImplcon=newDBDaoImpl(); inttemp=0; Stringsub=request.getParameter("sub"); if(sub.equals("")||sub==null){%><scriptlanguage="javascript"> alert("訂單已被全部清空"); history.back();</script><% }else{ Stringsql="deletefromSubwhereSub='"+sub+"'"; Stringsq="deletefromShopwhereSubid='"+sub+"'"; temp=con.executeUpdate(sql); con.executeUpdate(sq); } if(temp>0){ response.sendRedirect("spif.jsp"); }%>當管理員想要執(zhí)行交易的時候,選擇訂單號后就可看到如下界面圖5.13訂單執(zhí)行如果想要執(zhí)行此訂單,請選擇在是否執(zhí)行中選擇“是”這一選項。系統(tǒng)會自動將此條訂單設置為以執(zhí)行。即spif由0置為1。由excu.jsp完成,主要代碼如下所示:<%DBDaoImplcon=newDBDaoImpl(); Stringexecu=request.getParameter("execu"); Stringnumber=request.getParameter("number"); Stringsql=""; if(execu==null){ sql="updateSubsetSpif='"+0+"'whereSub='"+number+"'"; }elseif(execu.equals("on")){ sql="updateSubsetSpif='"+1+"'whereSub='"+number+"'"; } inttemp=con.executeUpdate(sql); if(temp>0){ response.sendRedirect("spif.jsp"); }else{%>}con.close();%>5.2.4用戶信息的查詢實現(xiàn)管理可以查看注冊的會員信息,也可以刪除會員信息。點擊刪除,則此條會員信息將從數(shù)據(jù)庫中刪除掉此處是對會員的管理圖5.14用戶管理主要代碼如下所示<%StringuserName=null;Stringsql=null;request.setCharacterEncoding("gb2312");userName=request.getParameter("name");Stringsq="deleteFROMcustomer_infowherename='"+userName+"'";if(userName!=null){try{ DBDaoImplcon=newDBDaoImpl(); ResultSetrs=con.executeQuery(sq);inti=con.executeUpdate(sq);con.close();}catch(Exceptione){e.printStackTrace();}}%>5.3數(shù)據(jù)庫連接在這部分我采用的是JDBC-ODBC橋的方法連接數(shù)據(jù)庫。下面介紹一下JDBC。JDBC的API通過一個統(tǒng)一的方式訪問不同的數(shù)據(jù)庫。類似ODBC,JDBC對程序開發(fā)人員隱藏了數(shù)據(jù)庫產(chǎn)權的問題。因為它是建立在Java之上的,JDBC也能供提供平臺無關性的數(shù)據(jù)庫訪問。JDBC是一個規(guī)范,遵循JDBC接口規(guī)范,各個數(shù)據(jù)庫廠家各自實現(xiàn)自己的驅動程序(Driver)應用程序在獲取數(shù)據(jù)庫連接時,需要以URL的方式指定是那種類型的Driver,在獲得特定的連接后,可按照固定的接口操作不同類型的數(shù)據(jù)庫,如:

分別獲取Statement、執(zhí)行SQL獲得ResultSet等JDBC定義了四種本質上不同的數(shù)據(jù)庫驅動程序,我們分別闡述:當JDBC還在襁褓中的時候,JDBC-ODBC橋被證明是最有用的。使用它,程序開發(fā)人員可以使用JDBC來訪問ODBC數(shù)據(jù)源。它的缺陷是,需要客戶機使用微軟的windows操作系統(tǒng),并且安裝ODBC驅動程序。通過使用這種驅動程序,你犧牲了JDBC的平臺無關性。另外,ODBCdriver還需要客戶端的管理。JDBC-native驅動橋提供了建立在本來的數(shù)據(jù)庫驅動程序之上的JDBC接口,沒有使用ODBC。JDBC驅動程序把標準的JDBC的調用轉換成原始的數(shù)據(jù)庫API調用。使用Type2驅動同樣犧牲了平臺無關性,因為這需要安裝客戶端的數(shù)據(jù)庫驅動代碼。JDBC-network橋驅動不需要客戶端的數(shù)據(jù)庫驅動器。它利用網(wǎng)絡服務器的中間件來訪問數(shù)據(jù)庫。這使得諸如負載均衡、連接池、數(shù)據(jù)緩存之類的技術成為可能。因為type3驅動程序經(jīng)常需要一個相對較少的下載時間,具有平臺無關性,不需要客戶端的安裝和管理,這種方式最適合Internet應用。Type4用純粹的Java數(shù)據(jù)庫驅動程序提供數(shù)據(jù)庫訪問。由于type4驅動程序在客戶機上運行和直接訪問數(shù)據(jù)庫,在這種方式下執(zhí)行意味著2層結構。在多層結構中對type4驅動的更好應用是使用EJB封裝數(shù)據(jù)訪問代碼,讓EJB為客戶端提供數(shù)據(jù)庫無關的服務。JDBC驅動及連接,APACHEServer為一些常用的數(shù)據(jù)庫提供了JDBC驅動,包括Oracle,Sybase,MicrosoftSQLServer和Informix。使用JSP訪問數(shù)據(jù)庫實際上就是先建立一個JavaBean組件,讓它來完成與數(shù)據(jù)庫的連接查詢功能,并返回一個數(shù)據(jù)集合(ResultSet),然后在JSP頁面中使用<jsp:useBean>標簽創(chuàng)建Beans的實例,通過它來對數(shù)據(jù)庫進行查詢修改等操作。JDBC支持兩層模型,也支持三層模型訪問數(shù)

溫馨提示

  • 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

提交評論