基于JSP的網(wǎng)絡(luò)化銷售管理系統(tǒng)_第1頁
基于JSP的網(wǎng)絡(luò)化銷售管理系統(tǒng)_第2頁
基于JSP的網(wǎng)絡(luò)化銷售管理系統(tǒng)_第3頁
基于JSP的網(wǎng)絡(luò)化銷售管理系統(tǒng)_第4頁
基于JSP的網(wǎng)絡(luò)化銷售管理系統(tǒng)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

德州學(xué)院計(jì)算機(jī)系2007屆計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì)PAGEPAGE5目錄摘要 11引言 22需求分析 22.1需求建模 22.2實(shí)體-關(guān)系圖 22.3數(shù)據(jù)流圖 32.4數(shù)據(jù)字典 42.5性能需求 52.5.1數(shù)值需求 52.6限制條件 63總體設(shè)計(jì) 63.1設(shè)計(jì)分析 63.2數(shù)據(jù)庫設(shè)計(jì) 63.3功能設(shè)計(jì) 93.3.1前臺(tái)產(chǎn)品展示 93.3.2后臺(tái)銷售管理 93.4編程環(huán)境的選擇 104詳細(xì)設(shè)計(jì) 114.1實(shí)現(xiàn)數(shù)據(jù)庫 114.2實(shí)現(xiàn)數(shù)據(jù)庫的連接 114.3利用JavaBean實(shí)現(xiàn)添加、修改、刪除功能 125調(diào)試分析與測試結(jié)果 175.1調(diào)試分析 175.2測試結(jié)果 185.2.1瀏覽前臺(tái)主頁 185.2.2進(jìn)入銷售管理系統(tǒng) 18結(jié)束語 23參考文獻(xiàn) 24Abstract 25致謝 26基于JSP的網(wǎng)絡(luò)化銷售管理系統(tǒng)潘高峰(德州學(xué)院計(jì)算機(jī)系,山東德州253023)摘要摘要:基于JSP的網(wǎng)絡(luò)化銷售管理系統(tǒng)是一個(gè)涵蓋了前臺(tái)信息展示和后臺(tái)銷售管理的典型的信息管理系統(tǒng),它是以軟件工程思想為指導(dǎo),以DreamWeaver和Eclipse為開發(fā)工具,JSP為開發(fā)語言,MySQL為數(shù)據(jù)庫開發(fā)的。本系統(tǒng)實(shí)現(xiàn)了產(chǎn)品、合同、客戶、員工、財(cái)務(wù)、銷售、新聞等信息的查詢、添加、修改、刪除及系統(tǒng)管理等功能,解決了企業(yè)的銷售分支機(jī)構(gòu)與總部間因時(shí)空相隔所存在的實(shí)時(shí)通信問題,提高了工作效率和管理水平,具有一定的現(xiàn)實(shí)意義和應(yīng)用價(jià)值。關(guān)鍵詞:網(wǎng)絡(luò)化銷售;管理系統(tǒng);JSP;MySQL;數(shù)據(jù)庫1引言銷售管理系統(tǒng)是一個(gè)企業(yè)不可缺少的使用工具,使企業(yè)的銷售分支機(jī)構(gòu)通過Internet與企業(yè)總部實(shí)時(shí)通信,完成銷售業(yè)務(wù)和管理。它可以向企業(yè)管理人員提供為制定明智的決策所需的信息。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),當(dāng)前的銷售管理工作基本還處于手工和半信息自動(dòng)化處理狀態(tài),市場上已有的各種銷售管理系統(tǒng),多采用C/S系統(tǒng)結(jié)構(gòu),這種系統(tǒng)有它的優(yōu)點(diǎn)和不足。如:效率低、保密性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。為了做到系統(tǒng)運(yùn)行安全可靠、便于應(yīng)用、可維護(hù)性好、易于進(jìn)行二次開發(fā)、具有良好的擴(kuò)展性,能良好的共享系統(tǒng)中的數(shù)據(jù),我采用先進(jìn)的網(wǎng)絡(luò)應(yīng)用開發(fā)平臺(tái)JSP,結(jié)合必要的相關(guān)系統(tǒng)、產(chǎn)品與工具,針對B/S系統(tǒng)結(jié)構(gòu)的特點(diǎn),來實(shí)現(xiàn)對特定環(huán)境下的網(wǎng)絡(luò)化銷售管理系統(tǒng)的定制開發(fā)采用全I(xiàn)nternet通信連接,使企業(yè)的銷售分支機(jī)構(gòu)通過Internet與企業(yè)總部實(shí)時(shí)通信,完成銷售業(yè)務(wù)和管理。為大中型企業(yè)管理分布在全國的銷售網(wǎng)點(diǎn)提供了一個(gè)功能強(qiáng)大、安裝部署方便、使用成本低廉、操作簡捷的實(shí)時(shí)銷售管理系統(tǒng)。不僅能夠促進(jìn)銷售業(yè)務(wù)的拓展,提高銷售運(yùn)作的效益,也為最終實(shí)現(xiàn)有效的“供應(yīng)鏈管理”和更加廣泛的“電子商務(wù)”奠定了基礎(chǔ)。對于企業(yè)適應(yīng)新環(huán)境,更好的細(xì)分市場、采用先進(jìn)的營銷手段和方法、滿足消費(fèi)需求具有重要的意義。

