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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  畢 業(yè) 論 文</p><p>  摘 要:倉(cāng)庫(kù)管理系統(tǒng)是一個(gè)企業(yè)不可或缺的部分,高效的倉(cāng)庫(kù)管理系統(tǒng)可以為企業(yè)的發(fā)展和經(jīng)營(yíng)提供堅(jiān)強(qiáng)的后盾。隨著科技的不斷發(fā)展,用計(jì)算機(jī)對(duì)倉(cāng)庫(kù)進(jìn)行管理,具有人工管理所無(wú)法比擬的優(yōu)點(diǎn),例如:檢索迅速、查找方便、保密性好、成本低、壽命長(zhǎng)等。這些優(yōu)點(diǎn)能極大地提高倉(cāng)庫(kù)管理的效率, 使企業(yè)的倉(cāng)庫(kù)管理井井有條,為企業(yè)的健康發(fā)展創(chuàng)造良好的條件。本文在分析現(xiàn)有管理系統(tǒng)開(kāi)發(fā)

2、技術(shù)的基礎(chǔ)上,實(shí)現(xiàn)了以Eclipse為開(kāi)發(fā)平臺(tái)的基于JSP的,以MySql作為后臺(tái)數(shù)據(jù)庫(kù)的倉(cāng)庫(kù)管理系統(tǒng)。該系統(tǒng)主要具備基本信息管理、庫(kù)存管理、信息查詢(xún)、用戶(hù)管理等功能模塊。</p><p>  關(guān)鍵詞:倉(cāng)庫(kù)管理,JSP,MySql數(shù)據(jù)庫(kù)</p><p>  Abstract: Warehouse management system is an indispensable part of t

3、he enterprise. A warehouse management system with high efficiency can provide a strong backing for the development and management of enterprises. With the development of technology,to manage the warehouse with computer h

4、as the incomparable advantages of manual management.For example, quick search, find convenient, good security, low cost, long service life etc. These advantages can greatly improve the efficiency of warehouse mana</p&

5、gt;<p>  Keywords: Warehouse management, JSP, MySql database</p><p><b>  目 錄</b></p><p><b>  1 緒論4</b></p><p>  1.1 開(kāi)發(fā)背景4</p><p>  1.

6、2 開(kāi)發(fā)意義4</p><p>  1.3 本文組織結(jié)構(gòu)4</p><p>  2 系統(tǒng)解決方案5</p><p>  2.1 JSP語(yǔ)言概述5</p><p>  2.2 SSH框架5</p><p>  2.3 MySql數(shù)據(jù)庫(kù)5</p><p>  2.4 系統(tǒng)平臺(tái)環(huán)境5&

7、lt;/p><p><b>  3 需求分析6</b></p><p>  3.1 面向的用戶(hù)人群6</p><p>  3.2 功能需求分析6</p><p>  3.3 業(yè)務(wù)流程圖7</p><p>  4 數(shù)據(jù)庫(kù)設(shè)計(jì)9</p><p>  4.1 E-R模型

8、9</p><p>  4.2 數(shù)據(jù)模型12</p><p>  5 詳細(xì)設(shè)計(jì)15</p><p>  5.1 數(shù)據(jù)庫(kù)連接類(lèi)15</p><p>  5.2 系統(tǒng)主要模塊16</p><p><b>  結(jié) 論34</b></p><p>  參 考 文 獻(xiàn)

9、35</p><p><b>  致 謝36</b></p><p><b>  緒論</b></p><p><b>  開(kāi)發(fā)背景</b></p><p>  一直以來(lái)企業(yè)使用傳統(tǒng)人工的方式來(lái)管理文件庫(kù)存,這種管理方式存在許多缺點(diǎn),如: 保密性差、效率低等,而且時(shí)間一長(zhǎng)

10、,將產(chǎn)生大量的數(shù)據(jù)和文件, 這對(duì)于企業(yè)查找、更新和維護(hù)都帶來(lái)了很多的困難。由于缺乏科學(xué)的管理和管理工具,企業(yè)在業(yè)務(wù)上和管理上的安排都存在著許多不便。因而針對(duì)這些問(wèn)題而開(kāi)發(fā)的系統(tǒng)具有很好的前景。</p><p><b>  開(kāi)發(fā)意義</b></p><p>  隨著時(shí)代的不斷發(fā)展,社會(huì)正在不斷向信息化時(shí)代邁進(jìn)。由于能夠有效地收集和處理各種信息,提高辦事效率,電子自動(dòng)化辦

11、公越來(lái)越被重視。而隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,又為電子自動(dòng)化辦公的發(fā)展提供了良好的前景。如今,很多企業(yè)已經(jīng)擁有了計(jì)算機(jī)設(shè)備,具備物質(zhì)條件,但很多工作仍由管理者手工操作完成,這就造成不必要的浪費(fèi)。計(jì)算機(jī)流行的原因主要有以下幾個(gè)方面:</p><p>  1.計(jì)算機(jī)可以代替手工操作進(jìn)行許多繁雜的工作;</p><p>  2.計(jì)算機(jī)可以節(jié)省大量資源;</p><p>  

