物流網站系統(tǒng)設計與實現(xiàn)-畢業(yè)論文范文_第1頁
物流網站系統(tǒng)設計與實現(xiàn)-畢業(yè)論文范文_第2頁
物流網站系統(tǒng)設計與實現(xiàn)-畢業(yè)論文范文_第3頁
物流網站系統(tǒng)設計與實現(xiàn)-畢業(yè)論文范文_第4頁
物流網站系統(tǒng)設計與實現(xiàn)-畢業(yè)論文范文_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本科生畢業(yè)論文(設計)題目:物流網站系統(tǒng)設計與實現(xiàn)姓名:邵兆強學院:理學院專業(yè):計算機科學與技術班級:計算機032班學號:2003814432導老師:王穎職稱:碩士2007年6月10日安徽科技學院教務處制目錄摘要3關鍵詞3引言31物流網站管理系統(tǒng)與設模式概論41.1物流網站管理系論概論41.2系統(tǒng)設計模式簡介4C/S模式4B/S模式5C/S模式與B/S模式的比較52系統(tǒng)需求分析52.1開發(fā)系統(tǒng)的理由及目標52.2系統(tǒng)功能需求6前臺部分6后臺部分62.3系統(tǒng)結構選型7服務器需求分析7客戶需求分析82.4運行環(huán)境需求分析8數(shù)據(jù)庫需求分析8數(shù)據(jù)庫系統(tǒng)表92.5數(shù)據(jù)庫設計分析122.5.1數(shù)據(jù)庫連接12數(shù)庫據(jù)庫操作133系統(tǒng)的具體設計與實現(xiàn)133.1前臺模塊的具體設計13客戶登錄功能13用戶注冊功能14找回密碼功能16用戶資料修改功能173.1.5購物車模塊17投訴建議功能203.2后臺模塊的具體設計21管理員登錄模塊21商品查看模塊23訂單處理模塊24用戶管理模塊25鏈接添加模塊26公共消息模塊274網站性能測試與分析274.1功能測試274.2客戶端兼容性測試28平臺測試28閱讀器測試284.3平安性測試284.4測試結果與分析28功能測試28客戶端兼容性測試28平安性測試285結論29致謝29參考文獻29物流網站系統(tǒng)設計與實現(xiàn)計算機科學與技術專業(yè)學生邵兆強指導老師王穎摘要:隨著Web技術的發(fā)展,傳統(tǒng)的物流管理方式發(fā)生了的變更?;诰W絡的物流管理系統(tǒng)也就產生了?,F(xiàn)今,JSP技術就是近幾年才發(fā)展起來的一項新技術,這篇論文探討了JSP技術和物流管理方面的相關學問,并對網站的兩種模式B/S和C/S系統(tǒng)進行了探討。以JSWDK作為網站的開發(fā)工具,SQLSRVER作為后臺數(shù)據(jù)庫服務器,設計和實現(xiàn)了一個物流網站系統(tǒng)。論文介紹了系統(tǒng)的需求分析及系統(tǒng)的主體設計和具體設計,重點敘述了三個模塊,一是用戶購物模塊,二是用戶留言簿模塊,三是管理模塊,分別完成用戶購物,用戶留言,信息管理等功能。論文在實踐的基礎上,對此物流網站的開發(fā)進行了一些總結,對設計中出現(xiàn)的一些問題結合當前的實際提出了一些解決方案。同時也介紹了當前物流管理的發(fā)展狀況和物流管理對人們生活的影響。關鍵詞:JSP技術;物流管理;B/S;C/S引言物流是為滿足消費者需求而進行的對原材料、中間庫存、最終產品及相關信息從起始點到消費地的有效流淌以及為實現(xiàn)這一流淌而進行的安排、管理和限制過程。為了全面實現(xiàn)某一戰(zhàn)略、目標或任務,物流把運輸、供應倉儲、維護、選購 、承包和自動化綜合成一個單一的功能,以確保每個環(huán)節(jié)的最優(yōu)化?,F(xiàn)代物流強調的物流管理是指在社會再生產過程中,依據(jù)物質資料實體流淌的規(guī)律,應用管理的基本原理和科學方法,對物流活動進行安排、組織、指揮、協(xié)調、限制和監(jiān)督,使各項物流活動實現(xiàn)最佳的協(xié)調與協(xié)作,以降低物流成本,提高物流效率和經濟效益?,F(xiàn)代物流更多借助于網絡進行,它是通過信息技術,利用現(xiàn)有的各種工具進行,將企業(yè)的運輸信息和運輸需求達到共享并很快的傳遞?,F(xiàn)代物流的核心是信息技術,它能最大限度地將原先在實現(xiàn)物資流通中所進行的運輸、倉儲、包裝、裝卸、加工以及配送等多個環(huán)節(jié)整合一起,以一個整風光 對社會的物流需求?,F(xiàn)代物流的形成向一個網絡化體系發(fā)展。但還不夠成熟。例如雖然有些行業(yè)只建立了本行業(yè)本地域的物流網絡,但跨行業(yè)、跨地域、跨區(qū)域物流的網絡事實上在國內沒有真正形成。物流網站系統(tǒng)主要是為了改善對物流的管理,更好的利用計算機在管理方面的作用,本系統(tǒng)采納B/S模式、JSP技術、軟件工程思想,開發(fā)一個物流網站系統(tǒng),對貨物進行銷售、調配、運輸?shù)确矫娴墓芾?,目的在以降低物流成本,提高物流效率和經濟效益?物流網站管理系統(tǒng)概論與設計模式1.1物流網站管理系統(tǒng)概論現(xiàn)代經濟領域的一大現(xiàn)象和趨勢是企業(yè)全球化,在現(xiàn)代網絡技術應用的前提下,規(guī)模效益經營思想愈加體現(xiàn),這是現(xiàn)代企業(yè)提高競爭優(yōu)勢的手段。隨著現(xiàn)代市場機制的發(fā)展,企業(yè)更趨專業(yè)化、集團化,各公司或集團內部各分公司之間的相互依靠性越來越強,商品流通管理趨向于系統(tǒng)化。而此時物流管理漸漸受到重視,它是跨越了企業(yè)圍墻建立的是一種跨企業(yè)的協(xié)作,以追求和共享市場機會。而全過程限制是物流管理的核心問題。供應商必需全面、精確、動態(tài)地把握散布在全球(全國)各個中轉倉庫、經銷商、零售商以及汽車、火車、飛機、輪船等各種運輸環(huán)節(jié)之中的產品流淌狀況,并以此為依據(jù)隨時發(fā)出調度指令,制定生產和銷售安排,剛好調整市場策略[1]。就大型供應商而言,沒有好的物流管理就根本談不上建立好的銷售網絡。對于大型連鎖零售商而言,沒有好的物流管理就沒有好的供應配送體系。因此,對于物流服務商、倉儲物流中心,無法供應面對全過程物流網站管理的服務就根本不行能得到到一些大的物流業(yè)務。要想有一個全過程的物流網站管理就要利用信息系統(tǒng)。傳統(tǒng)的一些銷存、運輸、倉庫管理軟件大多數(shù)以單據(jù)打印和統(tǒng)計報表為設計目標,無法解決供應商、倉儲、運輸乃至相關的服務之間的信息溝通,因而無法滿足物流管理的需求。物流網站管理系統(tǒng)運用Internet技術,面對物流服務商、運輸企業(yè)、倉儲物流中心、大型企業(yè)分銷管理部門、商品流通企業(yè)等機構,推出了面對供應鏈管理的物流信息管理系統(tǒng)解決方案。物流網站管理系統(tǒng)以運輸和倉儲為主,管理取貨、包裝、倉庫、裝卸、分貨配貨、信息服務、等物流服務的各環(huán)節(jié),限制物流服務的全過程。物流網站管理系統(tǒng)供應對托運商、收貨人、中間承運人管理的功能,并為客戶提很好的查詢條件,使客戶可以對物流企業(yè)的信息資源共享。物流網站管理系統(tǒng)供應庫存商品或物資的入庫、出庫、接收下家客戶退貨、退貨出庫、,庫存商品預警、庫存商品的查詢等功能。按分類的模式對倉庫進行管理和監(jiān)控,縮短了庫存所用的時間,使商品管理有層次有秩序,為購買、銷售供應依據(jù)。存貨的短缺、超儲等狀況可自動提示。庫存管理功能,可使企業(yè)對自己的存貨進行限制和管理,降低庫存成本,增加企業(yè)的市場競爭力。1.2系統(tǒng)設計模式簡介現(xiàn)在開發(fā)管理信息系統(tǒng)一般都是采納C/S或者B/S模式兩種模式,但這兩種模式又都有自己的優(yōu)點與不足。1.2.1C/S模式它的基本思想是我們能在一個地方集中存放信息資源。一般將數(shù)據(jù)集中保存在某個數(shù)據(jù)庫中,依據(jù)他人或者機器的懇求將信息投遞給對方。客戶機/服務器概述的一個關鍵在于信息是“集中存放”的,這對我們更改信息,然后將修改過的信息發(fā)給信息的消費者是便利的。將各種元素集中到一起。信息倉庫、用于投遞信息的軟件以及信息及軟件所在的那臺機器,這就叫作“服務器”(Server)。而對那些在遠程機器上的軟件,它們須要與服務器通信,取回信息,進行適當?shù)奶幚?,然后在遠程機器上顯示出來,這些就叫作“客戶”(Client)。這里要留意的一個主要問題是單個服務器須要同時向多個客戶供應服務。這通常少不了一套數(shù)據(jù)庫管理系統(tǒng),使設計人員能將數(shù)據(jù)布局封裝到表格中,以獲得最優(yōu)的運用。除此以外,系統(tǒng)常常允許客戶將新信息插入一個服務器。這意味著必需確??蛻舻男聰?shù)據(jù)不會與其他客戶的新數(shù)據(jù)沖突,或者說須要保證那些數(shù)據(jù)在加入數(shù)據(jù)庫的時候不會丟失??蛻糗浖l(fā)生了變更之后,它們必需在客戶機器上構建、調試以及安裝,全部這些會使問題變得比我們一般想象的困難得多。所以在具體實現(xiàn)的時候,其他人發(fā)。布信息這樣一個簡潔的概念可能變得很困難。這就可用到客戶機/服務器模式了。它可負責從處理訂單及發(fā)布各類數(shù)據(jù)的方方面面的任務——股票市場、科學探討、政府運作等等。在過去,我們一般為單獨的問題實行單獨的解決方案,每次都要設計一套新方案,這些方案無論創(chuàng)建還是運用都比較困難,用戶每次都要學習和適應新界面??蛻魴C/服務器問題須要從根本上加以變革[2]。B/S模式Browser/Server(閱讀器/服務器)結構,是隨著Internet技術的興起,對C/S結構的一種變更或者改進的結構。在這種結構下,用戶界面完全通過WWW閱讀器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn)。B/S結構,主要是利用了WWW閱讀器技術,結合閱讀器的多種Script語言(JavaScript、VBScript……)和ActiveX技術,用通用閱讀器就實現(xiàn)了原來須要困難專用軟件才能實現(xiàn)的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構造技術。隨著Windows98/Windows2000將閱讀器技術植入操作系統(tǒng)內部,這種結構更成為當今應用軟件的首選體系結構。明顯B/S結構應用程序相對于傳統(tǒng)的C/S結構應用程序有了巨大的進步。B/S結構采納星形拓撲結構建立企業(yè)內部通信網絡或利用Internet虛擬專網(VPN)。B/S結構具有節(jié)約投資、跨地域廣的優(yōu)點,無須視企業(yè)規(guī)模和地理分布確定。企業(yè)內部通過防火墻接入Internet,再整個網絡采納TCP/IP協(xié)議。網絡結構如圖所示:

