2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  基于B/S模式的倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  摘 要</b></p><p>  隨著企業(yè)管理信息化的發(fā)展,網(wǎng)絡(luò)及計(jì)算機(jī)的引入管理躍上了一個(gè)新的發(fā)展平臺(tái)。企業(yè)的各項(xiàng)管理都將向信息化方法拓展,倉(cāng)庫(kù)的管理對(duì)于企業(yè)來(lái)說(shuō)尤為重要。</p><p>  倉(cāng)庫(kù)管理系統(tǒng)是一個(gè)企業(yè)不可缺少的部分,本系統(tǒng)

2、基于B/S模式開(kāi)發(fā),主要實(shí)現(xiàn)商品入庫(kù)、商品出庫(kù)、商品補(bǔ)進(jìn)、客戶管理、供應(yīng)商管理等基本進(jìn)銷存功能。</p><p>  本文主要闡述倉(cāng)庫(kù)管理系統(tǒng)的可行性分析、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)及系統(tǒng)測(cè)試。</p><p>  【關(guān)鍵詞】管理信息化 倉(cāng)庫(kù)管理 B/S模式</p><p><b>  Abstract</b></p><

3、p>  Along with the enterprise management information of the development of computer network and the introduction of a new management leap development platform. The management of the enterprise will expand to the infor

4、mation method, warehouse management for enterprise is especially important.</p><p>  The warehouse management system is a enterprise essential part, its content for the decision makers and managers all very

5、important, so the warehouse management system should be able to provide users with sufficient information and the quick inquiry method. But people have since always used the traditional artificial means management produc

6、ts, this management way has many shortcomings, for example: efficiency is low, the secrecy is so poor. In addition, because time is long, will produce the mas</p><p>  Keywords: Management information; Wareh

7、ouse management;B/S model</p><p><b>  目 錄</b></p><p><b>  第1章 緒論1</b></p><p>  1.1 選題背景1</p><p>  1.2 選題意義1</p><p>  1.3 國(guó)內(nèi)外發(fā)展

8、狀況2</p><p>  第2章 可行性分析3</p><p>  2.1 經(jīng)濟(jì)可行性3</p><p>  2.2 技術(shù)可行性3</p><p>  2.3 操作可行性3</p><p>  第3章 需求分析4</p><p>  3.1 功能需求4</p>

9、<p>  3.2 數(shù)據(jù)需求5</p><p>  3.2 環(huán)境需求6</p><p>  第4章 系統(tǒng)總體設(shè)計(jì)7</p><p>  4.1 總體模塊圖7</p><p>  4.2 功能模塊設(shè)計(jì)7</p><p>  4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)8</p><p>  第5章

10、 詳細(xì)設(shè)計(jì)15</p><p>  5.1 功能模塊設(shè)計(jì)15</p><p>  第6章 系統(tǒng)測(cè)試31</p><p>  6.1 系統(tǒng)測(cè)試概述31</p><p>  6.2 功能測(cè)試32</p><p><b>  總 結(jié)33</b></p><p>&

11、lt;b>  第1章 緒論</b></p><p><b>  1.1 選題背景</b></p><p>  20世紀(jì),隨著全球經(jīng)濟(jì)的蓬勃發(fā)展,眾多經(jīng)濟(jì)學(xué)家紛紛提出了新的管理理論。20世紀(jì)50年代,西蒙提出管理依賴于信息和決策的思想。同時(shí)期的維納發(fā)表了控制論,他認(rèn)為管理是一個(gè)控制過(guò)程。1958年,蓋爾寫(xiě)到:“管理將以較低的成本得到及時(shí)準(zhǔn)確的信息,

12、做到較好的控制?!边@個(gè)時(shí)期,計(jì)算機(jī)開(kāi)始用于會(huì)計(jì)工作,出現(xiàn)數(shù)據(jù)處理一詞。</p><p>  1970年,Walter T.Kennevan給剛剛出現(xiàn)的管理信息系統(tǒng)一詞下了一個(gè)定義:“以口頭或書(shū)面的形式,在合適的時(shí)間向經(jīng)理、職員以及外界人員提供過(guò)去的、現(xiàn)在的、預(yù)測(cè)未來(lái)的有關(guān)企業(yè)內(nèi)部及其環(huán)境的信息,以幫助他們進(jìn)行決策?!痹谶@個(gè)定義里強(qiáng)調(diào)了用信息支持決策,但并沒(méi)有強(qiáng)調(diào)應(yīng)用模型,沒(méi)有提到計(jì)算機(jī)的應(yīng)用。</p>

13、<p>  1985年,管理信息系統(tǒng)的創(chuàng)始人,明尼蘇達(dá)大學(xué)的管理學(xué)教授Gordon B.Davis給了管理信息系統(tǒng)一個(gè)較完整的定義,即“管理信息系統(tǒng)是一個(gè)利用計(jì)算機(jī)軟硬件資源,手工作業(yè),分析、計(jì)劃、控制和決策模型以及數(shù)據(jù)庫(kù)的人-機(jī)系統(tǒng)。它能提供信息支持企業(yè)或組織的運(yùn)行、管理和決策功能?!边@個(gè)定義全面地說(shuō)明了管理信息系統(tǒng)的目標(biāo)、功能和組成,而且反映了管理信息系統(tǒng)在當(dāng)時(shí)達(dá)到的水平。</p><p>&l

14、t;b>  1.2 選題意義</b></p><p>  倉(cāng)庫(kù)的管理業(yè)務(wù)是一項(xiàng)瑣碎、復(fù)雜而又十分細(xì)致的工作,一般不允許發(fā)生錯(cuò)誤,手工進(jìn)行工資發(fā)放工作,需要反復(fù)地進(jìn)行抄寫(xiě)、計(jì)算、不僅花費(fèi)財(cái)務(wù)人員大量的時(shí)間,而且往往由于抄寫(xiě)不慎,出現(xiàn)張冠李戴,活著由于計(jì)算的疏忽,經(jīng)常出現(xiàn)入庫(kù)和出庫(kù)時(shí)間記錄錯(cuò)誤等現(xiàn)象。目前,計(jì)算機(jī)在企業(yè)、高校等管理中應(yīng)用的普及,利用計(jì)算機(jī)實(shí)現(xiàn)寵物領(lǐng)養(yǎng)的管理勢(shì)在必行。利用計(jì)算機(jī)來(lái)完成倉(cāng)

15、庫(kù)管理的日常事務(wù),即應(yīng)用管理信息系統(tǒng)是適應(yīng)現(xiàn)代要求、推動(dòng)管理走向科學(xué)化、規(guī)范化的必要條件。</p><p>  系統(tǒng)用JSP語(yǔ)言來(lái)編寫(xiě)并應(yīng)用了J2EE的主流框架技術(shù)、 mysql5.0數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù)。本論文主要涉及軟件,數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)技術(shù)等。涵蓋知識(shí)面廣,可有效地提高學(xué)生綜合運(yùn)用所學(xué)知識(shí)分析解決問(wèn)題的能力,增強(qiáng)學(xué)生對(duì)事物的理解與掌握能力,培養(yǎng)學(xué)生掌握科學(xué)的研究方法,正確的設(shè)計(jì)思想,獨(dú)立思考,勇于進(jìn)取,探索創(chuàng)新,為