12、3.計(jì)算機(jī)可以極大地提高人們的工作效率;</p><p>  4.計(jì)算機(jī)可以使敏感文檔更加安全;</p><p>  5.電子自動(dòng)化辦公是先進(jìn)生產(chǎn)力發(fā)展的重要標(biāo)志。</p><p>  綜上所述,用計(jì)算機(jī)開(kāi)發(fā)的軟件系統(tǒng),替代人工操作進(jìn)行管理,可以節(jié)約大量的人力、物力,是企業(yè)發(fā)展的必然趨勢(shì)[1]!</p><p><b>  本文組織

13、結(jié)構(gòu)</b></p><p>  本系統(tǒng)將以課本和一些課外書(shū)籍為參考,從系統(tǒng)開(kāi)發(fā)背景→需求分析→概要設(shè)計(jì)→詳細(xì)設(shè)計(jì)→具體開(kāi)發(fā)一步步對(duì)系統(tǒng)進(jìn)行分析和設(shè)計(jì)。各個(gè)章節(jié)安排如下:</p><p>  第一章為緒論,簡(jiǎn)述項(xiàng)目的開(kāi)發(fā)背景和開(kāi)發(fā)意義;</p><p>  第二章詳細(xì)介紹了項(xiàng)目開(kāi)發(fā)的應(yīng)用技術(shù),比如JSP,框架和數(shù)據(jù)庫(kù)等;</p><p

14、>  第三章是需求分析,介紹了系統(tǒng)的設(shè)計(jì)目標(biāo)和系統(tǒng)的主要功能模塊。</p><p>  第四章是數(shù)據(jù)庫(kù)設(shè)計(jì),在E-R模型的基礎(chǔ)上,再設(shè)計(jì)出相應(yīng)的邏輯模型。</p><p>  第五章根據(jù)系統(tǒng)功能模塊詳細(xì)介紹了各模塊的設(shè)計(jì)過(guò)程并給出部分實(shí)現(xiàn)代碼。</p><p><b>  系統(tǒng)解決方案</b></p><p>&l

15、t;b>  JSP語(yǔ)言概述</b></p><p>  JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。它的主要目的是將表示邏輯從Servlet中分離出來(lái)。它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。

16、所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶(hù)端的僅是得到的結(jié)果,這樣大大降低了對(duì)客戶(hù)瀏覽器的要求,即使客戶(hù)瀏覽器端不支持Java,也可以訪問(wèn)JSP網(wǎng)頁(yè)。用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行[2]。</p><p><b>  SSH框架</b></p><p>  SSH 在J2EE項(xiàng)目中表示了3種框架,即 Sprin

17、g + Struts +Hibernate。本系統(tǒng)采用MVC開(kāi)發(fā)模式來(lái)編寫(xiě)代碼,MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫(xiě)[3]。Struts對(duì)Model,View和Controller都提供了對(duì)應(yīng)的組件。Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)

18、建的[4]。Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。 Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,可以應(yīng)用在任何使用JDBC的場(chǎng)合,可以在Servlet/JSP的Web應(yīng)用中使用,也可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任[5]。</p><p><b>  MySql數(shù)據(jù)庫(kù)</b>&

19、lt;/p><p>  MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB公司開(kāi)發(fā),目前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。MySQL的SQL語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),一般中小型網(wǎng)站的開(kāi)發(fā)都選擇MySQL作為網(wǎng)站

20、數(shù)據(jù)庫(kù)[6]。</p><p><b>  系統(tǒng)平臺(tái)環(huán)境</b></p><p><b> ?。?)硬件環(huán)境:</b></p><p><b>  服務(wù)器:</b></p><p>  CPU: 2G或以上;</p><p>  內(nèi)存:1G RAM或以

21、上;</p><p>  硬盤(pán):80G或以上;</p><p><b>  客戶(hù)端:</b></p><p>  CPU: 1G或以上;</p><p>  內(nèi)存:64MB以上內(nèi)存或更高;</p><p>  硬盤(pán):20G或以上。</p><p> ?。?)軟件開(kāi)發(fā)環(huán)境:&

22、lt;/p><p>  操作系統(tǒng):WindowsXP;</p><p>  所用工具:Eclipse,Navicat for MySQL;</p><p>  數(shù)據(jù)庫(kù):MySQL。</p><p><b>  需求分析</b></p><p><b>  面向的用戶(hù)人群</b>&

23、lt;/p><p>  管理員:作為系統(tǒng)的管理員和維護(hù)者,對(duì)系統(tǒng)基本信息、倉(cāng)庫(kù)管理等模塊進(jìn)行數(shù)據(jù)的管理,并對(duì)系統(tǒng)的更新作出及時(shí)的響應(yīng),使得系統(tǒng)能更好地運(yùn)行。</p><p>  普通用戶(hù):作為系統(tǒng)的使用者,注冊(cè)登陸系統(tǒng)后,可以查詢(xún)系統(tǒng)基本信息、倉(cāng)庫(kù)信息、修改個(gè)人信息等。</p><p><b>  功能需求分析</b></p><