圖1B/S網絡結構圖1.2.3C/S模式與B/S模式的比較C/S的優(yōu)點是能充分發(fā)揮客戶端PC的處理實力,很多工作可以在客戶端處理后再提交給服務器。這樣對于客戶端響應速度很快。缺點主要有以下幾個:只適用于局域網。而隨著互聯(lián)網的飛速發(fā)展,移動辦公和分布式辦公越來越普及,這須要我們的系統(tǒng)具有擴展性。這種方式遠程訪問須要特地的技術,同時要對系統(tǒng)進行特地的設計來處理分布式的數(shù)據(jù)??蛻舳隧氁惭b專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都須要進行安裝或維護。特殊是有很多分部或專賣店的狀況,不是工作量的問題,而是路程的問題。還有,系統(tǒng)軟件升級時,每一臺客戶機須要重新安裝,其維護和升級成本特別高。對客戶端的操作系統(tǒng)一般也會有限制。可能適應于Win98,但不能用于Win2000或WindowsXP。或者不適用于微軟新的操作系統(tǒng)等等,更不用說Linux、Unix等。B/S最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何特地的軟件。只要有一臺能上網的電腦就能運用,客戶端零維護。系統(tǒng)的擴展特別簡潔,只要能上網,再由系統(tǒng)管理員安排一個用戶名和密碼,就可以運用了。甚至可以在線申請,通過公司內部的平安認證后,不須要人的參加,系統(tǒng)可以自動安排給用戶一個賬號進入系統(tǒng)[3]?;谝陨戏治鲆约皩ξ锪魑锪骶W站系統(tǒng)的需求分析,為實現(xiàn)客戶在任何存在互連網的地方都可以訪問系統(tǒng),不須要下載任何客戶端程序,本系統(tǒng)采納B/S模式進行開發(fā)設計。2系統(tǒng)需求分析2.1開發(fā)系統(tǒng)的理由及目標現(xiàn)代物流的核心是信息技術,信息技術將物流之中原先分開的各個環(huán)節(jié)整合在一起,以一個整風光 對社會的物流需求?,F(xiàn)代物流是提高企業(yè)經濟效益的重要源泉,它以高新技術為基礎的先進經營方式和管理方式,將有效地整合資源,降低成本,提高效率,進一步改善投資環(huán)境,擴大對外開放,促進國內物流業(yè)持續(xù)發(fā)展,加快流通現(xiàn)代化、規(guī)范市場經濟秩序,加快企業(yè)及產業(yè)結構調整,大大提高整個社會生產力和市場競爭力。隨著世界經濟一體化和網絡技術的發(fā)展,信息資源共享互通將成為企業(yè)發(fā)展壯大的必定手段,以網絡系統(tǒng)供應服務可以產生特殊的規(guī)模經濟效應,物流企業(yè)的覆蓋地域越廣,用戶越多,就越有利于降低物流成本。本系統(tǒng)的開發(fā)可以得到如下利益:使運輸方式最經濟,在選定的運輸方式中選擇最佳的承運人;可以獲得與物流網站管理公司關聯(lián)的企業(yè)供應的服務;對分散的運輸作業(yè)進行限制;削減回程車輛放空;可以進行電子運單處理;可以對運輸過程進行監(jiān)控等。因此,開發(fā)本系統(tǒng)成為很有必要的事情。2.2系統(tǒng)功能需求如下:2.2.1前臺部分客戶登錄模塊:此模塊包括用戶登錄、用戶注冊、修改資料、找回密碼等功能。購物車模塊:此模塊包括購買商品、修改商品數(shù)量等功能。訂單模塊:此模塊包括生成訂單、查看訂單、修改訂單等功能。公共消息模塊:此模塊包括查看公共消息的功能。投訴建議模塊:此模塊包括發(fā)表建議、查看留言等功能。2.2.2后臺部分區(qū)域管理模塊:此模塊包括添加區(qū)域、查看區(qū)域的功能。商品管理模塊:此模塊包括添加商品、查看商品、刪除商品等功能。車輛管理模塊:此模塊包括添加車輛、查看車輛、刪除車輛等功能。用戶管理功能:此模塊包括查看用戶信息、刪除用戶等功能。用戶訂單管理模塊:此模塊包括查看用戶訂單、刪除用戶訂單、處理用戶訂單等功能。其他功能:此模塊包括添加友情鏈接、添加公共消息的功能。系統(tǒng)功能圖如下:圖2系統(tǒng)功能圖系統(tǒng)主要特點:1)變更傳統(tǒng)模式采納B/S模式設計,功能模塊化設計系統(tǒng),具有牢靠的、可伸縮的、易于擴充的物流網站系統(tǒng)管理基礎架構。2)設置系統(tǒng)用戶登陸功能,及權限安排管理,系統(tǒng)具有平安性。3)界面簡潔、操作便利,獲得相應的權限就可以操作。4)采納先進的數(shù)據(jù)庫訪問方式,數(shù)據(jù)更平安,性能更穩(wěn)定。2.3運行環(huán)境需求分析2.3.1服務器需求分析表1服務器網絡及硬件平臺需求表1.網絡及硬件平臺:CPUIntelPentiumIII700MHzorHigher內存128MB以上硬盤空間10GB以上網絡接入10MB/s以上表2服務器操作系統(tǒng)平臺需求表2.操作系統(tǒng)平臺:Windows2000ServerWindows2000AdvanceServerWindowsXP3.數(shù)據(jù)庫平臺:SQLServer2000EnterpriseEdition4.其它支撐平臺:IIS6.0、IE6.02.3.2客戶端需求分析作為一個基于B/S的管理信息系統(tǒng),客戶登錄系統(tǒng)只須要運用閱讀器(Browser)通過網絡就可以在任何地點實現(xiàn)。表3客戶端網絡及硬件平臺需求表網絡及硬件平臺:CPUIntelPentiumIII300MHz以上內存64MB以上硬盤空間2GB以上網絡接入10MB/s以上表3客戶端操作系統(tǒng)平臺需求表操作系統(tǒng)平臺:Windows9X/MeWindows2000professionalWindowsXPprofessionalWindows2000ServerWindows2000AadvanceServerWindowsServer2003EnterpriseEditionLinux/Unix其它支撐平臺:IE6.0,Netscapeetc.2.4數(shù)據(jù)庫設計2.4.1數(shù)據(jù)庫需求分析此物流管理系統(tǒng)須要以下數(shù)據(jù)項:用戶信息表:用戶名、用戶密碼、用戶郵箱、用戶地址;商品信息表:商品名、商品價格、商品類型、商品信息、商品圖片;管理員信息表:管理員名、管理員密碼;購物信息表:商品名、商品價格、商品數(shù)量;訂單信息表:訂單號、用戶名、訂購日期、付款方式、運輸方式;車輛信息表:車牌號碼、司機名、司機電話、車輛類型、車輛介紹、車輛出運狀態(tài);區(qū)域信息表:區(qū)域名、區(qū)域介紹;投訴看法信息表:投訴內容、投訴時間;投訴內容信息表:投訴人名字、投訴人e-mail、投訴時間、投訴標題、投訴內容;友情鏈接信息表:網址名、連接網址、更新時間;公共消息信息表:消息名、消息內容、更新時間。2.4.2數(shù)據(jù)庫系統(tǒng)表以下列出本系統(tǒng)所須要的各個信息表,并對各信息表給出了相應的分析說明。表4用戶信息表列名數(shù)據(jù)類型長度功能描述Useridint4用戶IDUsernamevarchar50用戶名Rnamevarchar40真實姓名Userpassvarchar16用戶密碼Emailvarchar50郵箱Addressvarchar80用戶地址Telchar15用戶電話Questionvarchar50找回密碼問題Resultvarchar50問題答案Dattimedatetime8注冊時間此表用來保存系統(tǒng)用戶信息,記錄用戶的ID、用戶名、用戶密碼、郵箱、用戶地址、用戶地址、用戶電話、找回密碼問題、問題答案、注冊時間等內容。表5商品信息表列名數(shù)據(jù)類型長度功能描述Wareidint4商品IDWareareaint4所在區(qū)域Warenamevarchar50商品名稱Warepriceint40商品價格Waretypevarchar16商品類型Wareintrotext50商品介紹Wareimagevarchar80商品圖片Wareifchar50是否舉薦Dattimedatetime8添加時間商品信息表:此表用來保存商品信息,記錄商品的ID、商品名稱、商品價格、商品類型、商品介紹、商品圖片、是否舉薦、添加時間等內容。表6管理員信息表列名數(shù)據(jù)類型長度功能描述IDint4管理員IDAdminnamevarchar50管理員名稱Adminpassint40管理員密碼此表用來保存管理員信息,記錄管理員的ID、管理員名稱、管理員密碼。表7訂單信息表列名數(shù)據(jù)類型長度功能描述subvarchar4訂單IDUsernamevarchar50用戶登錄名Rnamevarchar40用戶名稱Spdatedatatime16訂購日期Emailvarchar30用戶郵箱Addressvarchar30用戶地址Postvarchar10是否舉薦Paymentchar8付款方式Telchar15用戶電話Carryvarchar8運輸方式Spifint4是否執(zhí)行Othertext50訂單說明此表用來保存用戶訂單信息,記錄系統(tǒng)自動生成的訂單號、訂購日期、付款方式、運輸方式以及用戶的基本信息。表8購物信息表列名數(shù)據(jù)類型長度功能描述Subidvarchar50訂單IDWarenamevarchar50貨物名稱Pricebigint8貨物價格Wsumbigint8貨物數(shù)量Wcountbigint8統(tǒng)計此表用來記錄用戶登錄購物生成的訂單狀況,及訂單的內容。包括訂單號,購買貨物的名稱以及貨物的價格等。表9區(qū)域信息表列名數(shù)據(jù)類型長度功能描述AreaidInt4區(qū)域IDAreanamechar10區(qū)域名稱Arearesumevarchar50區(qū)域介紹此表保存整個物流系統(tǒng)服務的區(qū)域內容,包括各個區(qū)域的ID、區(qū)域名稱和對區(qū)域的介紹。表10車輛信息表列名數(shù)據(jù)類型長度功能描述Car_brandvarchar50車牌號碼Carareaint4所在區(qū)域Driver_namevarchar20司機姓名Driver_telvarchar20司機電話Car_typevarchar50車型Resumetext16備注Car_statebit1車輛狀態(tài)保存運營車輛的信息,包括車牌號碼、司機姓名、司機電話、車型、車輛狀態(tài)等內容。表11投訴看法信息表列名數(shù)據(jù)類型長度功能描述Textidint4用戶IDUsernamevarchar50用戶名Emailvarchar50郵箱Textnamechar15主題內容Textgutvarchar50留言內容Dattimedatetime8留言時間此表用來保存用戶投訴建議的內容,包括留言人的姓名、郵箱、留言內容以及留言時間等。表12友情鏈接信息表列名數(shù)據(jù)類型長度功能描述Lnamevarchar50鏈接名Laddressvarchar50鏈接網址Ldatetimedatetime8發(fā)布時間此表用來保存友情鏈接信息,管理員可以通過添加友情鏈接信息更新鏈接信息,包括鏈接名、網址以及發(fā)布時間等。表13公共消息信息表列名數(shù)據(jù)類型長度功能描述Testtext16公告內容Dattimedatatime8公告時間此表用于保存管理員發(fā)布的公共消息,包括公告內容和時間。2.5數(shù)據(jù)庫設計2.5.1數(shù)據(jù)庫連接JSP可以輕松的與多種數(shù)據(jù)庫相連,通過JSP網頁可以添加、刪除、修改和閱讀數(shù)據(jù)庫中的數(shù)據(jù)。JSP連接數(shù)據(jù)可以通過兩種方法,一種是通過JDBCDRIVER,另一種是通過JDBC-ODBC橋。在與數(shù)據(jù)庫建立一個鏈接之前你必需做以下兩個工作:(1)加載驅動程序;(2)建立鏈接。1.加載驅動程序這里只須要一句代碼。假如你的classname是jdbc.DriverAhstu,那么你就把代碼換成這樣:Class.forName("jdbc.DriverAhstu")。對于MYSQL來說,其classname是org.gjt.mm.mysql.Driver,實際代碼就可以寫成Class.forName("org.gjt.mm.mysql.Driver")。2.建立連接第一步是與DBMS建立連接,看如下的代碼:Connectioncon=DriverManager.getConection(Url,"myLogin","myPassword");其次步同樣簡潔,只要確定Url如何供應,假如運用JDBC—ODBC橋驅動程序,那么JDBC的URL應當是jdbc:odbc:接下來是你的數(shù)據(jù)源的名或數(shù)據(jù)庫的名。所以,假如你用ODBC訪問ODBC數(shù)據(jù)源,名字叫JSP,那么你的JDBCURL應當寫成jdbc:odbc:JSP。在"myLogin"應當填上你登錄DBMS的用戶名,后面的"myPassword"自然是口令??纯创a:Stringurl="jdbc:odbc:Business";Connectioncon=DriverManager.getConnection(url,"user","password");一旦DriverManager.getConnection方法找到了建立鏈接的驅動程序和源,那么起先依據(jù)后面供應的用戶名和口令起先與DBMS建立連接,假如通過則鏈接建立完成。由于在本系統(tǒng)中要多次調用數(shù)據(jù)庫,而且這種連接是一種很消耗系統(tǒng)資源的操作,所以將調用數(shù)據(jù)庫的部分寫成一個JavaBeans程序,以下為具體實現(xiàn)代碼:packagecom.bwm.db;importjava.sql.*;publicclassCondb{ String StringSc="jdbc:odbc:Business"; Connectioncon=null; ResultSetrs=null; publicCondb(){ try{ Class.forName(Sd); }catch(java.lang.ClassNotFoundExceptione){ System.err.println(e);} }publicResultSetexecuteQuery(Stringsql){ try{ con=DriverManager.getConnection(Sc); Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); }catch(SQLExceptioner){ System.err.println(er.getMessage()); } returnrs; }publicintexecuteUpdate(Stringsql){ intresult=0; try{ con=DriverManager.getConnection(Sc); Statementstmt=con.createStatement(); result=stmt.executeUpdate(sql); }catch(SQLExceptionex){ System.err.println(ex.getMessage()); } ……}2.5.2數(shù)據(jù)庫操作將編譯后的JavaBeans放在WEB-INF\src\com\bwm\db下,在編譯通過后,便可以運用以下模式來對數(shù)據(jù)庫進行操作。通過對數(shù)據(jù)庫操作的封裝,可以進行對數(shù)據(jù)庫的全部操作(如插入、刪除、修改、查詢數(shù)據(jù)等)。<jsp:useBeanid=”jsp”scope=”page”class=”Condb.opendb”/>Stringsql=”select*fromuser”……//sql查詢語句//rs為返回結果的ResultSet對象ResultSetrs=jsp.executeQuery(sql);If(rs.next()){……//對記錄集的處理}//關閉rsrs.close();3系統(tǒng)的具體設計與實現(xiàn)3.1前臺模塊的具體設計前臺主頁功能:客戶登錄、客戶注冊、客戶找回密碼、物流中心貨物展示、商品搜尋、貨物銷售排行、友情鏈接、管理員入口鏈接。以下是各功能模塊介紹:3.1.1客戶登錄功能用戶登錄窗口設置在首頁上,主要用來接收用戶錄入的用戶名和密碼,該頁面運行效果如圖:

圖3用戶登錄單擊“注冊”按鈕就會進入user/index.htm頁面執(zhí)行;單擊“登錄”按鈕時,假如數(shù)據(jù)表中用戶名和密碼存在就顯示登錄勝利,并返回首頁,否則彈出錯誤的提示信息。用來推斷用戶身份是否合法的代碼如下: Condbcon=newCondb();Stringlogin=request.getParameter("login"); if(login!=null&&login.equals("注冊")){ response.sendRedirect("../user/index.htm"); }if(login!=null&&login.equals("登錄")){ Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); Stringsql="select*fromtb_UserwhereUsername='"+username+"'andUserpass='"+password+"'"; ResultSetrs=con.executeQuery(sql); if(rs.next()){ session.setAttribute("username",username); session.setAttribute("password",password);%><scriptlanguage="javascript"> alert("登錄勝利");</script><%response.sendRedirect("../index.jsp"); }else{%><scriptlanguage="javascript"> alert("用戶名或密碼錯誤"); history.back();</script></body>系統(tǒng)先從數(shù)據(jù)庫中檢測提交的用戶名和密碼,假如存在就將其保存在

session中,并提示“登錄勝利”。假如系統(tǒng)從數(shù)據(jù)庫中找不到用戶提交的用戶名和密碼,則提示“用戶名或密碼錯誤”,并返回到登錄頁面。用戶注冊功能系統(tǒng)供應了一個用戶注冊功能。系統(tǒng)是按B/S結構模塊開發(fā)的,任何連接上Internet的人都可以通過網絡訪問本系統(tǒng)進行注冊,這就會降低用戶身份的真實性及信任度。為了防止用戶惡意注冊或者重復注冊,檢測用戶名是否合法,系統(tǒng)是否已經存在此用戶等是必需的。此界面實現(xiàn)的是對用戶注冊信息的驗證以及保存,以實現(xiàn)新用戶的注冊。用戶注冊界面如圖:圖4用戶注冊圖部分實現(xiàn)代碼如下:此界面接受新用戶信息的輸入并推斷用戶輸入信息的合法性,用以保證用戶信息錄入的正確性及后臺數(shù)據(jù)庫的合法保存。首先是檢測用戶是否按要求輸入基本信息: functioncheck(){ if(form1.username.value==""){ alert("請輸入你的用戶名"); form1.username.focus(); returnfalse; …… if(form1.password.value==""){ alert("請輸入你注冊的密碼"); form1.password.focus(); returnfalse; }再對用戶提交的數(shù)據(jù)進行數(shù)據(jù)庫驗證:Datedate=newDate(); Condbcon=newCondb(); Stringusername=request.getParameter("username");…… Stringstr="selectUsernamefromtb_UserwhereUsername='"+username+"'"; ResultSetrs=con.executeQuery(str); if(rs.next()){%>假如系統(tǒng)中已經存在此用戶,則系統(tǒng)提示"此用戶已經被占用請重新注冊",并返回到注冊頁面。<scriptlanguage="javascript"> alert("此用戶已經被占用請重新注冊"); history.back();</script><%假如系統(tǒng)中不存在此用戶名,則將用戶信息提交到數(shù)據(jù)庫保存,并提示用戶"注冊勝利"。Stringsql="insertintotb_User(Username,Rname,Userpass,Email,Address,Phone,Question,Result,Dattime)values('"+username+"','"+Rname+"','"+password+"','"+email+"','"+address+"','"+photo+"','"+pass+"','"+question+"','"+date.toLocaleString()+"')";inttemp=con.executeUpdate(sql);%><scriptlanguage="javascript"> alert("注冊勝利"); window.location.href=("../index.jsp");</script>找回密碼功能用戶很久沒有登錄系統(tǒng)可能會遺忘密碼,或者因為其他緣由丟失了密碼。密碼丟失會給用戶帶來不必要的麻煩,假如沒有一個密碼回找功能供應應用戶,那么用戶只有重新注冊一個新的用戶或者不再運用此系統(tǒng),這樣不僅奢侈用戶的時間又奢侈了系統(tǒng)的資源,還會造成此很多“睡眠用戶”。假如用戶記住了自己注冊的用戶名及電子郵箱名,并供應正確的密碼提示問題的答案,就可以通過“找回密碼”功能找回自己的密碼。此功能實現(xiàn)部分重要代碼如下:Condbcon=newCondb();Stringusername=request.getParameter("username");Stringemail=request.getParameter("email");Stringquestion=request.getParameter("question");Stringresult=request.getParameter("result");Stringsql="select*fromtb_UserwhereUsername='"+username+"'andEmail='"+email+"'andQuestion='"+question+"'andResult='"+result+"'";ResultSetrs=con.executeQuery(sql);Stringpassword="";Stringpass="你的密碼是:";if(rs.next()){password=rs.getString(4);%><scriptlanguage="javascript">alert("<%=pass+password%>");window.location.href="../index.jsp";</script><% }else{ out.println("<scriptlanguage='javaScript'>alert('你輸入信息有誤');history.back();</script>"); }%>此頁面接受用戶的信息輸入,并將用戶輸入傳入驗證頁面。在找回密碼界面輸入的“用戶名”、“E-mial”、“答案”,系統(tǒng)會依據(jù)用戶提交的信息,調用驗證信息頁面來查看數(shù)據(jù)庫,將提交的信息與數(shù)據(jù)庫中保存的用戶注冊信息進行比照。假如答案與數(shù)據(jù)庫中保存的一樣,則輸出用戶密碼給用戶。3.1.4用戶資料修改功能用戶資料修改是為用戶更改個人信息所供應的窗口。用戶只有登錄網頁之后才有權限修改個人資料信息。該功能首先推斷用戶登錄狀態(tài),假如為非法用戶(未登錄),則提示錯誤信息并返回首頁,否則輸出用戶全部注冊信息到頁面,供用戶查看修改。代碼如下:<%Condbcon=newCondb();if(session.getAttribute("username")==null){%><scriptlanguage="javascript"> alert("你必需先登錄后才能修改個人資料"); history.back();</script><% }else{Stringsql="select*fromtb_UserwhereUsername='"+session.getAttribute("username")+"'";ResultSetrs=con.executeQuery(sql);if(rs.next()){%><tdheight="21"align="left">密碼</td><inputname="password"type="password"class="txt_grey"value="<%=rs.getString(3)%>"<inputname="email"type="text"class="txt_grey"value="<%=rs.getString(5)%>"s<tdheight="21"align="left">找回密碼問題</td><inputname="pass"type="text"class="txt_grey"value="<%=rs.getString(8)%>"<tdheight="22"align="left">問題答案</td><inputname="question"type="text"class="txt_grey"value="<%=rs.getString(9)%>"}3.1.5購物車模塊客戶一般在購物過程中可以依據(jù)自己的須要將很多種商品選擇到購物車中,然后到收銀臺付錢。而物流中心的客戶在選購 過程中須要存放已選購 的貨物(列出一張已購物品清單),運用這種技術特別便利,不但可以隨時添加、查看、修改、清空購物車中的內容,還可以隨時拿單去結款。1)添加購物車添加購物車即是把客戶選中的物品暫放在購物車中。當客戶在前臺首頁中單擊商品展示區(qū)的“購買”按鈕時,系統(tǒng)會將該商品的具體信息展示在查看物品清單頁面中,運行結果如圖:

圖5查看物品清單本系統(tǒng)購物車是以集合類型(Vector)方法實現(xiàn)。集合類型在Java中又稱為向量,可以加入重復數(shù)據(jù),它的作用和數(shù)組相同,可以保存一系列數(shù)據(jù)。但集合類型也有它獨特的優(yōu)點,就是可以便利地對集合內的數(shù)據(jù)進行查找、增加、刪除和修改等操作。2)查看購物車為了用戶隨時查看購物狀況,在物流平臺的首頁加入了查看購物車的鏈接,通過它可以將用戶全部選中的商品信息放入購物車中顯示出來。查看購物車頁面的運行結果如圖:圖6查看購物車這里我用一組文本框記錄用戶購買的商品的數(shù)量,用戶可以在文本框中輸入想要購買的數(shù)量然后單擊“修改”按鈕。假如想刪除該商品,可以在數(shù)量文本框中輸入“0”,并單擊“修改”按鈕來更新購物車中商品的數(shù)量。系統(tǒng)每次只會將一個商品放入購物車中,假如用戶須要多個同種商品,可以通過修改商品信息右側相應文本框的值來完成。操作完成后須要通過單擊修改按鈕來保存操作。其部分關鍵現(xiàn)代碼如下:<% Condbcon=newCondb(); Strchr=newStr(); Stringtemp=chr.toChinese(request.getParameter("buy1")); Stringsql="select*fromtb_WarewhereWarename='"+temp+"'"; ResultSetrs=con.executeQuery(sql); if(rs.next()){ Stringpn=rs.getString(2); intprice=rs.getInt(3); Stringwtype=rs.getString(4); Stringintro=rs.getString(5); Stringimg=rs.getString(6);%>這個頁面不僅是用戶購物車的顯示頁面,也是用戶生成訂單的導航頁面,點擊此頁面下面的“去收銀臺”就可以完成從購物到結算的跳轉。3)生成訂單生成訂單是網上選購 的最終目的,前面全部功能的實現(xiàn)都是為最終生成一個用戶滿足的訂單做基礎,在此要生成一個可供用戶隨時查詢的訂單號,還要保存用戶訂單中所購買的商品信息。當用戶確認對購物車中的商品不再變更以后,就可以到收銀臺結帳并生成訂單。結帳的流程為:從購物中讀取商品名稱,商品數(shù)量,商品價格信息,生成唯一的訂單號碼,同時也把用戶注冊的基本信息讀取出來,形成一個完整的訂單寫入數(shù)據(jù)庫,結帳填寫訂單頁面的結果如圖:

圖7填寫訂單在生成訂單模塊中要解決的最關鍵的問題是訂單號的相異性,確保不能有重復的訂單號,也不能一個用戶在同一時間生成多個訂單。主要運用了調出用戶信息并生成唯一訂單號,調出用戶信息就是完全的對數(shù)據(jù)庫進行操作,利用session對象把登錄后的用戶名保存起來,在訂單生成時保存的用戶名從數(shù)據(jù)庫的用戶表中取出即可。生成唯一訂單號方法有很多,只要確保訂單號碼的惟一性及便利用戶記錄以便于查詢自己訂單的執(zhí)行狀態(tài)即可。本例中生成的惟一訂單號是將系統(tǒng)當前日期中的年、月、日、時、分、秒以及毫秒疊加得出的。具體代碼如下: Datedate=newDate(); Condbcon=newCondb(); 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; 由于DATA對象返回的各級時間單位都是整型的,須要通過String對象的valueOf方法將其轉換成String類型。訂單生成后,用戶單擊提交按鈕,便可以將錄入的訂單信息保存到數(shù)據(jù)庫中。4)清空購物車清空購物車是指當用戶訂單生成后,倘如還想接著購物肯定要清空購物車再進行購物,這樣防止重復購物,其實清空購物車實現(xiàn)起來特別簡潔,只須要將session中存儲的shop對象清空即可。<% Vectornewshop=newVector();//實例一個集合類 session.removeAttribute("shop");//調用session的removeAttribute方法移除"shop"。%>5)訂單查詢模塊用戶提交訂單后,通過產生的訂單號查詢訂單信息及執(zhí)行狀態(tài)。用戶在物流中心首頁中單擊訂單查詢超鏈接,進入輸入訂單號頁面,運行結果如圖:

圖8查詢訂單在文本框中輸入訂單號并單擊“提交”按鈕,假如訂單號輸入無誤,系統(tǒng)將依據(jù)訂單號轉到訂單查詢顯示頁面,將用戶此訂單的具體內容輸出到頁面。在頁面的下面顯示用戶定單的處理狀態(tài)(是否已經執(zhí)行)。運行結果如圖:圖9訂單具體內容該方法實現(xiàn)只須要依據(jù)用戶錄入的訂單號在數(shù)據(jù)表中查詢出對應的貨品信息即可。3.1.6投訴建議功能接受用戶的投訴與建議,是一個物流網站不行或缺的組成部分,它可以增進用戶與網站之間的溝通。其功能實現(xiàn)即為網絡開發(fā)中存在的各種各樣的留言板,都由基于閱讀留言板及添加留言兩部分組成。添加留言是用戶與用戶,以及用戶與網站之間的一種溝通模式,只有把用戶想要表達的內容添加到數(shù)據(jù)庫,才能在閱讀留言板中進行顯示。用戶在留言板中單擊“添加留言”超鏈接便可以打開添加留言頁面,該頁面主要用來提交用戶輸入的留言信息,運行結果如下圖:

圖10投訴建議其工作流程為:頁面接受用戶信息的輸入,并將信息傳入信息添加頁面,調入從文本框客戶輸入的留言信息,然后把接受的信息保存到留言信息表中。3.2后臺模塊的具體設計后臺功能允許具有管理員權限的用戶運用,它是實現(xiàn)前臺功能的基礎。后臺包括管理員身份驗證、區(qū)域信息管理、車輛信息管理、商品信息管理、訂單信息管理、查詢用戶信息管理、添加鏈接、公共信息管理等模塊。后臺功能介紹:管理員身份驗證:為合法用戶供應一個后臺管理入口。商品信息管理:向商品表中插入前臺首頁展示的商品信息。訂單信息管理:網站管理員對用戶訂單的執(zhí)行和編輯訂單狀態(tài)。查詢用戶信息管理:查詢全部注冊用戶,對一些非法或失信用戶進行刪除操作。添加鏈接:管理員向前臺首頁添加友情鏈接信息。公共信息管理:網站向用戶發(fā)布最新公告信息。以下是各功能模塊介紹:3.2.1管理員登錄模塊在前臺首頁單擊“管理員入口”,將轉到管理員登錄頁面。該頁面的功能是對管理員身份進行驗證。用戶輸入登錄ID和密碼后單擊“登錄”按鈕,系統(tǒng)將推斷登錄ID及密碼的有效性,假如通過驗證則轉到后臺主頁,反之則提示錯誤。登錄頁面如下圖:圖11管理員后臺操作頁面在管理員登錄頁面中,是通過JavaScript來實現(xiàn)錄入數(shù)據(jù)完整性驗證的,關鍵代碼如下:<scriptlanguage="javascript">functioncheck(){ if(form1.login.value==""){ alert("請輸入你的登錄ID"); returnfalse; history.back(); form1.login.focus(); } if(form1.password.value==""){ alert("請輸入你的登錄密碼"); returnfalse; history.back(); form1.password.focus(); }}</script>用戶單擊“登錄”時,假如錄入數(shù)據(jù)正確便可通過,系統(tǒng)會將數(shù)據(jù)提交到推斷腳本中來推斷輸入的信息,數(shù)據(jù)庫中管理員表是否存在提交的用戶名和密碼,假如條件符合就保存用戶名信息到session,管理員有權限對本網站進行維護;否則提示“登錄ID或密碼有誤”。具體實現(xiàn)代碼為:<title>登錄檢驗窗口</title></head><body><% Condbcon=newCondb(); Stringlogin=request.getParameter("login"); Stringpassword=request.getParameter("password"); session.setAttribute("login",login); Stringsql="select*fromtb_AdminwhereAdmin='"+login+"'andAdminpass='"+password+"'"; ResultSetrs=con.executeQuery(sql); if(rs.next()){ response.sendRedirect("index.htm"); }else{%><scriptlanguage="javascript"> alert("登錄ID或密碼錯誤"); history.back();</script><% }管理員登錄流程圖:圖12管理員流程管理員首頁是由上(top.htm)、左(left.htm)、中(center.jsp)三個框架組成的頁面。該頁面是典型的動態(tài)頁面。其中左框架實了系統(tǒng)功能的導航。該頁面為了網站平安,防止一些人的有意破壞,在center.jsp頁中加入了部分代碼用于驗證管理員身份,如下所示:<scriptlanguage="javascript">functionmyclose(){closes.Click();}</script><%if(session.getAttribute("login")==null){out.println("<scriptlanguage='javaScript'>alert('警告,非法登錄');myclose();</script>");//從會話中獲得管理員用戶名,假如為空認為非法登錄強行關閉IE窗口}區(qū)域管理模塊區(qū)域作為物流管理系統(tǒng)的管理目標,是系統(tǒng)運營中重要的管理對象。區(qū)域信息將影響到貨物的配送、資源的分布。點擊導航區(qū)中的“添加區(qū)域”超鏈接,系統(tǒng)將打開添加區(qū)域頁面,該頁面主要用于區(qū)域信息添加到數(shù)據(jù)庫中,以供應管理員首頁展示區(qū)域所須要的數(shù)據(jù)依據(jù)。添加區(qū)域后查看區(qū)域頁面的運行結果如圖所示:圖13區(qū)域查詢其具體實現(xiàn)頁面提交代碼如下:<% Datedate=newDate(); Condbcon=newCondb(); Stringarea_id="select*fromtb_AreawhereCount(area_id)"; Stringarea_name=request.getParameter("areaname"); Stringarea_resume=request.getParameter("arearesume"); Stringsq="select*fromtb_Areawherearea_name='"+area_name+"'"; ResultSetrs=con.executeQuery(sq); if(rs.next()){ out.println("<scriptlanguage='javaScript'>alert('此區(qū)域已經添加請不要重復錄入');history.back();</script>"); }else{ Stringsql="insertintotb_Area(area_id,area_name,area_resume)values('"+0+"','"+area_name+"','"+area_resume+"')"; 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();%>車輛管理模塊點擊導航區(qū)中的“添加車輛”超鏈接,系統(tǒng)將打開添加車輛頁面,該頁面主要用于將車輛信息添加到數(shù)據(jù)庫中,以供應前臺首頁展示車輛所須要的數(shù)據(jù)依據(jù)。添加車輛頁面的運行結果如圖所示:圖14添加車輛其具體實現(xiàn)頁面提交代碼如下:<body><% Datedate=newDate(); Condbcon=newCondb(); Stringcar_brand=request.getParameter("car_brand"); Stringdriver_name=request.getParameter("driver_name"); Stringdriver_tel=request.getParameter("driver_tel"); Stringcar_type=request.getParameter("car_type"); Stringresume=request.getParameter("resume"); Stringsq="select*fromtb_Carwherecar_brand='"+car_brand+"'"; ResultSetrs=con.executeQuery(sq); if(rs.next()){ out.println("<scriptlanguage='javaScript'>alert('此車輛已經添加請不要重復錄入');history.back();</script>"); }else{ Stringsql=""; if(true){ sql="insertintotb_Car(car_brand,driver_name,driver_tel,car_type,resume,car_state)values('"+car_brand+"','"+driver_name+"','"+driver_tel+"','"+car_type+"','"+resume+"','"+0+"')"; } 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();%></body>正如JSP的平安性質,在前臺信息錄入頁面,用戶閱讀器中以上代碼并沒有干脆出現(xiàn)在車輛添加頁面中,而是在另一頁面(addcar.jsp),以供前臺頁面調用,而遠程客戶并不能通過輸入肯定路徑惡意登錄到這個頁面,這樣就很好的實現(xiàn)了對代碼的隱藏。3.2.2商品查看模塊點擊導航區(qū)中的“查看商品”超鏈接,系統(tǒng)將打開查看商品頁面,該頁面主要用于從數(shù)據(jù)庫中取出商品信息,以供應前臺首頁展示商品所須要的數(shù)據(jù)依據(jù)。為了削減人為錯誤,在提交商品信息時,須要對數(shù)據(jù)的合法性進行驗證,輸入的商品價格不能是字符型,而輸入的圖片只支持Gif格式等,這些任務可以是用JavaBean來實現(xiàn)的,可以由腳本語言JavaScript編寫,本系統(tǒng)是用腳本語言的函數(shù)check()來完成,其關鍵代碼如下:<scriptlanguage="javascript"><!-- functioncheck(){ if(form1.warename.value==""){ alert("請?zhí)砑由唐访Q"); form1.warename.focus(); returnfalse; …… if(form1.image.value.indexOf(".gif")==-1){ alert("請輸入格式為gif的圖片"); form1.image.focus(); returnfalse; } }為了確保商品在數(shù)據(jù)庫中的惟一性,在用戶提交表單時,須要先依據(jù)用戶輸入的商品名稱對數(shù)據(jù)庫進行查詢,確保此商品在數(shù)據(jù)庫中不存在,才可執(zhí)行插入操作。3.2.3訂單處理模塊用戶在前臺購物所產生的訂單并不能馬上執(zhí)行,須要系統(tǒng)管理員在后臺訂單信息管理審核確認它的執(zhí)行性。管理員單擊導航中的“訂單信息管理”超鏈接進入用戶訂單處理頁面,該頁面上會顯示近期全部沒被處理的訂單,其運行結果如圖:圖15用戶訂單顯示用戶訂單處理頁面顯示的是用戶基本信息。要想知道訂單中涉及的商品,須要單擊相應的訂單號的超鏈接打開商品訂購詳單頁面才行。商品訂購詳單頁面的運行結果如圖:圖16用戶訂單處理商品訂購詳單主要通過提交的訂單號從商品信息表中查詢出對應的商品并顯示在頁面中,管理員審核后可通過復選框來設置訂單是否執(zhí)行。當用戶購買商品后,其訂單須要通過以下幾個流程才能最終完成購物。一是提交訂單,系統(tǒng)會保存用戶提交的訂單產生訂單;訂單產生后用戶可以查詢其訂單的處理狀態(tài);假如已經處理則打算收貨,如沒有處理,則還要等待管理員確認訂單。管理員通過后臺管理平臺查看用戶的訂單狀態(tài),當確認訂單的可執(zhí)行性后(即已經收到款項等)就執(zhí)行用戶訂單,并發(fā)消息通知用戶打算收貨,否則刪除用戶訂單。其具體實現(xiàn)流程如下頁圖21:用戶購物用戶購物產生訂單訂單狀態(tài)已經處理沒有處理管理員確認訂單有效訂單無效訂單管理員執(zhí)行訂單發(fā)送消息通知客戶刪除訂單等待確認訂單用戶查詢訂單圖17訂單處理流程圖3.2.4用戶管理模塊查詢用戶信息模塊用來完成對注冊用戶的注冊信息的閱讀及刪除功能。假如用戶蓄意多次注冊或者在長時間內沒有訂單產生,管理員就可以將該用戶信息刪除?!安樵冇脩粜畔ⅰ边\行結果如圖:圖18用戶信息假如想刪除一個信息則用到刪除功能,全部的刪除功能寫在對應的(*.jsp)頁面中,我以對車輛的刪除為例來說明怎樣實現(xiàn)刪除功能,以下是車輛刪除的具體代碼:Condbcon=newCondb(); Strstr=newStr(); Stringcar_brand=str.toChinese(request.getParameter("car_brand")); if(car_brand.equals("")||car_brand==null){%><scriptlanguage="javascript"> alert("車輛已被全部清空"); history.back();</script><% }else{ Stringdel="deletefromtb_Carwherecar_brand='"+car_brand+"'"; inttemp=con.executeUpdate(del); if(temp>0){ response.sendRedirect("carview.jsp"); }else{%><scriptlanguage="javascript"> alert("數(shù)據(jù)庫發(fā)生錯誤"); history.back();</script>首先推斷是否存在刪除對象,然后對其進行刪除。此例中對車輛的刪除是對其關鍵字”car_brand”(車牌號碼)的刪除而完成的。3.2.5鏈接添加模塊用戶在后臺首頁導航區(qū)中單擊“添加鏈接”即可進入添加友情鏈接頁面,該頁用于前臺顯示友情鏈接信息。添加鏈接頁面的運行結果如下:

圖19添加友情鏈接主要代碼如下:<% Datedate=newDate(); Condbcon=newCondb(); Stringlinkname=request.getParameter("linkname"); Stringaddress=request.getParameter("address");Stringsql="insertintotb_Link(Lname,Laddress,Ldatetime)values('"+linkname+"','"+address+"','"+date.toLocaleString()+"')"; inttemp=con.executeUpdate(sql); if(temp>0){%><scriptlanguage="javascript"> alert("添加勝利"); history.back();</script><% }else{%><scriptlanguage="javascript"> alert("系統(tǒng)故障請與管理員聯(lián)系"); history.back();這里實現(xiàn)友情鏈接添加,往數(shù)據(jù)庫里添加數(shù)據(jù)時,調用了一個系統(tǒng)時間作為輸入?yún)?shù):date.toLocaleString(),此對象返回的是系統(tǒng)當前時間。3.2.6公共消息模塊公共消息模塊實現(xiàn)是在前臺發(fā)布公共消息。管理員在后臺消息管理中單擊“添加公共消息”即可進入添加公共消息頁面,該頁用于前臺顯示公共消息信息。添加公共消息頁面的運行結果如下:公告信息公告信息圖20添加公共消息首先在管理員輸入公共消息時推斷輸入信息是否為空,然后將從文本輸入窗口傳入的公共消息內容調用數(shù)據(jù)添加頁面將之保存到公共消息信息表中,假如勝利則提示“添加勝利”,否則提示“添加失敗”。在每個客戶端用戶登錄后,頁面會從數(shù)據(jù)庫取出保存在公共消息信息表中的內容,從而實現(xiàn)消息的發(fā)布。4網站性能測試與分析系統(tǒng)的測試是為了發(fā)覺錯誤而執(zhí)行的程序的過程,勝利的測試是發(fā)覺了至今尚未發(fā)覺的錯誤的測試。測試的目的就是希望能以最少的人力和時間發(fā)覺潛在的各種錯誤和缺陷?;赪EB系統(tǒng)的測試除具有適應軟件工程的測試方法外,還具有其特殊性。B/S結構系統(tǒng)的測試包括功能測試、客戶端閱讀器兼容性測試以及平安性測試三個部分。4.1功能測試1)鏈接測試鏈接是Web應用系統(tǒng)的一個主要特征,它是在頁面之間切換和指導用戶去一些不知道地址的頁面的主要手段。鏈接測試可以自動進行,現(xiàn)在已經有很多工具可以采納。鏈接測試必需在集成測試階段完成,也就是說,在整個Web應用系統(tǒng)的全部頁面開發(fā)完成之后進行鏈接測試。2)表單測試當用戶給系統(tǒng)管理員提交信息時,就須要運用表單操作,例如用戶注冊、登陸、信息提交等。在這種狀況下,我們必需測試提交操作的完整性,以校驗提交給服務器的信息的正確性。3)數(shù)據(jù)庫測試數(shù)據(jù)庫為系統(tǒng)的管理、運行、查詢和實現(xiàn)用戶對數(shù)據(jù)存儲的懇求等供應空間。在運用了數(shù)據(jù)庫的Web應用系統(tǒng)中,一般狀況下,可能發(fā)生兩種錯誤,分別是數(shù)據(jù)一樣性錯誤和輸出錯誤??煞謩e進行測試。4.2客戶端兼容性測試4.2.1平臺測試我們運用的操作系統(tǒng)有很多種,這樣,就可能會發(fā)生兼容性問題,同一個應用可能在某些操作系統(tǒng)下能正常運行,但在另外的操作系統(tǒng)下可能會運行失敗。因此測試是必要的。4.2.2閱讀器測試不同的閱讀器有不同的支持。例如,JavaScript是Netscape的產品,Java是Sun的產品等等。不同的閱讀器對平安性和Java的設置也不一樣。4.3平安性測試主要是對有效和無效的用戶名和密碼測試來說,要留意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而干脆閱讀某個頁面等。 服務器端的腳本常常構成平安漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經過授權,就不能在服務器端放置和編輯腳本的問題[15]。4.4測試結果與分析4.4.1功能測試1)鏈接測試測試結果表明基本上已完成模塊的鏈接都正常,對于部分完善之中的模塊,短暫運用空鏈接,并給出明確說明,以備日后擴展之用。2)表單測試在此項測試中,共有頁面表單100余項,因時間關系,不能全部進行測試,我隨機抽取15%的提交表單進行了測試,能夠正常運行,完成所需功能。3)設計語言測試系統(tǒng)在服務端采納JAVA作為開發(fā)語言,同時客戶端的驗證采納JavaScript語言,基本適應了當前絕大部分的閱讀器。4)數(shù)據(jù)庫測試為使系統(tǒng)存取數(shù)據(jù)庫的性能比較高,我對應用比較常見的數(shù)據(jù)庫調度運用了存儲過程進行數(shù)據(jù)庫的操作,其中用到的存儲過程有50余個,視圖有20余個,SQL語句不計,經抽樣測試,都能依據(jù)要求實現(xiàn)應有的功能。4.4.2客戶端兼容性測試因環(huán)境緣由,系統(tǒng)測試過的系統(tǒng)有Windows2003ServerEnterpriseEdition,Windows2000Professional/Server/AdvanceServer,能夠正常運行。4.4.3平安性測試為

溫馨提示

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

最新文檔

評論

0/150

提交評論