因此,開發(fā)這樣一個(gè)銷售管理系統(tǒng)成為解決企業(yè)的當(dāng)務(wù)之急。2需求分析需求分析是指擁護(hù)對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。通過對應(yīng)用問題及其環(huán)境的理解與分析,為問題涉及的信息、功能及系統(tǒng)行為建立模型,將用戶需求精確化、完全化,最終形成需求規(guī)格說明。2.1需求建模目標(biāo)軟件系統(tǒng)的模型用來刻劃系統(tǒng)所涉及的信息、處理功能及實(shí)際運(yùn)行時(shí)的外部行為。但是分析階段所建設(shè)的模型不應(yīng)涉及軟件實(shí)現(xiàn)細(xì)節(jié)。本系統(tǒng)建模方法采用面向數(shù)據(jù)流的分析方法,此方法需要E-R圖,數(shù)據(jù)流,數(shù)據(jù)字典等。2.2實(shí)體-關(guān)系圖在數(shù)據(jù)密集型應(yīng)用問題總,對復(fù)雜數(shù)據(jù)及數(shù)據(jù)之間復(fù)雜關(guān)系的分析和建模將成為需求分析的重要任務(wù)。顯然,這項(xiàng)任務(wù)是簡單的數(shù)據(jù)字典機(jī)智無法勝任的。所以有必要在數(shù)據(jù)流分析方法中引進(jìn)合適于復(fù)雜數(shù)據(jù)建模的實(shí)體-關(guān)系圖(E-R圖)本系統(tǒng)E-R圖如圖2-1。圖2-1E-R圖2.3數(shù)據(jù)流圖數(shù)據(jù)流圖就是用來刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù)的。它用簡單的圖形記號分別表示數(shù)據(jù)流、轉(zhuǎn)換、數(shù)據(jù)源以及外部實(shí)體。頂級數(shù)據(jù)流圖如圖2-1。

圖2-2頂級數(shù)據(jù)流圖1級數(shù)據(jù)圖如圖2-2。

圖2-31級數(shù)據(jù)流圖2級數(shù)據(jù)流圖:對員工管理界面的分解

圖2-42級數(shù)據(jù)流圖:對員工管理界面的分解2級數(shù)據(jù)流圖:對前臺(tái)管理界面的分解圖2-52級數(shù)據(jù)流圖:對前臺(tái)管理界面的分解2.4數(shù)據(jù)字典數(shù)據(jù)流圖沒有描述數(shù)據(jù)流的內(nèi)容,所以數(shù)據(jù)流圖必須與描述并組織數(shù)據(jù)的數(shù)據(jù)字典配套使用。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合.本系統(tǒng)的數(shù)據(jù)字典卡片如下:名字:管理人員信息描述:管理人員的基本信息定義:管理人員基本信息=編號+用戶名+密碼+權(quán)限標(biāo)志位置:在數(shù)據(jù)庫的admin表中名字:客戶信息描述:買產(chǎn)品人的基本信息定義:客戶基本信息=編號+姓名+性別+公司電話+E-mail+公司名+公司聯(lián)系人+QQ+手機(jī)+地址+郵編+備注位置:在數(shù)據(jù)庫的client表中名字:合同信息描述:合同的內(nèi)容定義:合同基本信息=合同號+簽約時(shí)間+合同內(nèi)容+發(fā)貨時(shí)間+客戶名稱位置:在數(shù)據(jù)庫的bill表中名字:財(cái)務(wù)信息描述:合同中付款的基本信息定義:財(cái)務(wù)信息=財(cái)務(wù)編號+客戶名稱+總金額+合同號+首付款+添加時(shí)間+欠額+備注位置:在數(shù)據(jù)庫的finance表中名字:新聞信息描述:新聞基本信息定義:新聞信息=新聞編號+新聞標(biāo)題+新聞內(nèi)容+發(fā)表新聞時(shí)間位置:在數(shù)據(jù)庫的news表中名字:公告信息描述:公告基本信息定義:公告基本信息=公告內(nèi)容位置:在數(shù)據(jù)庫的notice表中名字:產(chǎn)品信息描述:產(chǎn)品的基本信息定義:產(chǎn)品基本信息=產(chǎn)品編號+產(chǎn)品名稱+產(chǎn)品類型+庫存數(shù)量+產(chǎn)品價(jià)格+產(chǎn)品信息+備注位置:在數(shù)據(jù)庫的product表中名字:零售信息描述:零售記錄的信息定義:零售記錄信息=編號+商品名稱+數(shù)量+總金額+日期位置:在數(shù)據(jù)庫的retail表中名字:員工信息描述:員工的基本信息定義:員工基本信息=員工編號+姓名+性別+政治面貌+民族+婚姻+生日+身份證號+QQ+電話+手機(jī)+地址+E-mail+郵編+學(xué)位+職位+工作地點(diǎn)+所學(xué)專業(yè)+畢業(yè)院校+月薪+工作經(jīng)驗(yàn)+特長+獎(jiǎng)懲+外語+水平+計(jì)算機(jī)水平位置:在數(shù)據(jù)庫的operator表中2.5性能需求2.5.1數(shù)值需求支持的終端數(shù)為多臺(tái)。