16、今后進(jìn)一步學(xué)習(xí)與工作奠定了良好的基礎(chǔ)。</p><p>  倉(cāng)庫(kù)管理的這種重復(fù)性、規(guī)律性、時(shí)間性,使得領(lǐng)養(yǎng)管理計(jì)算機(jī)化成為可能。計(jì)算機(jī)進(jìn)行管理工作,不僅能夠保證管理工作準(zhǔn)確無(wú)誤,快速輸出,而且還可以利用預(yù)定記錄進(jìn)行各種信息進(jìn)行統(tǒng)計(jì),服務(wù)于各大企業(yè)的后勤部門(mén),使會(huì)計(jì)人員從繁重的手工制作中解脫出來(lái),提高了會(huì)記信息的及時(shí)性、正確性、全面性。大大提高了管理水平和管理效率,產(chǎn)生了絕大的經(jīng)濟(jì)效益和社會(huì)效益。</p>

17、;<p>  1.3 國(guó)內(nèi)外發(fā)展?fàn)顩r</p><p>  隨著我國(guó)信息化浪潮的日益臨近,網(wǎng)絡(luò)資源方面的管理機(jī)制正在發(fā)生著天翻地覆的變化。不論是企業(yè)還是個(gè)人,想要在激烈的市場(chǎng)競(jìng)爭(zhēng)環(huán)境下求得生存的機(jī)會(huì),就必須有效地利用人才、時(shí)間、信息結(jié)合的優(yōu)勢(shì),就必須有效地進(jìn)行企業(yè)內(nèi)部改革和加強(qiáng)企業(yè)管理。借助現(xiàn)代信息技術(shù)和管理理論,倉(cāng)庫(kù)管理系統(tǒng)是勢(shì)在必行的。</p><p>  20世紀(jì)40年代

18、初期,西方經(jīng)濟(jì)學(xué)家通過(guò)對(duì)庫(kù)存物料隨時(shí)間推移而被使用和消耗的規(guī)律研究,提出了訂貨點(diǎn)的方法和理論,并將其應(yīng)用到企業(yè)的庫(kù)存計(jì)劃管理中。20世紀(jì)60年代中期,美國(guó)IBM公司的管理專家約瑟夫奧利佛博士首先提出了獨(dú)立需求和相關(guān)需求的概念,將企業(yè)內(nèi)的物料分成獨(dú)立需求和相關(guān)需求物料兩種類型,由此形成了基本MRP。這種理論和方法與傳統(tǒng)的庫(kù)存理論和方法有著明顯的不同。其最主要的特點(diǎn)是:在傳統(tǒng)的基礎(chǔ)上引入了時(shí)間分段和反映產(chǎn)品結(jié)構(gòu)的物料清單BOM(Bill O

19、f Materials),較好的解決了庫(kù)存管理和生產(chǎn)控制中的難題,即按時(shí)按量的到所需要的物料。以加強(qiáng)物料的計(jì)劃與控制,最大限度地降低庫(kù)存量、減少資金占用和滿足企業(yè)生產(chǎn)為目標(biāo),基于按需采購(gòu)方式的企業(yè)生產(chǎn)與庫(kù)存管理方法。接下來(lái)是制造資源計(jì)劃( MRPII, Manufacturing Resources Planning )是一種20世紀(jì)70年代末期的,以企業(yè)資源優(yōu)化配置,確保企業(yè)連續(xù)、均衡的進(jìn)行生產(chǎn),實(shí)現(xiàn)信息流、物流與資金流的有機(jī)集成和提

20、高企業(yè)整體水平為目標(biāo),以計(jì)劃與控制為主線,面向企業(yè)產(chǎn)、供、銷、財(cái)?shù)默F(xiàn)代企業(yè)管理思想和方法。</p><p>  最后,就是企業(yè)資源計(jì)劃( ERP,Enterprise Resources Planning )是一種20世紀(jì)90年代初期的,以市場(chǎng)和客戶需求為導(dǎo)向,以實(shí)行企業(yè)內(nèi)外資源優(yōu)化配置,消除生產(chǎn)經(jīng)營(yíng)過(guò)程中一切無(wú)效的勞動(dòng)和資源,實(shí)現(xiàn)信息流、物流、資金流、價(jià)值流和業(yè)務(wù)流的有機(jī)集成和提高客戶滿意度為目標(biāo),以計(jì)劃與控制

21、為主線,以網(wǎng)絡(luò)和信息技術(shù)為平臺(tái),集客戶、市場(chǎng)、銷售、采購(gòu)、計(jì)劃、生產(chǎn)、財(cái)務(wù)、質(zhì)量、服務(wù)、信息集成和業(yè)務(wù)流程重組( BPR,Business Process Reengineering )等功能為一體,面向供應(yīng)鏈管理( SCM,Supply Chain Management )的現(xiàn)代企業(yè)管理思想和方法。</p><p>  傳統(tǒng)上對(duì)庫(kù)存管理的通常理解是指對(duì)物料的進(jìn)、出、存的業(yè)務(wù)管理,但是這種理解在現(xiàn)代的庫(kù)存管理中已

22、經(jīng)不全面了。APICS詞匯中對(duì)庫(kù)存的定義是:“以支持生產(chǎn)、維護(hù)、操作和客戶為目的而存貯的各種物料,包括原材料和在制品、維修件和生產(chǎn)消耗、成品和備件等”。因此,庫(kù)存管理應(yīng)該包括物料的存貯、收發(fā)、使用及計(jì)劃與控制等相關(guān)的各個(gè)方面。</p><p>  在研究過(guò)程中逐步發(fā)現(xiàn),國(guó)內(nèi)及國(guó)外對(duì)于倉(cāng)庫(kù)的管理系統(tǒng)軟件不在少數(shù),但是具備智能化的就寥寥無(wú)幾,有些倉(cāng)庫(kù)管理軟件功能強(qiáng)大,但不實(shí)用;有些實(shí)用,但是軟件界面不夠友好;有些界面

23、華麗,但是性能不夠穩(wěn)定。所以,我覺(jué)得我需要制作出一款,實(shí)用,界面友好,性能穩(wěn)定的智能倉(cāng)庫(kù)管理系統(tǒng)。操作本系統(tǒng)的客戶并不是專業(yè)的計(jì)算機(jī)從業(yè)人員,他們對(duì)于軟件的初步認(rèn)識(shí)就是,外觀,所以,在前臺(tái)頁(yè)面上我選擇CSS來(lái)布局,對(duì)于用戶的提示友好,性能強(qiáng)大,動(dòng)態(tài)性好,充分滿足前臺(tái)頁(yè)面的實(shí)際需求。但一個(gè)系統(tǒng)它只有頁(yè)面上的美觀是不夠的,他還需要強(qiáng)大的核心,這個(gè)核心就是Spring,他的骨架就是Struts,他的血液就是Hibernate。這樣組成的軟件才