24、;p>  圖3-1 系統(tǒng)功能模塊圖</p><p>  本系統(tǒng)是一款倉(cāng)庫(kù)管理系統(tǒng),旨在對(duì)倉(cāng)庫(kù)的自動(dòng)化管理以適應(yīng)信息化社會(huì)的生產(chǎn)方式。根據(jù)倉(cāng)庫(kù)管理系統(tǒng)的需求,劃分了倉(cāng)庫(kù)的功能模塊,主要分為用戶(hù)管理模塊、入庫(kù)出庫(kù)模塊、倉(cāng)庫(kù)查詢(xún)模塊、盤(pán)點(diǎn)統(tǒng)計(jì)模塊[7]。具體功能如圖3-1所示。</p><p><b>  業(yè)務(wù)流程圖</b></p><p> 

25、 該系統(tǒng)的用戶(hù)分為普通用戶(hù)和管理員。管理員擁有所有權(quán)限,而普通用戶(hù)只能進(jìn)行查詢(xún)的操作。</p><p><b>  管理員模塊</b></p><p>  圖3-2 管理員使用流程圖</p><p>  管理員使用流程如圖3-2所示。</p><p><b>  登錄</b></p>

26、<p>  登陸界面包括賬號(hào)和密碼兩個(gè)文本框和身份選擇單選框,用戶(hù)登陸成功就會(huì)轉(zhuǎn)到系統(tǒng)主頁(yè)面,否則將會(huì)提示賬號(hào)密碼錯(cuò)誤。</p><p><b>  查詢(xún)信息</b></p><p>  用戶(hù)登陸查詢(xún)信息界面可以對(duì)倉(cāng)庫(kù)信息(倉(cāng)庫(kù)、貨物、供應(yīng)商、部門(mén)、入庫(kù)單、出庫(kù)單)進(jìn)行查詢(xún)。</p><p><b>  設(shè)置信息(管理員)&

27、lt;/b></p><p>  管理員用戶(hù)登陸設(shè)置信息界面可以對(duì)倉(cāng)庫(kù)信息(倉(cāng)庫(kù)、貨物、供應(yīng)商、部門(mén)、入庫(kù)單、出庫(kù)單)進(jìn)行設(shè)置。</p><p><b>  添加記錄(管理員)</b></p><p>  管理員用戶(hù)登陸添加界面可以添加入庫(kù)和出庫(kù)信息。</p><p><b>  修改密碼</b&g

28、t;</p><p>  用戶(hù)可以修改自己的密碼,需要先驗(yàn)證舊密碼,驗(yàn)證成功后通過(guò)輸入兩次新密碼對(duì)密碼進(jìn)行修改。</p><p><b>  用戶(hù)管理(管理員)</b></p><p>  管理員用戶(hù)可以對(duì)已添加的用戶(hù)權(quán)限進(jìn)行修改,也可以刪除已存在的用戶(hù)。</p><p><b>  普通用戶(hù)模塊</b&

29、gt;</p><p>  圖3-3 普通用戶(hù)使用流程圖</p><p>  普通用戶(hù)使用流程如圖3-3所示。</p><p>  普通用戶(hù)只能進(jìn)行查詢(xún)操作和修改個(gè)人信息。</p><p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫(kù)是一種存儲(chǔ)數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫(kù)的作用

30、在于組織和表達(dá)信息,即數(shù)據(jù)庫(kù)就是相關(guān)信息的集合。本章從E-R模型的分析設(shè)計(jì)為切入點(diǎn),重點(diǎn)介紹了數(shù)據(jù)庫(kù)的設(shè)計(jì)。根據(jù)倉(cāng)庫(kù)管理系統(tǒng)的功能,將其E-R圖轉(zhuǎn)化為數(shù)據(jù)庫(kù)表,為系統(tǒng)的實(shí)現(xiàn)奠定了基礎(chǔ)。</p><p><b>  E-R模型</b></p><p>  E-R模型即實(shí)體-聯(lián)系模型,它是由實(shí)體集、屬性和聯(lián)系集構(gòu)成。實(shí)體集用矩形框表示,矩形框內(nèi)寫(xiě)上實(shí)體名。實(shí)體的屬性用橢圓

31、框表示,框內(nèi)寫(xiě)上屬性名,并用無(wú)向邊與其對(duì)應(yīng)的實(shí)體集相連。實(shí)體間的聯(lián)系用菱形框表示,菱形框中寫(xiě)上以適當(dāng)?shù)暮x命名的名字,用無(wú)向連線將參加聯(lián)系的實(shí)體矩形框分別與菱形框相連,并在連線上標(biāo)明聯(lián)系的類(lèi)型,即1—1、1—N或M—N。</p><p>  本系統(tǒng)的E-R模型主要包括部門(mén)實(shí)體、貨物實(shí)體、用戶(hù)實(shí)體、供應(yīng)商實(shí)體、倉(cāng)庫(kù)實(shí)體、入庫(kù)單實(shí)體和出庫(kù)單實(shí)體共七個(gè)實(shí)體集和一個(gè)各實(shí)體聯(lián)系集。E-R模型如下文所述。</p>

32、<p>  部門(mén)實(shí)體用來(lái)存儲(chǔ)部門(mén)信息,E-R圖如圖4-1所示:</p><p>  圖4-1 部門(mén)實(shí)體E-R圖</p><p>  貨物實(shí)體用來(lái)存儲(chǔ)貨物信息,E-R圖如圖4-2所示:</p><p>  圖4-2 貨物實(shí)體E-R圖</p><p>  用戶(hù)實(shí)體用來(lái)存儲(chǔ)用戶(hù)信息,E-R圖如圖4-3所示:</p>&l