2.5.2精度需求

在精度需求上,根據(jù)使用需要,在各項(xiàng)數(shù)據(jù)的輸入,輸出及傳輸過程中,可滿足各種精度的需求。

2.5.3時(shí)間需求

在軟件方面,響應(yīng)時(shí)間,更新處理時(shí)間都比較快且迅速,完全滿足用戶要求。

2.5.4靈活性

當(dāng)用戶需求,如操作方式,運(yùn)行環(huán)境,結(jié)果精度,數(shù)據(jù)結(jié)構(gòu)于其他軟件接口等發(fā)生變化時(shí),設(shè)計(jì)的軟件要做適當(dāng)調(diào)整,靈活性非常大。功能改變或擴(kuò)充需要時(shí),將數(shù)據(jù)保存后,設(shè)計(jì)說明:人員對源碼進(jìn)行操作即可(源碼應(yīng)先備份)。

2.5.5故障處理

故障處理:在開發(fā)階段可以隨即修改程序的相應(yīng)內(nèi)容。2.6限制條件安有瀏覽器可以上網(wǎng)的PC機(jī)。3總體設(shè)計(jì)3.1設(shè)計(jì)分析根據(jù)實(shí)際情況,我們使用以少量代價(jià)快速地構(gòu)造一個(gè)可執(zhí)行的軟件系統(tǒng)模型。使用戶和開發(fā)人員可以較快地確定需求,然后采用循環(huán)進(jìn)化的開發(fā)方式,對系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸增加上去,直到所有的性質(zhì)全部滿足。此時(shí)模塊也發(fā)展成為最終產(chǎn)品了。3.2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫是一種存儲(chǔ)數(shù)據(jù)并對數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫的作用在于組織和表達(dá)信息,簡而言之,數(shù)據(jù)庫就是信息的集合。計(jì)算機(jī)的數(shù)據(jù)庫可以分為兩類:非關(guān)系數(shù)據(jù)庫(flat-file)和關(guān)系數(shù)據(jù)庫(relational)。關(guān)系數(shù)據(jù)庫中包含了多個(gè)數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個(gè)不同部分的術(shù)語,象記錄、域等。數(shù)據(jù)庫采用MySQL,是用MySQL驅(qū)動(dòng)與JSP連接。該數(shù)據(jù)庫能匯集各種信息以供查詢、存儲(chǔ)和檢索。MySQL是一個(gè)真正的多用戶、多線程sql數(shù)據(jù)庫服務(wù)器,它是一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn)。它是現(xiàn)在流行的關(guān)系數(shù)據(jù)庫中其中的一種,相比其它的數(shù)據(jù)庫管理系統(tǒng)(DBMS)來說,MySQL具有小巧、功能齊全、查詢迅捷等優(yōu)點(diǎn)。MySQL主要目標(biāo)是快速、健壯和易用。關(guān)鍵的是它是免費(fèi)的,可以在Internet上免費(fèi)下載到,并可免費(fèi)使用。MySQL對于一般中小型,甚至大型應(yīng)用都能夠勝任。本系統(tǒng)的數(shù)據(jù)邏輯結(jié)構(gòu)如下表:表3-1管理員表字段名數(shù)據(jù)類型必填字段說明idint是自動(dòng)編號namevarchar是用戶名rankvarchar是權(quán)限pwdvarchar是密碼表3-2產(chǎn)品資料表字段名數(shù)據(jù)類型必填字段說明product_idint是自動(dòng)編號product_namevarchar是產(chǎn)品名稱product_typevarchar否產(chǎn)品類型product_numvarchar是產(chǎn)品數(shù)量product_pricevarchar是產(chǎn)品單價(jià)product_infortext否產(chǎn)品信息product_othervarchar否備注product_novarchar是產(chǎn)品編號表3-3合同資料表字段名數(shù)據(jù)類型必填字段說明bill_idint是合同號adddatetimestamp否簽約日期bill_othervarchar否備注fdatevarchar是發(fā)貨日期client_namevarchar是客戶名表3-4客戶資料表字段名數(shù)據(jù)類型必填字段說明client_idint是客戶編號client_namevarchar是客戶名client_sexvarchar是性別client_phonevarchar是手機(jī)client_zipvarchar否公司郵編client_addsvarchar否公司地址client_emailvarchar否電子郵件client_co_namevarchar否收貨人姓名client_companyvarchar否公司名稱client_qqvarchar否騰訊QQclient_adddatetimestamp否添加日期client_co_telvarchar否公司電話client_othervarchar否備注表3-5零售記錄表字段名數(shù)據(jù)類型必填字段說明retail_idint是自動(dòng)編號product_namevarchar是產(chǎn)品名稱numvarchar是數(shù)量sumvarchar是總額datetimestamp否日期表3-6新聞資料表字段名數(shù)據(jù)類型必填字段說明news_IDint是新聞編號News_Titlevarchar是新聞標(biāo)題News_Contentlongtext是新聞內(nèi)容News_AddDatetimestamp否發(fā)表時(shí)間表3-7員工信息表字段名數(shù)據(jù)類型必填字段說明operator_idint是員工編號namevarchar是姓名sexvarchar是性別polityvarchar否政治面貌peoplevarchar否民族marryvarchar否婚姻birthdayvarchar否生日idenvarchar是身份證qqvarchar否QQphonevarchar是家庭電話bbcallvarchar否手機(jī)addressvarchar否戶口所在地emailvarchar否電子郵箱telcomvarchar否通信地址zipvarchar否郵編degreevarchar否學(xué)歷positionvarchar否畢業(yè)學(xué)校classesvarchar否專業(yè)類別specialvarchar否專業(yè)名稱postypevarchar否員工類型schoolvarchar否工作崗位posaddressvarchar否工作地點(diǎn)jobvarchar否入職日期salaryvarchar否工作待遇yearsvarchar是工作經(jīng)驗(yàn)waretinytext否嘉獎(jiǎng)處罰techangtinytext否特長專長languagevarchar否外語語種levelvarchar否外語水平j(luò)sjvarchar否計(jì)算機(jī)水平表3-8公告管理表字段名數(shù)據(jù)類型必填字段說明notice_contenttext是公告內(nèi)容表3-9財(cái)務(wù)資料表字段名數(shù)據(jù)類型必填字段說明finance_id數(shù)字是自動(dòng)編號client_namevarchar否客戶名sumvarchar是總額bill_idvarchar是合同號timetimestamp否日期firstvarchar否首付arreargevarchar否欠款othervarchar是備注3.3功能設(shè)計(jì)設(shè)計(jì)的基本內(nèi)容:本設(shè)計(jì)主要包括兩個(gè)方面,前臺(tái)產(chǎn)品展示和后臺(tái)銷售管理。3.3.1前臺(tái)產(chǎn)品展示前臺(tái)產(chǎn)品展示包括企業(yè)產(chǎn)品展示及企業(yè)新聞發(fā)布和網(wǎng)站公告發(fā)布。企業(yè)新聞公告是通過管理員在后臺(tái)添加的、修改的,前臺(tái)從數(shù)據(jù)庫中取最新的6條新聞并顯示。3.3.2后臺(tái)銷售管理后臺(tái)銷售管理設(shè)立產(chǎn)品管理、合同管理、客戶管理、零售管理、員工檔案管理、財(cái)務(wù)信息管理、綜合查詢管理、系統(tǒng)管理共計(jì)8個(gè)子項(xiàng)目。(1)產(chǎn)品管理:本功能模塊實(shí)現(xiàn)對產(chǎn)品信息的維護(hù),包括對產(chǎn)品信息(價(jià)格、庫存量、名稱、編號等)的增加,編輯(修改,刪除)。(2)零售管理:本功能模塊實(shí)現(xiàn)對產(chǎn)品零售記錄的增加、編輯(修改、刪除)。(3)合同管理:本功能模塊實(shí)現(xiàn)對合同信息的維護(hù),包括對合同內(nèi)容的增加,編輯(修改,刪除)(4)客戶管理:本功能模塊實(shí)現(xiàn)對客戶信息的維護(hù),包括對客戶信息的增加,編輯(修改,刪除)。(5)員工檔案管理:本功能模塊實(shí)現(xiàn)對業(yè)務(wù)員信息的管理維護(hù),包括對業(yè)務(wù)員信息的增加,編輯(修改,刪除)。(6)財(cái)務(wù)信息管理:財(cái)務(wù)信息是指對合同中分期付款的管理。本模塊實(shí)現(xiàn)對財(cái)務(wù)信息的增加,編輯(修改,刪除)。考慮到系統(tǒng)數(shù)據(jù)的安全性,將財(cái)務(wù)信息管理中的增加和編輯功能劃分為兩個(gè)模塊。(7)綜合查詢管理:本功能模塊實(shí)現(xiàn)對系統(tǒng)全方位的數(shù)據(jù)庫信息內(nèi)容的快捷查詢、匯總和報(bào)表的生成及打印。