24、能成為一款優(yōu)秀的基于B/S。</p><p>  第2章 可行性分析</p><p>  可行性分析的目的是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。不是解決問(wèn)題,而是確定問(wèn)題是否值得去解決??尚行苑治龅闹饕蝿?wù)是了解客戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等方面研究并論證本軟件項(xiàng)目的可行性。</p><p><b>  2.1 經(jīng)濟(jì)可行

25、性</b></p><p>  本系統(tǒng)的開(kāi)發(fā),為企業(yè)的工作效率帶來(lái)了一個(gè)質(zhì)的飛躍,為此主要表現(xiàn)有以下幾個(gè)方面:本系統(tǒng)的運(yùn)行可以代替人工進(jìn)行許多繁雜的勞動(dòng)。本系統(tǒng)的運(yùn)行可以節(jié)省許多資源。本系統(tǒng)的運(yùn)行可以大大的提高企業(yè)的工作效率。本系統(tǒng)可以使敏感文檔更加安全,等等。本產(chǎn)品的開(kāi)發(fā)所需的設(shè)備在現(xiàn)有條件下,只需要少量的投入資金就可以實(shí)現(xiàn),并且本系統(tǒng)將來(lái)投入使用后所帶來(lái)的效益遠(yuǎn)遠(yuǎn)大于投入。因此在經(jīng)濟(jì)上是可行的。&

26、lt;/p><p><b>  2.2 技術(shù)可行性</b></p><p>  本系統(tǒng)選用Java的J2EE平臺(tái)作為開(kāi)發(fā)語(yǔ)言,Mysql作為數(shù)據(jù)庫(kù),開(kāi)發(fā)過(guò)程嚴(yán)格按著軟件工程的思想,整體采用B/S的經(jīng)典MVC三層架構(gòu)。 本系統(tǒng)為中小型系統(tǒng),Java作為目前最主流的開(kāi)發(fā)語(yǔ)言,其功能強(qiáng)大,足以滿足本系統(tǒng)的開(kāi)發(fā)需要;Mysql數(shù)據(jù)庫(kù)也適用于中小型企業(yè)使用。目前大學(xué)本科計(jì)算機(jī)專業(yè)課

27、程均有java、mysql等課程,并附帶大量的課程設(shè)計(jì),開(kāi)發(fā)本系統(tǒng)的技術(shù)沒(méi)有超過(guò)大學(xué)本科生的知識(shí)水平。因此,本系統(tǒng)可以依靠現(xiàn)有技術(shù)完成系統(tǒng)的開(kāi)發(fā),在技術(shù)上是可行的。</p><p><b>  2.3 操作可行性</b></p><p>  企業(yè)的倉(cāng)庫(kù)管理往往是很復(fù)雜的,煩瑣的。由于所掌握的物資種類眾多,訂貨,管理,發(fā)放的渠道各有差異,各個(gè)企業(yè)之間的管理體制不盡相同,

28、各類統(tǒng)計(jì)計(jì)劃報(bào)表繁多,因此物資管理必須實(shí)現(xiàn)計(jì)算機(jī)化,而且必須根據(jù)企業(yè)的具體情況制定相應(yīng)的方案。</p><p>  根據(jù)當(dāng)前的企業(yè)管理體制,一般物資供應(yīng)管理系統(tǒng),總是根據(jù)所掌握的物資類別,相應(yīng)分成幾個(gè)科室來(lái)進(jìn)行物資的計(jì)劃,訂貨,核銷托收,驗(yàn)收入庫(kù),根據(jù)企業(yè)各個(gè)部門(mén)的需要來(lái)發(fā)放物資設(shè)備,并隨時(shí)按期進(jìn)行庫(kù)存盤(pán)點(diǎn),作臺(tái)帳,根據(jù)企業(yè)領(lǐng)導(dǎo)和自身管理的需要按月,季度,年來(lái)進(jìn)行統(tǒng)計(jì)分析,產(chǎn)生相應(yīng)報(bào)表。鑒于傳統(tǒng)手工管理的不便,所

29、以要采用計(jì)算機(jī)技術(shù)來(lái)進(jìn)行倉(cāng)庫(kù)管理,計(jì)算機(jī)有管理在減少人力投入的同時(shí),也提高了工作效率,因此在操作上是可行的。 </p><p><b>  第3章 需求分析</b></p><p><b>  3.1 功能需求</b></p><p>  本系統(tǒng)有三種用戶權(quán)限,分別為:管理員、出庫(kù)員、入庫(kù)員。按照信息管理系統(tǒng)的設(shè)計(jì)思想,

30、可將系統(tǒng)分為前臺(tái)和后臺(tái)兩個(gè)部分。其中出庫(kù)員和入庫(kù)員屬于前臺(tái)部分。管理員屬于后臺(tái)部分。</p><p><b>  3.1.1前臺(tái)功能</b></p><p><b>  1、公共部分</b></p><p><b> ?。?)注冊(cè)</b></p><p><b>  

31、(2)登陸</b></p><p><b> ?。?)個(gè)人信息管理</b></p><p><b>  2、入庫(kù)員部分</b></p><p><b> ?。?)商品入庫(kù)</b></p><p><b>  (2)商品補(bǔ)進(jìn)</b></p&

32、gt;<p><b>  3、出庫(kù)員部分</b></p><p><b>  (1)商品出庫(kù)</b></p><p><b>  3.1.2后臺(tái)功能</b></p><p><b> ?。?)管理員登陸</b></p><p><b&g

33、t; ?。?)管理員工</b></p><p><b>  (3)管理商品</b></p><p><b> ?。?)管理客戶</b></p><p><b> ?。?)管理供應(yīng)商</b></p><p> ?。?)管理出\入庫(kù)信息</p><p

34、><b>  3.1.3系統(tǒng)流圖</b></p><p><b> ?。?) 前臺(tái)流圖</b></p><p><b>  圖 前臺(tái)流圖</b></p><p>  前臺(tái)流圖分為兩個(gè)角色,一個(gè)是入庫(kù)員、一個(gè)是出庫(kù)員。入庫(kù)員對(duì)應(yīng)的流圖有:注冊(cè)、登陸、個(gè)人信息管理、商品入庫(kù)、商品補(bǔ)進(jìn)。出庫(kù)員對(duì)應(yīng)的流