33、t;p>  圖4-3用戶(hù)實(shí)體E-R圖</p><p>  供應(yīng)商實(shí)體用來(lái)存儲(chǔ)供應(yīng)商信息,E-R圖如圖4-4所示:</p><p>  圖4-4供應(yīng)商實(shí)體E-R圖</p><p>  倉(cāng)庫(kù)實(shí)體用來(lái)存儲(chǔ)倉(cāng)庫(kù)信息,E-R圖如圖4-5所示:</p><p>  圖4-5倉(cāng)庫(kù)實(shí)體E-R圖</p><p>  入庫(kù)單實(shí)體用來(lái)

34、存儲(chǔ)入庫(kù)單信息,E-R圖如圖4-6所示:</p><p>  圖4-6入庫(kù)單實(shí)體E-R圖</p><p>  出庫(kù)單實(shí)體用來(lái)存儲(chǔ)出庫(kù)單信息,E-R圖如圖4-7所示:</p><p>  圖4-7出庫(kù)單實(shí)體E-R圖</p><p>  8.各實(shí)體聯(lián)系E-R圖如圖4-8所示。用戶(hù)通過(guò)添加入庫(kù)單和出庫(kù)單記錄入庫(kù)信息和出庫(kù)信息,供應(yīng)商提供貨物,部門(mén)使

35、用貨物,一條記錄對(duì)應(yīng)一個(gè)供應(yīng)商或者部門(mén),</p><p>  圖4-8 各實(shí)體聯(lián)系E-R圖</p><p><b>  數(shù)據(jù)模型</b></p><p>  根據(jù)4.1中分析得出的E-R圖,本系統(tǒng)采用MySql數(shù)據(jù)庫(kù)管理系統(tǒng),在MySql數(shù)據(jù)庫(kù)管理系統(tǒng)中新建名稱(chēng)為mystorage的數(shù)據(jù)庫(kù),本系統(tǒng)所使用的所有數(shù)據(jù)信息均將存儲(chǔ)于該數(shù)據(jù)庫(kù)中。以下列

36、舉數(shù)據(jù)表。</p><p>  部門(mén)表(department)</p><p><b>  表4-1 部門(mén)表</b></p><p>  貨物表(goods)</p><p><b>  表4-2 貨物表</b></p><p>  入庫(kù)表(instore)</p>

37、;<p><b>  表4-3 入庫(kù)表</b></p><p>  出庫(kù)表(outstore)</p><p><b>  表4-4 出庫(kù)表</b></p><p>  倉(cāng)庫(kù)表(store)</p><p><b>  表4-5 倉(cāng)庫(kù)表</b></p>

38、<p>  供應(yīng)商表(supplier)</p><p><b>  表4-6 供應(yīng)商表</b></p><p><b>  用戶(hù)表(user)</b></p><p><b>  表4-7 用戶(hù)表</b></p><p>  庫(kù)存表(stock)</p&g

39、t;<p><b>  表4-8 庫(kù)存表</b></p><p>  以上就是mystorage數(shù)據(jù)庫(kù)的數(shù)據(jù)表。</p><p><b>  詳細(xì)設(shè)計(jì)</b></p><p><b>  數(shù)據(jù)庫(kù)連接類(lèi)</b></p><p>  在對(duì)數(shù)據(jù)庫(kù)連接的過(guò)程中,為了使代碼