(8)系統(tǒng)管理模塊:本功能模塊實(shí)現(xiàn)對系統(tǒng)的日常管理和維護(hù),提供用戶修改密碼功能;提供用戶管理功能(控制用戶對各模塊的訪問權(quán)限)??紤]到系統(tǒng)的安全性,應(yīng)用提供超時(shí)鎖定功能。當(dāng)用戶在一段時(shí)間對應(yīng)用沒有任何操作時(shí),系統(tǒng)將鎖定,讓用戶選擇重新登錄和注銷系統(tǒng)。3.4編程環(huán)境的選擇Dreamweaver

是一款專業(yè)的HTML編輯器,用于對Web站點(diǎn)、Web頁和Web應(yīng)用程序進(jìn)行設(shè)計(jì)、編碼和開發(fā)。無論是喜歡直接編寫HTML代碼的駕馭感還是偏愛在可視化編輯環(huán)境中工作,Dreamweaver都會(huì)提供幫助良多的工具,豐富的Web創(chuàng)作體驗(yàn)。利用Dreamweaver中的可視化編輯功能,可以快速地創(chuàng)建頁面而無需編寫任何代碼。如果更喜歡用手工直接編碼,Dreamweaver還包括許多與編碼相關(guān)的工具和功能。借助Dreamweaver,還可以使用服務(wù)器語言(例如ASP、ASP.NET、ColdFusion標(biāo)記語言(CFML)、JSP和PHP)生成支持動(dòng)態(tài)數(shù)據(jù)庫的Web應(yīng)用程序。利用MySQL驅(qū)動(dòng)把MySQL數(shù)據(jù)庫與JSPWeb應(yīng)用程序連接起來。Eclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C++、COBOL和Eiffel等編程語言的插件已經(jīng)可用,或預(yù)計(jì)會(huì)推出。本設(shè)計(jì)用Eclipse完成JAVABEAN的編寫。圖3-1系統(tǒng)結(jié)構(gòu)圖4詳細(xì)設(shè)計(jì)經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫開發(fā)的邏輯結(jié)構(gòu)。本系統(tǒng)利用MySQL創(chuàng)建數(shù)據(jù)庫,實(shí)現(xiàn)該邏輯結(jié)構(gòu)。系統(tǒng)結(jié)構(gòu)圖如圖3-4。4.1實(shí)現(xiàn)數(shù)據(jù)庫MySQL數(shù)據(jù)庫開發(fā)工具能匯集各種信息以供查詢、存儲(chǔ)和檢索。MySQL的優(yōu)點(diǎn)在于它能用SQL語句對數(shù)據(jù)庫進(jìn)行修改、刪除。我了更直觀看到數(shù)據(jù),下載并安裝MySQLControlCenter使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于Excel的電子表格,可以使數(shù)據(jù)庫一目了然。另外,MySQLControlCenter允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫中的信息。MySQL也提供了數(shù)據(jù)存儲(chǔ)庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。MySQL是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。MySQL作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包中同時(shí)擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強(qiáng)大功能。另外,使用MySQLControlCenter操作MySQL簡單,不用經(jīng)過專門的培訓(xùn)就可以讓使用者很快的應(yīng)用。因?yàn)楸鞠到y(tǒng)是面向大眾的,也就是說即使是一些小型公司只要是一臺(tái)計(jì)算機(jī)也可以使用,如果管理員有一定數(shù)據(jù)庫基礎(chǔ)還可以用SQL語句對數(shù)據(jù)庫進(jìn)行管理,所以本系統(tǒng)選擇了MySQL做為系統(tǒng)的后臺(tái)數(shù)據(jù)庫。安裝MySQL-5.0.18,并設(shè)置用戶名為root密碼為六個(gè)0。安裝MySQLControlCenter,打開MySQLControlCenter并進(jìn)行創(chuàng)建配置數(shù)據(jù)庫,設(shè)數(shù)據(jù)庫名為sellms,HostName為localhost,UserName為root,Password為000000?;氐組ySQLControlCenter控制界面點(diǎn)sellms右鍵點(diǎn)Table—>NewTable,依次創(chuàng)建admin,client等表,具體過程略。4.2實(shí)現(xiàn)數(shù)據(jù)庫的連接要與MySQL連接先加載MySQL驅(qū)動(dòng)mysql-connector-java-3.1.12-bin.jar。任何一個(gè)訪問ADO對象都必須先打開數(shù)據(jù)庫,通常采用的是直接使用數(shù)據(jù)庫文件名稱或數(shù)據(jù)源名稱建立連接,但MySQL是一個(gè)真正的多用戶、多線程sql數(shù)據(jù)庫服務(wù)器,它是一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),所以得與MySQL服務(wù)器連接。首先為數(shù)據(jù)庫管理系統(tǒng)加載一個(gè)JDBC驅(qū)動(dòng)程序即MySQL驅(qū)動(dòng),使用這個(gè)驅(qū)動(dòng)程序打開一個(gè)到sellms數(shù)據(jù)庫的連接,連接代碼:try{Class.forName("com.mysql.jdbc.Driver").newInstance();conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sellms","root","000000");}catch(SQLExceptionex){System.out.println(ex.getMessage()+"路徑錯(cuò)誤");}catch(ClassNotFoundExceptionex){System.out.println(ex.getMessage()+"驅(qū)動(dòng)錯(cuò)誤");}}4.3利用JavaBean實(shí)現(xiàn)添加、修改、刪除功能用JavaBean實(shí)現(xiàn)添加功能:首先在編寫form表單,提交表單到insertaction.jsp中進(jìn)行處理,insertaction.jsp中處理表單代碼:<jsp:useBeanid="newsinsert"class="com.pgf.action.InsertBean"></jsp:useBean><jsp:useBeanid="clientinsert"class="com.pgf.action.InsertBean"></jsp:useBean><jsp:useBeanid="productinsert"class="com.pgf.action.InsertBean"></jsp:useBean><jsp:useBeanid="operatorinsert"class="com.pgf.action.InsertBean"></jsp:useBean><jsp:useBeanid="admininsert"class="com.pgf.action.InsertBean"></jsp:useBean><jsp:useBeanid="billinsert"class="com.pgf.action.InsertBean"></jsp:useBean><jsp:useBeanid="retailinsert"class="com.pgf.action.InsertBean"></jsp:useBean><jsp:useBeanid="financeinsert"class="com.pgf.action.InsertBean"></jsp:useBean><%Stringaction=request.getParameter("action");if(action.equals("news")){Stringtitle=request.getParameter("news_Title");Stringcontent=request.getParameter("news_Content");newsinsert.NewsInsert(title,content);%><script>alert("添加新聞成功");self.location.href='news_list.jsp';</script><%return;}if(action.equals("admin")){Stringname=request.getParameter("name");Stringpwd=request.getParameter("pwd");Stringrank=request.getParameter("rank2");admininsert.AdminInsert(name,pwd,rank);%><script>alert("添加管理員成功");self.location.href='master.jsp';</script><%return;}if(action.equals("bill")){Stringname=request.getParameter("client_name");Stringfdate=request.getParameter("fdate");Stringbill_other=request.getParameter("bill_other");billinsert.BillInsert(name,fdate,bill_other);%><script>alert("添加訂單成功");self.location.href='bill_list.jsp';</script><%return;}if(action.equals("retail")){Stringname=request.getParameter("product_name");Stringnum=request.getParameter("num");Stringsum=request.getParameter("sum");retailinsert.RetailInsert(name,num,sum);%><script>alert("添加零售信息成功");self.location.href='retail_list.jsp';</script><%return;}if(action.equals("finance")){Stringclient_name=request.getParameter("client_name");Stringbill_id=request.getParameter("bill_id");Stringsum=request.getParameter("sum");Stringfirst=request.getParameter("first");Stringarrearge="0";Stringother=request.getParameter("other");financeinsert.FinanceInsert(client_name,bill_id,sum,first,arrearge,other);%><script>alert("添加財(cái)務(wù)信息成功");self.location.href='finance_list.jsp';</script><%return;}%>用if(action.equals("X"))判斷是哪個(gè)form表單(add_X.jsp)提交來的并用<jsp:useBeanid="Xinsert"class="com.pgf.action.InsertBean"></jsp:useBean>InsertBean進(jìn)行處理。InsertBean部分代碼如下:packagecom.pgf.action;importjava.util.Date;importjava.sql.*;publicclassInsertBean{ privateConnectionconn=null;privateResultSetres=null;privatejava.sql.PreparedStatementprepar=null;privatejava.sql.CallableStatementproc=null;publicintpagecount=0;publicInsertBean()throwsInstantiationException,IllegalAccessException{//構(gòu)造函數(shù)try{Class.forName("com.mysql.jdbc.Driver").newInstance();conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sellms","root","000000");System.out.println("連接成功");}catch(SQLExceptionex){System.out.println(ex.getMessage()+"路徑錯(cuò)誤");}catch(ClassNotFoundExceptionex){System.out.println(ex.getMessage()+"驅(qū)動(dòng)錯(cuò)誤");}} publicbooleanAdminInsert(Stringname,Stringpwd,Stringrank){ try{ prepar=conn.prepareStatement( "insertintoadmin(name,pwd,rank)values(?,?,?)"); prepar.setString(1,name); prepar.setString(2,pwd); prepar.setString(3,rank); intflag=prepar.executeUpdate(); if(flag==0){ returnfalse; } }catch(SQLExceptionex){ ex.printStackTrace(); returnfalse; } returntrue; } publicbooleanBillInsert(Stringname,Stringfdate,Stringbill_other){ try{ prepar=conn.prepareStatement( "insertintobill(client_name,fdate,bill_other)values(?,?,?)"); prepar.setString(1,name); prepar.setString(2,fdate); prepar.setString(3,bill_other); intflag=prepar.executeUpdate(); if(flag==0){ returnfalse; } }catch(SQLExceptionex){ ex.printStackTrace(); returnfalse; } returntrue; } publicbooleanNewsInsert(Stringtitle,Stringnewtext){ try{ prepar=conn.prepareStatement( "insertintonews(News_Title,News_Content)values(?,?)"); prepar.setString(1,title); prepar.setString(2,newtext); intflag=prepar.executeUpdate(); if(flag==0){ returnfalse; } }catch(SQLExceptionex){ ex.printStackTrace(); returnfalse; } returntrue; }}修改、刪除也是用JavaBean實(shí)現(xiàn)的。5調(diào)試分析與測試結(jié)果5.1調(diào)試分析首先調(diào)試環(huán)境:JSP是服務(wù)器端語言,所以得運(yùn)行在服務(wù)器上,本系統(tǒng)用Tomcat服務(wù)器。首先安裝jdk-1_5_0_09.exe,再安裝tomcat-5.0.28.exe。配環(huán)境變量如下:classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\common\lib;%JAVA_HOME%\binpath=%JAVA_HOME%\bin;C:\Tomcat5.0\bin;%TOMCAT_HOME%\common\lib;%JAVA_HOME%為JDK安裝根目錄,%TOMCAT_HOME%為TOMCAT安裝根目錄將JDK的lib目錄下的tools.jar拷到Tomcat安裝目錄下的common\lib目錄下,將程序文件夾sellms放到%TOMCAT_HOME%\webapps\ROOT下,重新啟動(dòng)TOMCAT,啟動(dòng)MySQL,在瀏覽器地址欄輸入:8080/sellms或http://localhost:8080/sellms進(jìn)入公司首頁輸入:8080/sellms/admin將自動(dòng)轉(zhuǎn)入到管理員登陸界面。調(diào)試主要是對程序的各種出錯(cuò)、漏洞,包括即時(shí)的和潛在的,進(jìn)行了相應(yīng)的處理。其活動(dòng)貫穿了整個(gè)設(shè)計(jì)過程。在程序編寫調(diào)試中,出現(xiàn)的難點(diǎn)主要集中在每一個(gè)模塊功能代碼結(jié)束的關(guān)閉代碼即關(guān)閉數(shù)據(jù)庫代碼。5.2測試結(jié)果測試結(jié)果主要是對輸入的數(shù)據(jù)及輸出的數(shù)據(jù)進(jìn)行具體的測試并得到用戶可見的界面。5.2.1瀏覽前臺(tái)主頁在瀏覽器地址欄輸入:8080/sellms或http://localhost:8080/sellms后可視如圖5-1。圖5-1公司首頁圖5.2.2進(jìn)入銷售管理系統(tǒng)(1)以普通管理員身份(主要指業(yè)務(wù)員)進(jìn)入主界面后,進(jìn)入系統(tǒng)。①進(jìn)入登陸窗體如圖5-2。圖5-2業(yè)務(wù)員登陸窗口圖②如果用戶名或密碼為空,彈出對話框如圖5-3。圖5-3業(yè)務(wù)員登陸為空錯(cuò)誤信息圖③如果用戶名或密碼錯(cuò)誤,彈出對話框如圖5-4。圖5-4業(yè)務(wù)員登陸有誤信息圖eq\o\ac(○,4)進(jìn)入主窗體中,普通管理員主要功能是沒有權(quán)限使用的,只有查看功能,如圖5-5所示。圖5-5業(yè)務(wù)員進(jìn)入系統(tǒng)界面圖(2)以超級管理員身份進(jìn)入①進(jìn)入登陸窗體,如圖5-3。圖5-6管理員登陸窗口圖②如果用戶名或密碼為空,或用戶名密碼不正確返回窗口與普通管理員相同。③進(jìn)入主窗體中,如圖5-7。圖5-7管理員進(jìn)入系統(tǒng)圖eq\o\ac(○,4)點(diǎn)擊左側(cè)菜單,進(jìn)行管理,只以員工檔案為例演示,點(diǎn)員工檔案菜單,如圖5-8。圖5-8管理員進(jìn)入系統(tǒng)點(diǎn)擊導(dǎo)航欄圖⑤點(diǎn)擊添加員工資料,如圖5-9。圖5-9添加員工信息圖⑥如果帶*的為空則,彈出對話框如圖5-10。圖5-10添加姓名為空錯(cuò)誤信息圖否則,彈出對話框如圖5-11。圖5-11添加員工信息成功圖⑦查看員工信息,如圖2-12。圖5-12查看員工信息圖⑧修改成功后,彈出對話框如圖5-13。刪除成功后,彈出對話框如圖5-14。圖5-13修改信息成功圖5-14刪除員工信息成功圖⑨添加修改管理員界面,如圖5-15。圖5-15修改添加管理員圖⑩注銷退出后,彈出對話框如圖5-16。然后自動(dòng)轉(zhuǎn)入前臺(tái)界面。圖5-16成功退出系統(tǒng)信息圖結(jié)束語經(jīng)過了兩個(gè)多月的學(xué)習(xí)和努力,我終于完成了《基于JSP的網(wǎng)絡(luò)化銷售管理系統(tǒng)》的設(shè)計(jì)和論文。從開始接到設(shè)計(jì)題目到系統(tǒng)的實(shí)現(xiàn),再到論文文章的完成,每走一步對我來說都是新的嘗試與挑戰(zhàn),這也是我在大學(xué)期間獨(dú)立完成的最大的項(xiàng)目。在這段時(shí)間里,我學(xué)到了很多知識也有很多感受,從對銷售系統(tǒng)一知半解,對JSP,JavaBean等相關(guān)技術(shù)很不了解的狀態(tài),我開始了獨(dú)立的學(xué)習(xí)和試驗(yàn),查看相關(guān)的資料和書籍,讓自己頭腦中模糊的概念逐漸清晰,使自己非常稚嫩作品一步步完善起來,每一次改進(jìn)都是我學(xué)習(xí)的收獲,每一次試驗(yàn)的成功都會(huì)讓我興奮好一段時(shí)間。