35、圖有:注冊(cè)、登陸、個(gè)人信息管理、商品出庫(kù)。</p><p><b>  (2) 后臺(tái)流圖</b></p><p>  圖3-2 后臺(tái)用例圖</p><p>  后臺(tái)流圖只有一個(gè)角色管理員。管理員對(duì)應(yīng)的流圖有:管理員工、管理商品、管理客戶、管理供應(yīng)商、管理出\入庫(kù)信息。</p><p><b>  3.2 數(shù)據(jù)需

36、求</b></p><p>  根據(jù)倉(cāng)庫(kù)管理的基本業(yè)務(wù)情況,本系統(tǒng)主要是實(shí)現(xiàn)數(shù)據(jù)的更新、修改、查詢和統(tǒng)計(jì)。數(shù)據(jù)更新包括以下幾個(gè)方面:</p><p> ?。?)商品信息的增加、刪除、修改,商品導(dǎo)入時(shí)還可以支持從excel導(dǎo)入。</p><p> ?。?)供應(yīng)商信息的增加、刪除、修改和查看。</p><p>  (3)客戶信息的增加

37、、刪除、修改和查看。</p><p> ?。?)入庫(kù)信息的增加、刪除和查看。</p><p> ?。?)出庫(kù)信息的增加、刪除和查看。</p><p>  (6)商品補(bǔ)進(jìn)信息的增加、刪除和查看。</p><p>  數(shù)據(jù)查詢和統(tǒng)計(jì)包括以下幾個(gè)方面:</p><p>  (1)商品查詢,包括:查詢所有商品、查詢單個(gè)商品。其

38、中查詢單個(gè)商品時(shí),支持自動(dòng)補(bǔ)全功能。</p><p> ?。?)出庫(kù)信息查詢,查詢所有出庫(kù)信息,此處要按分頁(yè)顯示。</p><p> ?。?)入庫(kù)信息查詢,查詢所有入庫(kù)信息,此處要按分頁(yè)顯示。</p><p>  本系統(tǒng)設(shè)計(jì)采用經(jīng)典的B/S-MVC三層架構(gòu),所有數(shù)據(jù)流程都按照MVC模式來(lái)設(shè)計(jì),主要數(shù)據(jù)流程是:前臺(tái)頁(yè)面->后臺(tái)業(yè)務(wù)處理->前臺(tái)頁(yè)面。這樣的設(shè)

39、計(jì)使得前臺(tái)和后臺(tái)分離,大大降低了代碼的耦合度,也提高了開(kāi)發(fā)效率。整體數(shù)據(jù)流程如下圖所示:</p><p><b>  3.2 環(huán)境需求</b></p><p>  環(huán)境配置主要包括:硬件環(huán)境配置和軟件環(huán)境配置。本系統(tǒng)為中小型系統(tǒng),所以對(duì)計(jì)算機(jī)的配置要求不高,但程序運(yùn)行的快慢與電腦配置本身有直接關(guān)系,所以本系統(tǒng)的服務(wù)器主機(jī)最好使用windows server的系統(tǒng)?;?/p>

40、server版系統(tǒng),本系統(tǒng)的運(yùn)行需要的一些軟件環(huán)境才能最大效率的運(yùn)行。</p><p>  數(shù)據(jù)庫(kù)是軟件開(kāi)發(fā)的基礎(chǔ),對(duì)于軟件的編寫(xiě)以及以后的開(kāi)發(fā)是非常重要的,所以為了更快、更好的完成此系統(tǒng)的編寫(xiě)工作,本系統(tǒng)采用了Mysql作為開(kāi)發(fā)此系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù),保證本系統(tǒng)的開(kāi)發(fā)及完成。本系統(tǒng)基于Java語(yǔ)言開(kāi)發(fā),所以采用JDK6.0作為開(kāi)發(fā)環(huán)境。Web服務(wù)器使用Tomcat6.0。</p><p> 

41、 第4章 系統(tǒng)總體設(shè)計(jì)</p><p><b>  4.1 總體模塊圖</b></p><p>  模塊圖,即實(shí)現(xiàn)各個(gè)不同功能的獨(dú)立內(nèi)容版塊,在需要的頻道直接添加就可以了。關(guān)于模塊各自的功能可以參看模塊功能簡(jiǎn)介。</p><p>  不同的模塊可以實(shí)現(xiàn)不同的功能,這樣,可以通過(guò)模塊的不斷開(kāi)發(fā)與重用,實(shí)現(xiàn)站點(diǎn)如搭積木一樣簡(jiǎn)單,只要模塊支持,可以

42、實(shí)現(xiàn)任意復(fù)雜的功能,因此通過(guò)模塊化的設(shè)計(jì),可以實(shí)現(xiàn)整個(gè)站點(diǎn)的無(wú)限擴(kuò)展的能力。</p><p>  軟件系統(tǒng)本質(zhì)上是信息處理系統(tǒng),因此在軟件系統(tǒng)的整個(gè)開(kāi)發(fā)過(guò)程中都必須考慮兩個(gè)方面的問(wèn)題—數(shù)據(jù)與及數(shù)據(jù)的處理。在需求分析階段既要分析用戶的數(shù)據(jù)要求,又要分析用戶的處理要求。</p><p>  為了把用戶的數(shù)據(jù)要求清晰地表達(dá)出來(lái),通常建立一個(gè)概念性的數(shù)據(jù)模型(也稱為信息模型)。它是一種面向問(wèn)題的數(shù)

43、據(jù)模型,是按照用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模,它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的現(xiàn)實(shí)環(huán)境,且與在軟件系統(tǒng)中的實(shí)現(xiàn)方法無(wú)關(guān)。</p><p>  本系統(tǒng)整體分為前臺(tái)和后臺(tái)兩個(gè)部分,前臺(tái)部分又分入庫(kù)員和出庫(kù)員兩個(gè)部分。入庫(kù)員部分包括:個(gè)人信息管理模塊、入庫(kù)模塊、入庫(kù)查詢模塊。出庫(kù)員部分包括:個(gè)人信息管理模塊、出庫(kù)模塊、出庫(kù)查詢模塊。后臺(tái)部分包括:賬戶管理模塊、出庫(kù)管理模塊、入庫(kù)管理模塊、后臺(tái)查詢模塊、客戶管理

44、模塊、供應(yīng)商管理模塊、商品管理模塊。具體功能模塊圖如下:</p><p>  圖4-1 系統(tǒng)總體模塊圖 </p><p>  4.2 功能模塊設(shè)計(jì) </p><p>  4.2.1 前臺(tái)公共模塊</p><p><b> ?。?)注冊(cè)</b></p><p>  點(diǎn)擊前臺(tái)的注冊(cè)按鈕進(jìn)行注冊(cè),注冊(cè)

45、時(shí)只要填寫(xiě)相關(guān)的信息然后點(diǎn)擊注冊(cè)按鈕即可完成注冊(cè)。</p><p><b> ?。?)登陸</b></p><p>  用戶填寫(xiě)正確的用戶名和密碼就可以登錄系統(tǒng)。</p><p><b> ?。?)個(gè)人信息管理</b></p><p>  用戶登錄系統(tǒng)后,可以進(jìn)入個(gè)人空間修改自己的基本信息和。<