40、更精簡(jiǎn),將對(duì)數(shù)據(jù)庫(kù)的連接方法封裝在DriverMana公共類(lèi)中,其中包括數(shù)據(jù)庫(kù)連接方法getConn、ResultSet的關(guān)閉方法closers、PreparedStatement的關(guān)閉方法closepstmt、Connection的關(guān)閉方法closecon。以下即為代碼:</p><p>  public class DriverMana {</p><p>  public stati

41、c Connection getConn(){</p><p>  Connection con=null;</p><p><b>  try {</b></p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p>  con=DriverMa

42、nager.getConnection("jdbc:mysql://localhost:3306/mystorage", "root", "root");</p><p>  } catch (ClassNotFoundException e) {</p><p>  e.printStackTrace();</p>

43、<p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  return con;</p><p><b>  }</b></p><p&g

44、t;  public static void closers(ResultSet rs){</p><p>  if(rs!=null){</p><p><b>  try {</b></p><p>  rs.close();</p><p>  } catch (SQLException e) {</p>

45、;<p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public static void closepstmt(Prep

46、aredStatement pstmt){</p><p>  if(pstmt!=null){</p><p><b>  try {</b></p><p>  pstmt.close();</p><p>  } catch (SQLException e) {</p><p>  e.pr

47、intStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public static void closecon(Connection con){</p&g

48、t;<p>  if(con!=null){</p><p><b>  try {</b></p><p>  con.close();</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p

49、><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  系統(tǒng)主要模塊</b></p><p

50、><b>  登錄模塊</b></p><p><b>  圖5-1 登錄界面</b></p><p>  本模塊主要用于對(duì)用戶(hù)身份進(jìn)行鑒別。用戶(hù)有兩種身份:普通用戶(hù)和管理員。用戶(hù)通過(guò)單選框選擇登錄身份,通過(guò)表單輸入用戶(hù)名、密碼,系統(tǒng)根據(jù)用戶(hù)提供的信息對(duì)用戶(hù)進(jìn)行身份鑒別。界面如圖5-1所示。</p><p><

51、b>  后臺(tái)代碼實(shí)現(xiàn):</b></p><p>  public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p><p>  String userNa

52、me=request.getParameter("username");</p><p>  String password=request.getParameter("paswrd");</p><p>  String userLevel=request.getParameter("userLevel");</p>

53、<p>  User luser=new User();</p><p>  luser.setUserName(userName);</p><p>  luser.setPassword(password);</p><p>  luser.setUserLevel(userLevel);</p><p>  ILoginD

54、ao loginDao=new LoginDaoImpl();</p><p>  User login=loginDao.getUser(luser);</p><p>  if(login!=null){</p><p>  HttpSession session=request.getSession();</p><p>  sessi

55、on.setAttribute("login", login);</p><p>  ServletContext context=this.getServletContext();</p><p>  RequestDispatcher dispatcher;</p><p>  if(login.getUserLevel().equals(&

56、quot;0")){</p><p>  dispatcher=context.getRequestDispatcher("/comUser.jsp");</p><p><b>  }</b></p><p><b>  else{</b></p><p>  dis

57、patcher=context.getRequestDispatcher("/manaUser.jsp");</p><p><b>  }</b></p><p>  dispatcher.forward(request, response);</p><p><b>  }</b></p>

58、;<p><b>  else{</b></p><p>  request.setAttribute("loginFail","登錄失敗");</p><p>  ServletContext context=this.getServletContext();</p><p>  Requ

59、estDispatcher dispatcher=context.getRequestDispatcher("/login.jsp");</p><p>  dispatcher.forward(request, response);</p><p><b>  }</b></p><p><b>  }</

60、b></p><p><b>  目錄生成模塊</b></p><p>  由登陸界面進(jìn)入主界面后,總體界面如圖5-2所示:</p><p><b>  圖5-2 主界面</b></p><p>  畫(huà)面左邊即為目錄。目錄模塊主要用于生成目錄部分,菜單的折疊展開(kāi)是使用javascript代碼實(shí)

61、現(xiàn)的。</p><p>  菜單展開(kāi)折疊功能實(shí)現(xiàn)代碼:</p><p>  <script language="javascript"></p><p>  var divheight=130;</p><p>  var speed=11;</p><p><b>  var

62、 i=0;</b></p><p><b>  var s;</b></p><p><b>  var p=0;</b></p><p>  function doOpenClose(n){</p><p>  if(document.getElementById("bbb&

63、quot;+n).offsetHeight<11){</p><p><b>  i=0;</b></p><p><b>  inc(n);</b></p><p><b>  }</b></p><p><b>  else{</b></p

64、><p>  if(document.getElementById("bbb"+n).offsetHeight>divheight){</p><p>  p=divheight;</p><p><b>  inc2(n);</b></p><p><b>  }</b>&l

65、t;/p><p><b>  }</b></p><p><b>  }</b></p><p>  function inc(x){</p><p><b>  i=i+10;</b></p><p>  document.getElementById(&

66、quot;bbb"+x).style.height=i+"px";</p><p>  if(i>divheight){</p><p>  i=divheight-5;</p><p><b>  }</b></p><p>  var s=setTimeout("inc(

67、"+x+")",speed);</p><p>  if(i==125){</p><p>  window.clearTimeout(s);</p><p><b>  }</b></p><p><b>  }</b></p><p>  f

68、unction inc2(x){</p><p><b>  if(p>1){</b></p><p><b>  p=p-10;</b></p><p>  document.getElementById("bbb"+x).style.height=p+"px";</p

69、><p><b>  }</b></p><p>  var s=setTimeout("inc2("+x+")",speed);</p><p><b>  if(p==0){</b></p><p>  window.clearTimeout(s);</

70、p><p><b>  }</b></p><p><b>  }</b></p><p><b>  </script></b></p><p><b>  基本信息管理模塊</b></p><p>  基本信息管理模塊包

71、括供應(yīng)商管理、貨物管理、倉(cāng)庫(kù)信息管理和部門(mén)管理。</p><p><b>  供應(yīng)商管理</b></p><p>  本功能用于對(duì)供應(yīng)商信息的記錄管理。管理員可以添加新的供應(yīng)商,修改已有的供應(yīng)商信息,刪除供應(yīng)商信息等。界面如圖5-4所示:</p><p>  圖5-4 供應(yīng)商管理界面</p><p><b> 

72、 主要代碼:</b></p><p><b>  添加供應(yīng)商</b></p><p>  public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p>  throws ServletException, IOExceptio

73、n {</p><p>  request.setCharacterEncoding("utf-8");</p><p>  response.setContentType("text/html;charset=utf-8");</p><p>  String suppName=request.getParameter(&q

74、uot;suppName");</p><p>  String suppPerson=request.getParameter("suppPerson");</p><p>  String suppPhone=request.getParameter("suppPhone");</p><p>  String

75、suppAddr=request.getParameter("suppAddr");</p><p>  Supplier supplier=new Supplier();</p><p>  supplier.setSuppName(suppName);</p><p>  supplier.setSuppPerson(suppPerson);

76、</p><p>  supplier.setSuppPhone(suppPhone);</p><p>  supplier.setSuppAddr(suppAddr);</p><p>  ISupplierDao supplierDao=new SupplierDaoImpl();</p><p>  int i=supplierDao

77、.addSupplier(supplier);</p><p><b>  if(i>0){</b></p><p>  request.setAttribute("addPromt", "添加成功!");</p><p><b>  }</b></p><

78、p><b>  else{</b></p><p>  request.setAttribute("addPromt", "添加失??!");</p><p><b>  }</b></p><p>  this.getServletContext().getRequestDis

79、patcher("/addSupplier.jsp").forward(request, response);</p><p><b>  }</b></p><p><b>  刪除供應(yīng)商</b></p><p>  public void doPost(HttpServletRequest requ

80、est, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p><p>  String[] dele=request.getParameterValues("dele");</p><p>  int suppId=0;</p&

81、gt;<p><b>  int rs=0;</b></p><p>  for(int i=0;i<dele.length;i++){</p><p>  suppId=Integer.parseInt(dele[i]);</p><p>  ISupplierDao supplierDao=new SupplierDao

82、Impl(); </p><p>  rs=supplierDao.deleSupplier(suppId);</p><p>  if(rs==0){</p><p><b>  break;</b></p><p><b>  }</b></p><p><b&g

83、t;  }</b></p><p><b>  if(rs>0){</b></p><p>  request.setAttribute("delePromt", "刪除成功!");</p><p><b>  }</b></p><p>&

84、lt;b>  else{</b></p><p>  request.setAttribute("delePromt", "刪除失?。?quot;);</p><p><b>  }</b></p><p>  this.getServletContext().getRequestDispatch

85、er("/toSupply").forward(request, response);</p><p><b>  }</b></p><p><b>  貨物管理</b></p><p>  本功能用于對(duì)貨物信息的記錄管理。管理員可以添加新的貨物,修改已有的貨物信息,刪除貨物信息等。界面如圖5-5所示

86、:</p><p>  圖5-5 貨物管理界面</p><p>  實(shí)現(xiàn)代碼與供應(yīng)商管理相似。</p><p><b>  倉(cāng)庫(kù)信息管理</b></p><p>  本功能用于對(duì)倉(cāng)庫(kù)信息的記錄管理。管理員可以添加新的倉(cāng)庫(kù),修改已有的倉(cāng)庫(kù)信息,刪除倉(cāng)庫(kù)信息等。界面如圖5-6所示:</p><p> 

87、 圖5-6 倉(cāng)庫(kù)管理界面</p><p>  實(shí)現(xiàn)代碼與供應(yīng)商管理相似。</p><p><b>  部門(mén)管理</b></p><p>  圖5-7 部門(mén)管理界面</p><p>  本功能用于對(duì)部門(mén)信息的記錄管理。管理員可以添加新的部門(mén),修改已有的部門(mén)信息,刪除部門(mén)信息等。界面如圖5-7所示。</p>&

88、lt;p>  實(shí)現(xiàn)代碼與供應(yīng)商管理相似。</p><p><b>  庫(kù)存管理模塊</b></p><p>  庫(kù)存管理模塊包括入庫(kù)管理、出庫(kù)管理和庫(kù)存管理。</p><p><b>  入庫(kù)管理</b></p><p>  本功能用于對(duì)貨物入庫(kù)的記錄管理。當(dāng)某種已有貨物進(jìn)貨后,就可以在此處進(jìn)

89、行添加新紀(jì)錄,查詢(xún)或刪除已有記錄等操作。界面如圖5-8所示:</p><p>  圖5-8 入庫(kù)管理界面</p><p><b>  主要代碼:</b></p><p><b>  添加入庫(kù)單</b></p><p>  public void doPost(HttpServletRequest r

90、equest, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p><p>  response.setContentType("text/html");</p><p>  String instClass=request.getP

91、arameter("instClass");</p><p>  int goodsId=Integer.parseInt(request.getParameter("goodsId"));</p><p>  double instNum=Double.parseDouble(request.getParameter("instNum&q

92、uot;));</p><p>  int stoId=Integer.parseInt(request.getParameter("stoId"));</p><p>  Date date=new Date();</p><p>  HttpSession session=request.getSession();</p>&l

93、t;p>  User login=(User)session.getAttribute("login");</p><p>  int userId=login.getUserId();</p><p>  Instore instore=new Instore();</p><p>  instore.setGoodsId(goodsId

94、);</p><p>  instore.setInstClass(instClass);</p><p>  instore.setInstNum(instNum);</p><p>  instore.setStoId(stoId);</p><p>  instore.setInstTime(date);</p><

95、p>  instore.setModifyTime(date);</p><p>  instore.setUserId(userId);</p><p>  IInstoreDao instoreDao=new InstoreDaoImpl();</p><p><b>  int i=0;</b></p><p&g

96、t;  if(request.getParameter("instId").equals("")){</p><p>  i=instoreDao.addInstore(instore);</p><p><b>  if(i>0){</b></p><p>  IStockDao stockDao

97、=new StockDaoImpl();</p><p>  Stock stock=new Stock();</p><p>  stock.setStoId(stoId);</p><p>  stock.setGoodsId(goodsId);</p><p>  stock.setStock(instNum);</p>

98、<p><b>  int j=0;</b></p><p>  if(stockDao.queryStock(stock)){</p><p>  j=stockDao.updateStock(stock,1);</p><p><b>  }</b></p><p><b>

99、  else{</b></p><p>  j=stockDao.addStock(stock);</p><p><b>  }</b></p><p>  int volume=Integer.parseInt(request.getParameter("volume"));</p><p

100、>  IStorageDao storageDao=new StorageDaoImpl();</p><p>  i=storageDao.updateStorage(volume, stoId,1);</p><p>  if(i>0&&j>0){</p><p>  request.setAttribute("add

101、Promt", "添加成功!");</p><p><b>  }</b></p><p><b>  else{</b></p><p>  request.setAttribute("addPromt", "添加失??!");</p>&

102、lt;p><b>  }</b></p><p><b>  }</b></p><p><b>  else{</b></p><p>  request.setAttribute("addPromt", "添加失敗!");</p><

103、;p><b>  }</b></p><p><b>  }</b></p><p><b>  else{</b></p><p>  int instId=Integer.parseInt(request.getParameter("instId"));</p>

104、;<p>  instore.setInstId(instId);</p><p>  instore.setModifyTime(new Date());</p><p>  i=instoreDao.updateInstore(instore);</p><p><b>  if(i>0){</b></p>

105、<p>  request.setAttribute("modifyPromt", "修改成功!");</p><p><b>  }</b></p><p><b>  else{</b></p><p>  request.setAttribute("mod

106、ifyPromt", "修改失??!");</p><p><b>  }</b></p><p><b>  }</b></p><p>  this.getServletContext().getRequestDispatcher("/toAddInstore").for

107、ward(request, response);</p><p><b>  }</b></p><p><b>  刪除入庫(kù)單</b></p><p>  public void doPost(HttpServletRequest request, HttpServletResponse response)</p&

108、gt;<p>  throws ServletException, IOException {</p><p>  String[] dele=request.getParameterValues("dele");</p><p>  int instId=0;</p><p><b>  int rs=0;</b&

109、gt;</p><p>  for(int i=0;i<dele.length;i++){</p><p>  instId=Integer.parseInt(dele[i]);</p><p>  IInstoreDao instoreDao=new InstoreDaoImpl();</p><p>  rs=instoreDao.

110、deleInstore(instId);</p><p>  if(rs==0){</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  i

111、f(rs>0){</b></p><p>  request.setAttribute("delePromt", "刪除成功!");</p><p><b>  }</b></p><p><b>  else{</b></p><p>  

112、request.setAttribute("delePromt", "刪除失??!");</p><p><b>  }</b></p><p>  this.getServletContext().getRequestDispatcher("/toInstore").forward(request, resp

113、onse);</p><p><b>  }</b></p><p><b>  修改入庫(kù)單</b></p><p>  public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p>  th

114、rows ServletException, IOException {</p><p>  String[] dele=request.getParameterValues("dele");</p><p>  int instId=0;</p><p><b>  int rs=0;</b></p><

115、;p>  for(int i=0;i<dele.length;i++){</p><p>  instId=Integer.parseInt(dele[i]);</p><p>  IInstoreDao instoreDao=new InstoreDaoImpl();</p><p>  rs=instoreDao.deleInstore(instId

116、);</p><p>  if(rs==0){</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(rs>0){</b&

117、gt;</p><p>  request.setAttribute("delePromt", "刪除成功!");</p><p><b>  }</b></p><p><b>  else{</b></p><p>  request.setAttribu

118、te("delePromt", "刪除失?。?quot;);</p><p><b>  }</b></p><p>  this.getServletContext().getRequestDispatcher("/toInstore").forward(request, response);</p>

119、<p><b>  }</b></p><p><b>  出庫(kù)管理</b></p><p>  本功能用于對(duì)貨物出庫(kù)的記錄管理。當(dāng)某部門(mén)需要某種貨物時(shí),就可以在此處進(jìn)行添加新紀(jì)錄,查詢(xún)或刪除已有記錄等操作。界面如圖5-9所示:</p><p>  圖5-9 出庫(kù)管理界面</p><p>

120、  功能實(shí)現(xiàn)代碼與入庫(kù)管理模塊相似。</p><p><b>  信息查詢(xún)模塊</b></p><p>  本模塊用于對(duì)數(shù)據(jù)進(jìn)行集中查詢(xún)處理。管理員可以根據(jù)需要查詢(xún)供應(yīng)商、貨物、倉(cāng)庫(kù)、部門(mén)、入庫(kù)單、出庫(kù)單信息,并可以對(duì)其進(jìn)行修改、刪除操作。</p><p><b>  供應(yīng)商信息查詢(xún)</b></p><

121、p>  本功能主要實(shí)現(xiàn)對(duì)供應(yīng)商信息的查詢(xún),用戶(hù)可以根據(jù)供應(yīng)商編號(hào)或供應(yīng)商名稱(chēng)等對(duì)供應(yīng)商信息進(jìn)行查詢(xún),界面如圖5-10所示:</p><p>  圖5-10 供應(yīng)商信息查詢(xún)界面</p><p><b>  主要代碼:</b></p><p>  public void doPost(HttpServletRequest request, H

122、ttpServletResponse response)</p><p>  throws ServletException, IOException {</p><p>  request.setCharacterEncoding("utf-8");</p><p>  response.setContentType("text/ht

123、ml;charset=utf-8");</p><p>  String queryCon=request.getParameter("queryCon");</p><p>  if(queryCon==null){</p><p>  queryCon=(String)request.getAttribute("query

124、Con");</p><p><b>  }</b></p><p>  String standa=request.getParameter("standa");</p><p>  if(standa==null){</p><p>  standa=(String)request.ge

125、tAttribute("standa");</p><p><b>  }</b></p><p>  request.setAttribute("queryCon", queryCon);</p><p>  request.setAttribute("standa", standa

126、);</p><p>  List<Supplier> suppList=new ArrayList<Supplier>();</p><p>  ISupplierDao supplierDao=new SupplierDaoImpl();</p><p>  if(standa.equals("id")){</p

127、><p>  int suppId=Integer.parseInt(queryCon);</p><p>  suppList=supplierDao.getSupplier(suppId);</p><p><b>  }</b></p><p>  else if(standa.equals("name&qu

128、ot;)){</p><p>  suppList=supplierDao.getSupplier(queryCon);</p><p><b>  }</b></p><p>  request.setAttribute("suppList", suppList);</p><p>  this.g

129、etServletContext().getRequestDispatcher("/querySupplier.jsp").forward(request, response);</p><p><b>  }</b></p><p><b>  貨物信息查詢(xún)</b></p><p>  本功能主要實(shí)現(xiàn)

130、對(duì)貨物信息的查詢(xún),用戶(hù)可以根據(jù)貨物編號(hào)或貨物名稱(chēng)等對(duì)貨物信息進(jìn)行查詢(xún),界面如圖5-11所示:</p><p>  圖5-11 貨物信息查詢(xún)界面</p><p>  實(shí)現(xiàn)代碼與供應(yīng)商信息查詢(xún)相似。</p><p><b>  倉(cāng)庫(kù)信息查詢(xún)</b></p><p>  本功能主要實(shí)現(xiàn)對(duì)倉(cāng)庫(kù)信息的查詢(xún),用戶(hù)可以根據(jù)倉(cāng)庫(kù)編號(hào)或倉(cāng)

131、庫(kù)負(fù)責(zé)人等對(duì)倉(cāng)庫(kù)信息進(jìn)行查詢(xún),界面如圖5-12所示:</p><p>  圖5-12 倉(cāng)庫(kù)信息查詢(xún)界面</p><p>  實(shí)現(xiàn)代碼與供應(yīng)商信息查詢(xún)相似。</p><p><b>  部門(mén)信息查詢(xún)</b></p><p>  本功能主要實(shí)現(xiàn)對(duì)部門(mén)信息的查詢(xún),用戶(hù)可以根據(jù)部門(mén)編號(hào)或部門(mén)名稱(chēng)等對(duì)部門(mén)信息進(jìn)行查詢(xún),界面如圖5-

132、13所示:</p><p>  圖5-13 部門(mén)信息查詢(xún)界面</p><p>  實(shí)現(xiàn)代碼與供應(yīng)商信息查詢(xún)相似。</p><p><b>  入庫(kù)單信息查詢(xún)</b></p><p>  本功能主要實(shí)現(xiàn)對(duì)入庫(kù)單信息的查詢(xún),用戶(hù)可以根據(jù)入庫(kù)單編號(hào)或入庫(kù)貨物等對(duì)入庫(kù)單信息進(jìn)行查詢(xún),界面如圖5-14所示:</p>

133、<p>  圖5-14 入庫(kù)單信息查詢(xún)界面</p><p>  實(shí)現(xiàn)代碼與供應(yīng)商信息查詢(xún)相似。</p><p><b>  出庫(kù)單信息查詢(xún)</b></p><p>  本功能主要實(shí)現(xiàn)對(duì)出庫(kù)單信息的查詢(xún),用戶(hù)可以根據(jù)出庫(kù)單編號(hào)或出庫(kù)貨物等對(duì)貨物信息進(jìn)行查詢(xún),界面如圖5-15所示:</p><p>  圖5-15

134、出庫(kù)單信息查詢(xún)界面</p><p>  實(shí)現(xiàn)代碼與供應(yīng)商信息查詢(xún)相似。</p><p><b>  用戶(hù)管理模塊</b></p><p>  本模塊用于對(duì)系統(tǒng)用戶(hù)進(jìn)行操作。管理員可以進(jìn)行添加新用戶(hù),修改或刪除已有用戶(hù)等操作。界面如圖5-16所示:</p><p>  圖5-16 用戶(hù)管理界面</p><

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論