雖然我的作品不是很成熟,還有很多不足之處,但我可以自豪的說,這里面的每一段代碼,都是我的辛勤勞動(dòng)的成果。當(dāng)看著自己的程序,自己成天相伴的系統(tǒng)能夠健康的運(yùn)行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最終都會(huì)化為甜美的甘泉。

這次做設(shè)計(jì)的經(jīng)歷也會(huì)使我終身受益,我感受到做設(shè)計(jì)是要真真正正用心去做的,是真正的自己學(xué)習(xí)的過程和研究的過程,沒有學(xué)習(xí)就不可能有研究的能力,沒有自己的研究,就不會(huì)有所突破,那也就不叫設(shè)計(jì)了。希望這次的經(jīng)歷能讓我在以后學(xué)習(xí)和工作中激勵(lì)我繼續(xù)進(jìn)步。

參考文獻(xiàn)

[1]劉彬.Jsp數(shù)據(jù)庫高級教程[M].北京:清華大學(xué)出版社,2006.[2]吳嫻,曹曉東.基于三層結(jié)構(gòu)的銷售管理系統(tǒng)[J].電腦開發(fā)與應(yīng)用,2002,15(3):11-12.[3]李長林.Jsp組建動(dòng)態(tài)網(wǎng)站基礎(chǔ)與實(shí)例操作[M].北京:電子工業(yè)出版社,2005.[4]鄒竹彪.Jsp寶典[M].北京:電子工業(yè)出版社,2007.[5]Donny.JSP與網(wǎng)站開發(fā)編程實(shí)戰(zhàn)[M].北京:科學(xué)出版社,2001.[6]張新曼.精通JSP-Web開發(fā)技術(shù)與典型應(yīng)用[M].北京:人民郵電

溫馨提示

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

評論

0/150

提交評論