46、;/p><p>  4.2.2 前臺(tái)入庫(kù)員模塊</p><p><b> ?。?)商品入庫(kù)</b></p><p>  入庫(kù)員登陸系統(tǒng)后,可以選擇某一個(gè)商品,將其放入庫(kù)存。商品入庫(kù)時(shí)需要填寫(xiě)入庫(kù)數(shù)量。</p><p><b> ?。?)商品補(bǔ)進(jìn)</b></p><p>  每一個(gè)

47、商品都有一個(gè)庫(kù)存下限,當(dāng)庫(kù)存小于庫(kù)存下限時(shí),就會(huì)提供商品補(bǔ)進(jìn),入庫(kù)員登陸系統(tǒng)后,可以有商品補(bǔ)進(jìn)的權(quán)限。</p><p>  4.2.3 前臺(tái)出庫(kù)員模塊</p><p> ?。?)出庫(kù)員登陸系統(tǒng)后,可以對(duì)商品進(jìn)行出庫(kù)操作。</p><p>  4.2.4 后臺(tái)管理模塊</p><p><b> ?。?)管理員工</b>&l

48、t;/p><p>  管理員成功登錄系統(tǒng)后,可以進(jìn)行用戶管理。點(diǎn)擊用戶管理的連接,就會(huì)顯示出當(dāng)前的所有用戶列表,選擇一個(gè)用戶就可以對(duì)其進(jìn)行刪除操作。</p><p><b>  (2)管理商品</b></p><p>  管理員成功登錄系統(tǒng)后,可以對(duì)商品信息進(jìn)行增刪改查操作。</p><p><b>  (3)管理

49、客戶</b></p><p>  管理員成功登錄系統(tǒng)后,可以對(duì)客戶信息進(jìn)行增刪改查操作。</p><p><b> ?。?)管理供應(yīng)商</b></p><p>  管理員成功登錄系統(tǒng)后,可以對(duì)供應(yīng)商信息進(jìn)行增刪改查操作。</p><p> ?。?)管理出\入庫(kù)信息</p><p>  

50、管理員成功登錄系統(tǒng)后,可以有按時(shí)間排序出庫(kù)信息和按時(shí)間排序入庫(kù)信息的權(quán)限,并可以對(duì)信息進(jìn)行管理。</p><p><b>  4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是信息系統(tǒng)開(kāi)發(fā)工作的核心,其基本的任務(wù)是把原系統(tǒng)分析階段得出的邏輯模型變換成系統(tǒng)的物理模型。即按照系統(tǒng)需求分析階段確定的目標(biāo)和邏輯模型,具體設(shè)計(jì)出效率高,適應(yīng)性強(qiáng),可靠性好且經(jīng)濟(jì)實(shí)用的系

51、統(tǒng)實(shí)施方案。</p><p>  經(jīng)過(guò)需求分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)清楚了,現(xiàn)在是決定“怎樣做”的時(shí)候了。設(shè)計(jì)的基本目的就是回答“系統(tǒng)應(yīng)該如何實(shí)現(xiàn)?”這個(gè)問(wèn)題,通過(guò)這個(gè)階段的工作將劃分出組成系統(tǒng)的物理元素—程序文件,數(shù)據(jù)庫(kù),人工過(guò)程和文檔等等。</p><p>  系統(tǒng)設(shè)計(jì)應(yīng)從數(shù)據(jù)流程圖出發(fā)。設(shè)想完成系統(tǒng)功能的若干種合理的物理方案。并和用戶共同比較選定一個(gè)最佳方案。然后進(jìn)行軟件

52、結(jié)構(gòu)設(shè)計(jì)。在進(jìn)行軟件設(shè)計(jì)時(shí)應(yīng)該遵循模塊獨(dú)立原理,確定軟件由哪些模塊組成以及這些模塊之間的動(dòng)態(tài)調(diào)用關(guān)系。同時(shí)可以設(shè)計(jì)出系統(tǒng)的層次和結(jié)構(gòu)圖。</p><p>  基于以上理論,結(jié)合需求分析階段的數(shù)據(jù)流圖和ER圖。設(shè)計(jì)出以下的模塊和6個(gè)數(shù)據(jù)庫(kù)表結(jié)構(gòu)的設(shè)計(jì)。</p><p>  4.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述</p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是在給定的DBMS、操作系統(tǒng)和硬件環(huán)境

53、下,如何表達(dá)用戶的需求,并將其轉(zhuǎn)換為有效的數(shù)據(jù)庫(kù)結(jié)構(gòu),構(gòu)成較好的數(shù)據(jù)庫(kù)模式,這個(gè)過(guò)程稱為數(shù)據(jù)庫(kù)設(shè)計(jì)。數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)開(kāi)發(fā)的全過(guò)程可分為兩大階段:數(shù)據(jù)庫(kù)系統(tǒng)的分析與設(shè)計(jì)階段;數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)施、運(yùn)行與維護(hù)階段。</p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)有兩種不同的方法:以信息需求為主,兼顧處理需求,這種方法稱為面向數(shù)據(jù)的設(shè)計(jì)方法;以處理需求為主,兼顧信息需求,這種方法稱為面向過(guò)程的設(shè)計(jì)方法。數(shù)據(jù)庫(kù)設(shè)計(jì)的3個(gè)特點(diǎn):1、反復(fù)性(

54、Iterative)2、試探性(Tentative)3、分步進(jìn)行(Multistage)。數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程(六個(gè)階段) 1.需求分析階段2.概念結(jié)構(gòu)設(shè)計(jì)階段3.邏輯結(jié)構(gòu)設(shè)計(jì)階段4.數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段5.數(shù)據(jù)庫(kù)實(shí)施階段6.數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段[5]。</p><p>  4.3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)則</p><p>  數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)

55、應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)可以提高數(shù)據(jù)庫(kù)存儲(chǔ)效率,保證數(shù)據(jù)的完整性和一致性。數(shù)據(jù)庫(kù)設(shè)計(jì)的主要任務(wù)是針對(duì)一個(gè)給定的應(yīng)用環(huán)境,在給定的硬件環(huán)境、操作系統(tǒng)、以及數(shù)據(jù)庫(kù)管理信息系統(tǒng)等軟件環(huán)境下,創(chuàng)建一個(gè)性能良好的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能有效地收集、存儲(chǔ)、操作和管理數(shù)據(jù),滿足用戶地各類需求。數(shù)據(jù)庫(kù)設(shè)計(jì)通常是在一個(gè)通用的DBMS支持下,即利用現(xiàn)成的DBMS作為開(kāi)發(fā)的基礎(chǔ)。</p><

56、p>  4.3.3 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)</p><p>  概念結(jié)構(gòu)設(shè)計(jì)的結(jié)果是E-R模型,但是它獨(dú)立于任何一種數(shù)據(jù)模型,也獨(dú)立于任何一個(gè)具體的DBMS。為建立用戶所需的數(shù)據(jù)庫(kù),需要把概念模型轉(zhuǎn)換成為某個(gè)具體的DBMS所支持的數(shù)據(jù)模型。</p><p>  數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是將概念模型轉(zhuǎn)換成DBMS支持的數(shù)據(jù)模型。</p><p>  邏輯結(jié)構(gòu)設(shè)計(jì)的步驟:

57、將概念模型轉(zhuǎn)換成為一般的關(guān)系、網(wǎng)狀、層次模型;將轉(zhuǎn)換來(lái)的模型向特定的DBMS支持的數(shù)據(jù)模型轉(zhuǎn)換;對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化。</p><p>  E-R圖向關(guān)系模型的轉(zhuǎn)換:</p><p>  將E-R圖轉(zhuǎn)換為關(guān)系模型:將實(shí)體、實(shí)體屬性及實(shí)體之間的聯(lián)系轉(zhuǎn)換成為關(guān)系模式。</p><p><b>  轉(zhuǎn)換原則:</b></p><p&

58、gt; ?。?)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式:關(guān)系的屬性即實(shí)體型的屬性;關(guān)系的碼即實(shí)體型的碼。</p><p> ?。?)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式:關(guān)系的屬性即與該聯(lián)系相連的各實(shí)體型的碼一級(jí)聯(lián)系本身的屬性;關(guān)系的碼即各實(shí)體型碼的組合。</p><p> ?。?)一個(gè)1:n聯(lián)系也可轉(zhuǎn)換成為一個(gè)獨(dú)立的關(guān)系模式;也可與n端對(duì)應(yīng)的關(guān)系模式合并。轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式:關(guān)系的屬性即與該聯(lián)系

59、相連得各實(shí)體型的碼一級(jí)聯(lián)系本身的屬性;關(guān)系的碼是n端實(shí)體型的碼。與n端對(duì)應(yīng)的關(guān)系模式合并:在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性;合并后關(guān)系的碼不變。一般情況下與n端合并。</p><p> ?。?) 一個(gè)1:1聯(lián)系也可轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可與任意一段的關(guān)系模式合并。轉(zhuǎn)換原則同m:n關(guān)系。</p><p> ?。?)三個(gè)或三個(gè)以上實(shí)體型間的聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。原

60、則同上。</p><p>  (6)具有相同碼的關(guān)系模式可合并。合并方法:將其中一個(gè)關(guān)系模式的全部屬性加入到另一個(gè)關(guān)系模式中,并去掉其中同義屬性。</p><p>  在數(shù)據(jù)庫(kù)表結(jié)構(gòu)完成之后,遵循關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)準(zhǔn)則,將在表與表之間根據(jù)實(shí)際情況設(shè)計(jì)關(guān)聯(lián)。</p><p>  本系統(tǒng)使用MySQL5.0數(shù)據(jù)庫(kù),系統(tǒng)的數(shù)據(jù)庫(kù)一共有10張表:管理員表、供應(yīng)商表、庫(kù)存表、商品

61、表、出庫(kù)信息表、客戶表、入庫(kù)信息表、商品補(bǔ)進(jìn)表、員工表、職務(wù)表。如圖4-3所示。</p><p>  圖4-3 數(shù)據(jù)庫(kù)表關(guān)系圖</p><p>  通過(guò)清晰而簡(jiǎn)明的數(shù)據(jù)庫(kù)邏輯設(shè)計(jì),表之前的關(guān)聯(lián)一目了然,為設(shè)計(jì)數(shù)據(jù)庫(kù)物理模型奠定基礎(chǔ)。</p><p>  4.3.5 數(shù)據(jù)庫(kù)物理設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)物理模型的設(shè)計(jì),完全遵行邏輯模型制

62、定的各項(xiàng)規(guī)則,將表之間有關(guān)系的字段通過(guò)主外鍵關(guān)聯(lián)起來(lái)。數(shù)據(jù)庫(kù)的設(shè)計(jì)是整個(gè)項(xiàng)目中非常重要的部分,如果設(shè)計(jì)有誤,而開(kāi)發(fā)已經(jīng)進(jìn)行,再去修改數(shù)據(jù)庫(kù),會(huì)帶來(lái)很多意想不到的麻煩,所以數(shù)據(jù)庫(kù)設(shè)計(jì)的時(shí)候和需求分析所花費(fèi)的時(shí)間往往相差無(wú)幾。</p><p>  一旦生成物理模型,可以通過(guò)工具生成相應(yīng)方言的數(shù)據(jù)庫(kù)腳本代碼,為開(kāi)發(fā)提供方便。但是要注意在操作過(guò)程中應(yīng)該考慮工具版本之間的兼容性,Microsoft E-Rstudio8.0

63、工具在這方便比較完善,使用過(guò)程中注意每一個(gè)選項(xiàng),避免不必要的麻煩。其他工具例如retionalRose也可以很好的做到這一點(diǎn)。熟練運(yùn)用工具,不但可以提高開(kāi)發(fā)效率,也能讓代碼更健康、更漂亮。</p><p>  該系統(tǒng)涉及的表如下:</p><p> ?。?)管理員表結(jié)構(gòu):管理員編號(hào)(admin_id)、管理員賬號(hào)(admin_account)、管理員密碼(admin_pwd),管理員編號(hào)是

64、自增長(zhǎng)的主鍵,該表主要是存儲(chǔ)管理員賬號(hào)信息的。</p><p>  表4-1 管理員表</p><p>  (2)供應(yīng)商表結(jié)構(gòu):供應(yīng)商ID(Supplier_id)、公司名稱(company_name)、聯(lián)系電話(Supplier_tel)、地址(Supplier_address)、電子郵箱(Supplier_email),其中供應(yīng)商ID是自增長(zhǎng)的主鍵,該表主要是用來(lái)存儲(chǔ)供應(yīng)商信息的。&

65、lt;/p><p>  表4-2 供應(yīng)商表</p><p> ?。?)入庫(kù)信息表結(jié)構(gòu):入庫(kù)ID(in_id)、入庫(kù)時(shí)間(come_time)、入庫(kù)數(shù)量(in_number)、員工ID(employee_id)、供應(yīng)商ID(Supplier_id)、商品ID(goods_id),其中入庫(kù)ID是主鍵,員工ID、供應(yīng)商ID是外鍵,該表主要是用來(lái)存儲(chǔ)入庫(kù)信息的。</p><p&g

66、t;  表4-3 入庫(kù)信息表</p><p> ?。?)庫(kù)存表結(jié)構(gòu):庫(kù)存ID(stock_id)、庫(kù)存數(shù)量(stock_number)、商品ID(goods_id)、庫(kù)存下限(stock_limit),其中庫(kù)存ID是主鍵,商品ID時(shí)外鍵,該主要是用來(lái)存儲(chǔ)庫(kù)存基本信息的。</p><p><b>  表4-4 庫(kù)存表</b></p><p>

67、 ?。?)商品表結(jié)構(gòu):商品ID(goods_id)、生產(chǎn)公司(goods_company)、商品名稱(goods_name)、單價(jià)(goods_value),其中商品ID是主鍵,該表主要是用來(lái)存儲(chǔ)商品信息的。</p><p><b>  表4-5 商品表</b></p><p> ?。?)出庫(kù)信息表結(jié)構(gòu):出庫(kù)ID(out_id)、出庫(kù)時(shí)間(go_time)、出庫(kù)數(shù)量

68、(out_number)、客戶ID(costom_id)、商品ID(goods_id),其中出庫(kù)ID是主鍵,客戶ID和商品ID是外鍵,該表主要是用來(lái)存儲(chǔ)出庫(kù)信息的。</p><p><b>  表4-6 出庫(kù)表</b></p><p> ?。?)客戶表結(jié)構(gòu):客戶ID(costom_id)、所屬公司(company_name)、聯(lián)系電話(Costom_tel)、地址(

69、Costom_address)、電子郵箱(Costom_email),其中客戶ID是主鍵,該表主要是用來(lái)存儲(chǔ)客戶信息的。</p><p><b>  表4-7 客戶表</b></p><p> ?。?)職務(wù)表結(jié)構(gòu):職務(wù)ID(duty_id)、職務(wù)名稱(duty_name),其中職務(wù)ID是主鍵,該表主要是用來(lái)存儲(chǔ)職務(wù)信息的。</p><p>&

70、lt;b>  表4-8 職務(wù)表</b></p><p> ?。?)商品補(bǔ)進(jìn)表結(jié)構(gòu):補(bǔ)進(jìn)ID(supply_id)、補(bǔ)進(jìn)數(shù)量(supply_number)、商品ID(goods_id)、員工ID(employee_id),其中補(bǔ)進(jìn)ID是主鍵,該表主要是用來(lái)存儲(chǔ)補(bǔ)進(jìn)信息的。</p><p>  表4-9 商品補(bǔ)進(jìn)表</p><p> ?。?0)員工

71、表結(jié)構(gòu):?jiǎn)T工ID(employee_id)、員工性別(employee_sex)、聯(lián)系電話(employee_tel)、電子郵箱(employee_email)、員工賬號(hào)(employee_name)、地址(employee_address)、密碼(employee_pwd)、職務(wù)ID(duty_id),其中員工ID是主鍵,職務(wù)ID是外鍵,該表主要是用來(lái)存儲(chǔ)員工基本信息的。</p><p>  表4-10 員工

72、表</p><p><b>  第5章 詳細(xì)設(shè)計(jì)</b></p><p>  5.1 功能模塊設(shè)計(jì)</p><p>  5.2.1 前臺(tái)部分</p><p><b>  1、前臺(tái)首頁(yè)</b></p><p>  系統(tǒng)前臺(tái)首頁(yè)采用CSS布局,左邊顯示登錄窗口,右邊顯示主頁(yè)界面

73、,上面還有導(dǎo)航欄。首頁(yè)的文件名是index.jsp。服務(wù)器啟動(dòng)后,直接瀏覽器上輸入地址http://localhost:8080/StorageSystem/就可以進(jìn)入首頁(yè),如下圖所示:</p><p><b>  前臺(tái)核心代碼如下:</b></p><p>  <%@ page language="java" import="ja

74、va.util.*" pageEncoding="gbk"%></p><p>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"></p><p><b>  <html></b></p><

75、;p><b>  <head></b></p><p>  <title>倉(cāng)庫(kù)管理系統(tǒng)首頁(yè)</title></head></p><p><b>  <body></b></p><p>  <form action="emplogin.

76、do?method=empLogin" method="post" name="myform" onsubmit="return check()"></p><p>  <table width="765" border="0" align="center" cellpad

77、ding="0" cellspacing="0"></p><p><b>  <tr></b></p><p>  <td class="style2"><font color="black">賬號(hào)</font></td>

78、</p><p>  <td class="style2"><input type="text" name="userName" size="15"></td></p><p>  <td class="style2"><font col

79、or="black">類型</font></td></p><p>  <td class="style2"></p><p>  <select name="userType"></p><p>  <option value="出庫(kù)員

80、">出庫(kù)員</option></p><p>  <option value="入庫(kù)員">入庫(kù)員</option></p><p>  </select></p><p>  <td class="style2"><font color=&qu

81、ot;black">密碼</font></td></p><p>  <td class="style2"><input type="password" name="userPwd" size="15"></td></p><p>&l

82、t;b>  </tr></b></p><p>  <tr align="center"></p><p>  <td class="style2" colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;<input ty

83、pe="submit" value="登錄">&nbsp;<input type="button" value="注冊(cè)" onclick="goRegister()">&nbsp;<input type="reset" value="重寫(xiě)"></t

84、d></p><p><b>  </tr></b></p><p>  </table></td></p><p><b>  </tr></b></p><p><b>  </table></b></

85、p><p><b>  </form></b></p><p><b>  </body></b></p><p><b>  </html></b></p><p><b>  2、員工注冊(cè)</b></p>

86、<p>  員工注冊(cè)頁(yè)面由CSS布局,用戶點(diǎn)擊注冊(cè)按鈕觸發(fā)form表單,form表單提交請(qǐng)求insertemp.do?method=insertEmp,按照struts設(shè)計(jì)標(biāo)注,該請(qǐng)求轉(zhuǎn)發(fā)到struts-config.xml文件下,找到相應(yīng)處理請(qǐng)求的類EmployeeAction的insertEmp方法,在insertEmp方法中調(diào)用EmployeeDaoImpl類的insertEmp來(lái)操作數(shù)據(jù)庫(kù),操作成功后跳轉(zhuǎn)到index.

87、jsp頁(yè)面,操作失敗跳轉(zhuǎn)到本頁(yè)面。如下圖所示:</p><p><b>  頁(yè)面核心代碼如下:</b></p><p>  <form action="insertemp.do?method=insertEmp" method="post" name="myform" onsubmit="r

88、eturn check()"></p><p>  <table width="765" border="0" align="center" cellpadding="0" cellspacing="0"></p><p><b>  <tr>

89、;</b></p><p>  <td>賬號(hào)&nbsp;&nbsp;<input type="text" name="employeeName" size="15"></td></p><p><b>  </tr></b></

90、p><p><b>  <tr></b></p><p>  <td>性別&nbsp;&nbsp;</p><p>  <select name="employeeSex"></p><p>  <option value="男"

91、;>男</option></p><p>  <option value="女">女</option></p><p><b>  </select></b></p><p>  <td>密碼&nbsp;&nbsp;<input type

92、="password" name="employeePwd" size="15"></td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td&

93、gt;電話&nbsp;&nbsp;<input type="text" name="employeeTel" size="15"></td></p><p><b>  </tr></b></p><p><b>  <tr></

94、b></p><p>  <td>郵箱&nbsp;&nbsp;<input type="text" name="employeeEmail" size="15"></td></p><p><b>  </tr></b></p>

95、<p><b>  <tr></b></p><p>  <td>住址&nbsp;&nbsp;<input type="text" name="employeeAddress" size="15"></td></p><p><

96、;b>  </tr></b></p><p><b>  后臺(tái)核心代碼如下:</b></p><p><b>  //員工注冊(cè)</b></p><p>  public ActionForward insertEmp(ActionMapping mapping, ActionForm form

97、,</p><p>  HttpServletRequest request, HttpServletResponse response)</p><p>  throws Exception </p><p><b>  {</b></p><p><b>  //取得前臺(tái)數(shù)據(jù)</b></p

98、><p>  EmpRegisterForm register=(EmpRegisterForm)form;</p><p>  EmployeeBean bean=new EmployeeBean();</p><p>  bean.setEmployeeAddress(register.getEmployeeAddress());</p><p&

99、gt;  bean.setEmployeeEmail(register.getEmployeeEmail());</p><p>  bean.setEmployeeName(register.getEmployeeName());</p><p>  bean.setEmployeePwd(register.getEmployeePwd());</p><p> 

100、 bean.setEmployeeSex(register.getEmployeeSex());</p><p>  bean.setEmployeeTel(register.getEmployeeTel());</p><p>  if(new EmployeeDaoImpl().getOneEmp(bean).getEmployeeName()==null)</p>&l

101、t;p><b>  {</b></p><p>  //將數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)</p><p>  int isOK=DaoFactory.getDaoFactory().getEmpDao().insertEmp(bean);</p><p>  System.out.println(isOK);</p><p> 

102、 if(isOK==1)</p><p><b>  {</b></p><p>  request.setAttribute("insert","a");</p><p>  return mapping.findForward("success");</p><

103、p><b>  }</b></p><p><b>  else</b></p><p>  return mapping.findForward("false");</p><p><b>  }</b></p><p><b>  els

104、e</b></p><p>  request.setAttribute("insertfalse","a");</p><p>  return mapping.findForward("false");</p><p><b>  }</b></p>&l

105、t;p><b>  3、員工登陸</b></p><p>  員工登陸頁(yè)面由CSS布局,用戶點(diǎn)擊登陸按鈕觸發(fā)form表單,form表單提交請(qǐng)求emplogin.do?method=empLogin,按照struts設(shè)計(jì)標(biāo)注,該請(qǐng)求轉(zhuǎn)發(fā)到struts-config.xml文件下,找到相應(yīng)處理請(qǐng)求的類EmployeeAction的empLogin方法,在empLogin方法中調(diào)用Emplo

106、yeeDaoImpl類的empLogin來(lái)操作數(shù)據(jù)庫(kù),操作成功后跳轉(zhuǎn)到InMain.jsp頁(yè)面,操作失敗跳轉(zhuǎn)到本頁(yè)面。如下圖所示:</p><p><b>  頁(yè)面核心代碼如下:</b></p><p>  <form action="emplogin.do?method=empLogin" method="post" n

107、ame="myform" onsubmit="return check()"></p><p>  <table width="765" border="0" align="center" cellpadding="0" cellspacing="0">&l

108、t;/p><p><b>  <tr></b></p><p>  <td class="style2"><font color="black">賬號(hào)</font></td></p><p>  <td class="style2&q

109、uot;><input type="text" name="userName" size="15"></td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><

110、;p>  <td class="style2"><font color="black">類型</font></td></p><p>  <td class="style2"></p><p>  <select name="userType&quo

111、t;></p><p>  <option value="出庫(kù)員">出庫(kù)員</option></p><p>  <option value="入庫(kù)員">入庫(kù)員</option></p><p>  </select></p><p>

112、  <td class="style2"><font color="black">密碼</font></td></p><p>  <td class="style2"><input type="password" name="userPwd" si

113、ze="15"></td></p><p><b>  </tr></b></p><p>  <tr align="center"></p><p>  <td class="style2" colspan="2"&

114、gt;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="登錄">&nbsp;<input type="button" value="注冊(cè)" onclick="goRegister()">&nbsp;<inpu

115、t type="reset" value="重寫(xiě)"></td></p><p><b>  </tr></b></p><p>  </table></td></p><p><b>  </tr></b></p

116、><p><b>  </table></b></p><p><b>  </form></b></p><p><b>  后臺(tái)核心代碼如下:</b></p><p><b>  //員工登錄</b></p><

117、p>  public ActionForward empLogin(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response)</p><p>  throws Exception </p><p><

118、;b>  {</b></p><p><b>  //接收前臺(tái)數(shù)據(jù)</b></p><p>  EmpLoginForm login=(EmpLoginForm)form;</p><p>  EmployeeBean emp=new EmployeeBean();</p><p>  emp.setE

119、mployeeName(login.getUserName());</p><p>  emp.setEmployeePwd(login.getUserPwd());</p><p>  LoginBean bean=new LoginBean();</p><p>  bean.setUserName(login.getUserName());</p>

120、<p>  bean.setUserPwd(login.getUserPwd());</p><p>  bean.setUserType(login.getUserType());</p><p>  //判斷用戶類型后去數(shù)據(jù)庫(kù)查詢</p><p>  if(login.getUserType().equals("出庫(kù)員"))&l

121、t;/p><p><b>  {</b></p><p>  boolean isOK=DaoFactory.getDaoFactory().getEmpDao().empLogin(bean);</p><p>  if(isOK==true)</p><p><b>  {</b></p>

122、;<p>  EmployeeBean ebean=DaoFactory.getDaoFactory().getEmpDao().getOneEmp(emp);</p><p>  if(ebean.getDutyId()==0){</p><p>  request.setAttribute("loginfalse","a");<

123、;/p><p>  return mapping.findForward("false");</p><p><b>  }else{</b></p><p>  request.getSession().setAttribute("emp",ebean);</p><p>  ret

124、urn mapping.findForward("out-success");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  request.setAttri

125、bute("login","a");</p><p>  return mapping.findForward("false");</p><p><b>  }</b></p><p>  if(login.getUserType().equals("入庫(kù)員"))

126、</p><p><b>  {</b></p><p>  boolean isOK=DaoFactory.getDaoFactory().getEmpDao().empLogin(bean);</p><p>  if(isOK==true)</p><p><b>  {</b></p&

127、gt;<p>  EmployeeBean ebean=DaoFactory.getDaoFactory().getEmpDao().getOneEmp(emp);</p><p>  if(ebean.getDutyId()==0){</p><p>  request.setAttribute("loginfalse","a");&

128、lt;/p><p>  return mapping.findForward("false");</p><p><b>  }else{</b></p><p>  request.getSession().setAttribute("emp",ebean);</p><p>  r

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論