倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)報(bào)告_第1頁(yè)
倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)報(bào)告_第2頁(yè)
倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)報(bào)告_第3頁(yè)
倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)報(bào)告_第4頁(yè)
倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩22頁(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緒論隨著社會(huì)經(jīng)濟(jì)的不停發(fā)展,各個(gè)公司也面臨著多個(gè)機(jī)遇和挑戰(zhàn)。為了能夠在這個(gè)信息化的時(shí)代繼續(xù)發(fā)展下去,就必須緊跟上時(shí)代的腳步。隨著網(wǎng)絡(luò)技術(shù)的不停發(fā)展,當(dāng)代物流技術(shù)也在不停的更新?lián)Q代。傳統(tǒng)的人工記載的辦公辦法已經(jīng)無(wú)法滿足諸多公司的需要,因此,每個(gè)公司都需要一種自動(dòng)化的倉(cāng)庫(kù)管理系統(tǒng)。倉(cāng)庫(kù)是每個(gè)公司都必須謹(jǐn)慎管理的地方,由于貨品是公司最基本的本錢,只有較好地管理好自己公司的貨品,才干在競(jìng)爭(zhēng)如此激烈的社會(huì)中謀得一片天地。本課題正是根據(jù)這一理念,開發(fā)了一種功效比較完善,基本能滿足公司規(guī)定的倉(cāng)庫(kù)管理系統(tǒng)。1.1系統(tǒng)開發(fā)背景隨著計(jì)算機(jī)技術(shù)的發(fā)展,一種嶄新的信息化的世界已經(jīng)呈現(xiàn)在我們眼前。如今,你能夠隨處看到諸多不同種類的信息管理系統(tǒng)。商品是公司的根本,倉(cāng)庫(kù)是公司用來(lái)保存商品的地方。因此,倉(cāng)庫(kù)對(duì)于公司十分重要。因此說(shuō)一種成功的公司必然會(huì)有一種好的倉(cāng)庫(kù),而一種好的倉(cāng)庫(kù)就必定會(huì)有一種先進(jìn)的倉(cāng)庫(kù)管理系統(tǒng)作為支撐。但是,傳統(tǒng)簡(jiǎn)樸、靜態(tài)的倉(cāng)庫(kù)管理系統(tǒng),由于其不含有信息共享功效,且無(wú)法確保貨品的對(duì)的的進(jìn)庫(kù)、庫(kù)存控制和發(fā)貨等問(wèn)題,已經(jīng)無(wú)法確保公司資源的高效運(yùn)用;并且,傳統(tǒng)的倉(cāng)庫(kù)管理系統(tǒng)存在維護(hù)困難、開發(fā)復(fù)雜等缺點(diǎn),極大的浪費(fèi)公司的人力、物力,因此已經(jīng)跟不上時(shí)代的步伐。因此說(shuō),一種成功的公司需要一種當(dāng)代的倉(cāng)庫(kù)管理系統(tǒng)來(lái)確保公司產(chǎn)品的精細(xì)化管理,確保最大化運(yùn)用公司資源。1.2系統(tǒng)開發(fā)目的倉(cāng)庫(kù)是全部公司都不可缺少的部分,因此,一種公司想要蓬勃發(fā)展,管理好自己的倉(cāng)庫(kù)就顯得十分重要。但是倉(cāng)庫(kù)中的貨品總是不停變動(dòng)的,因此,就需要有人將倉(cāng)庫(kù)中貨品的增減狀況進(jìn)行統(tǒng)計(jì)。但是傳統(tǒng)的人工統(tǒng)計(jì)的辦法存在著許多問(wèn)題,例如信息安全行性低、查詢效率低等。因此,對(duì)于一種想要不停發(fā)展的公司來(lái)說(shuō),這種人工統(tǒng)計(jì)的方式必須裁減。隨著計(jì)算機(jī)技術(shù)的不停發(fā)展,計(jì)算機(jī)的使用已經(jīng)十分普遍,每個(gè)公司都擁有計(jì)算機(jī)。使用計(jì)算機(jī)對(duì)庫(kù)存信息進(jìn)行管理有著諸多人工統(tǒng)計(jì)所無(wú)法比擬的優(yōu)點(diǎn),例如查詢快捷、信息安全性高、添加刪除方便等?;谝陨线@些因素,我開發(fā)了一種倉(cāng)庫(kù)管理系統(tǒng)。本系統(tǒng)能夠確保貨品的對(duì)的的進(jìn)庫(kù)、庫(kù)存控制和發(fā)貨。并且,系統(tǒng)維護(hù)簡(jiǎn)樸,不需要?jiǎng)佑锰嗟娜肆?、物力,能夠有效的協(xié)助公司管理好倉(cāng)庫(kù)。1.3系統(tǒng)開發(fā)平臺(tái)本系統(tǒng)采用B/S的三層架構(gòu),系統(tǒng)使用MyEclipse開發(fā)工具,基于J2EE平臺(tái),采用MVC開發(fā)模式,JSP、Struts技術(shù),選用SQLServer作為系統(tǒng)的數(shù)據(jù)庫(kù)平臺(tái)。1.3.1MyEclipse全名MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse。MyEclipse公司級(jí)工作平臺(tái)是對(duì)EclipseIDE的擴(kuò)展,運(yùn)用它我們能夠極大的提高在數(shù)據(jù)庫(kù)和J2EE的開發(fā)、公布,以及應(yīng)用程序服務(wù)器整合方面的工作效率。它是功效豐富的J2EE集成開發(fā)環(huán)境,涉及了完備的編碼功效、調(diào)試功效、測(cè)試功效、公布功效等,完整支持HTML、Struts、JSP、CSS、Javascript、SQL、Hibernate等框架。1.3.2JSP技術(shù)JSP技術(shù)是主流Web開發(fā)技術(shù)中使用最為廣泛的一種,它是由Sun公司推出的一款基于Java語(yǔ)言的Web開發(fā)技術(shù)。在Sun公司的倡導(dǎo)下,許多公司都參加到了JSP的開發(fā)之中,使得JSP成為了動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)的原則。JSP技術(shù)不僅繼承了Java語(yǔ)言的強(qiáng)大功效,能夠方便的開發(fā)出先進(jìn)、安全和跨平臺(tái)的電子商務(wù)系統(tǒng),并且還擁有JavaServlet的穩(wěn)定性,并能夠使用Servlet提供API。JSP是現(xiàn)在比較熱門的一款Web網(wǎng)頁(yè)開發(fā)技術(shù),由它開發(fā)出的系統(tǒng)含有良好的擴(kuò)充性,實(shí)用性較高。JSP技術(shù)使用Java編程語(yǔ)言編寫類XML的tags和scriptlets來(lái)封裝動(dòng)態(tài)網(wǎng)頁(yè)產(chǎn)生的解決邏輯。JSP技術(shù)將網(wǎng)頁(yè)的設(shè)計(jì)和顯示與網(wǎng)頁(yè)邏輯分離開來(lái),并且設(shè)計(jì)成支持可重用的基于組件,這些功效極大的提高了基于Web的應(yīng)用程序的開發(fā)效率。當(dāng)有訪問(wèn)JSP頁(yè)面的請(qǐng)求發(fā)送到Web服務(wù)器時(shí),首先將其中的程序段進(jìn)行執(zhí)行,然后將執(zhí)行成果連同JSP文獻(xiàn)中的HTML代碼一起返回給客戶。插入的Java程序段能夠用來(lái)進(jìn)行數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等操作,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功效。JSP與JavaServlet同樣,是在服務(wù)器端執(zhí)行的,普通返回給客戶端的就是一種HTML文本,因此客戶端只要有瀏覽器就能瀏覽。[2]1.3.3Struts2Struts2框架是在Struts1和WebWork框架的基礎(chǔ)上開發(fā)出來(lái)的,它吸取了2個(gè)框架的優(yōu)點(diǎn)。Struts1框架和WebWork框架是2個(gè)完全不同的框架。因此,即使Struts2感覺(jué)上仿佛是Struts1的升級(jí)版,但是卻和Struts1相比,在設(shè)計(jì)理念上有著本質(zhì)的不同。在體系構(gòu)造和運(yùn)行流程上Struts2和WebWork非常相似,因此,能夠?qū)truts2理解成是繼承了WebWork的血統(tǒng)。Struts2框架大致是由核心控制器、業(yè)務(wù)控制器和顧客實(shí)現(xiàn)的業(yè)務(wù)邏輯組件3個(gè)部分構(gòu)成。其中,F(xiàn)ilterDispatcher充當(dāng)著核心控制器,該控制器作為一種Filter運(yùn)行在Web應(yīng)用中,并負(fù)責(zé)攔截顧客的全部請(qǐng)求。顧客使用軟件時(shí),如果請(qǐng)求最后是以“.action”結(jié)尾,那么,該請(qǐng)求就將轉(zhuǎn)入到Struts2框架中進(jìn)行解決。顧客自己實(shí)現(xiàn)的Action類的實(shí)例其實(shí)就是業(yè)務(wù)控制器,在這些Action類中,普通都包含一種execute()辦法,該辦法的返回值普通都是一種字符串,就是普通我們所說(shuō)的邏輯視圖名,并且,總有一種實(shí)際要轉(zhuǎn)到的視圖資源和這些邏輯視圖名相對(duì)應(yīng)。即使Struts2在核心控制器和業(yè)務(wù)控制器方面為顧客提供了諸多協(xié)助,但是在業(yè)務(wù)邏輯組件方面,它確沒(méi)有提供太多的協(xié)助。業(yè)務(wù)邏輯組件其實(shí)只是一種體現(xiàn)層的框架,因此在實(shí)際開發(fā)過(guò)程中,當(dāng)控制器需要獲取業(yè)務(wù)邏輯組件時(shí),普通都要通過(guò)Factory模式來(lái)獲取所需的業(yè)務(wù)邏輯組件實(shí)例。[3]1.3.4MicrosoftMicrosoftSQLServer是一款由微軟公司開發(fā)的數(shù)據(jù)庫(kù)產(chǎn)品。它擁有諸多的分類,但基本都是產(chǎn)品規(guī)格上的變化,內(nèi)部包含的服務(wù)不同。普通有公司版,各人版,移動(dòng)版以及搜索引擎類等版本。其中,公司版相對(duì)與其它幾個(gè)版原來(lái)說(shuō),功效比較齊全,但是確不能在WindowXP下安裝,這點(diǎn)比較遺憾。MicrosoftSQLServer的重要作用是對(duì)程序所需要的數(shù)據(jù)進(jìn)行存儲(chǔ)、分析、查詢、修改等操作。MicrosoftSQLServer簡(jiǎn)化了之前版本數(shù)據(jù)庫(kù)中的管理和優(yōu)化功效,并且極大的提高了在線商務(wù)應(yīng)用程序成功布署所需的可靠性和伸縮性。其中,日志傳送、在線備份和故障切換群集等功效用以提高可靠性的特性。并且,對(duì)32顆CPU和64GBRAM的支持也在很大程度上改善在伸縮性方面。通過(guò)對(duì)數(shù)據(jù)文獻(xiàn)尺寸的自動(dòng)管理、基于向?qū)У臄?shù)據(jù)庫(kù)拷貝、自動(dòng)內(nèi)存管理和簡(jiǎn)化的故障切換群集安裝與管理等一系列的自動(dòng)優(yōu)化和改善后的管理特性,使得顧客能夠快速布署并有效管理在線商務(wù)應(yīng)用程序。MicrosoftSQLServer還提供了數(shù)據(jù)庫(kù)完整性保護(hù)。在SQLServer中,為了對(duì)實(shí)現(xiàn)數(shù)據(jù)庫(kù)完整性的約束,則通過(guò)檢查(Check)約束、默認(rèn)值(Default)約束、顧客定義的數(shù)據(jù)類型、規(guī)則(Rule)、存儲(chǔ)過(guò)程(Storedprocedure)、觸發(fā)器(Trigger)等技術(shù)來(lái)實(shí)現(xiàn),從而使數(shù)據(jù)庫(kù)中的數(shù)據(jù)達(dá)成一致、對(duì)的,以提高數(shù)據(jù)庫(kù)系統(tǒng)的性能。2系統(tǒng)需求分析需求分析是系統(tǒng)開發(fā)的首要環(huán)節(jié),也是直接影響系統(tǒng)整體性能和功效的核心環(huán)節(jié)。系統(tǒng)的需求分析重要是對(duì)系統(tǒng)的可行性、性能和功效進(jìn)行具體地分析。不合理的需求分析,會(huì)使系統(tǒng)的開發(fā)環(huán)節(jié)出現(xiàn)許多錯(cuò)誤和走許多彎路,造成系統(tǒng)開發(fā)時(shí)間長(zhǎng),效率低,系統(tǒng)質(zhì)量受到影響。2.1運(yùn)行環(huán)境分析硬件需求CPU:1G以上內(nèi)存:512M以上硬盤:1G以上系統(tǒng)環(huán)境操作系統(tǒng):WindowXP/Window數(shù)據(jù)庫(kù):SQLServer開發(fā)工具:MyEclipse開發(fā)語(yǔ)言:Java2.2功效模塊分析(1)功效分析系統(tǒng)含有倉(cāng)庫(kù)管理系統(tǒng)的基本功效。系統(tǒng)分為兩個(gè)部分,一種是顧客部分:顧客能夠使用顧客名和密碼登錄系統(tǒng)進(jìn)行操作。一種是系統(tǒng)部分:這部分涉及對(duì)商品的入庫(kù)、出庫(kù)操作,在庫(kù)貨品查詢等功效。(2)模塊分析登錄模塊:倉(cāng)庫(kù)管理人員進(jìn)入系統(tǒng)必須通過(guò)登錄。添加商品信息模塊:新入庫(kù)的商品,在進(jìn)入倉(cāng)庫(kù)之前,必須通過(guò)倉(cāng)庫(kù)管理人員的進(jìn)行添加。入庫(kù)模塊:倉(cāng)庫(kù)中已有的商品才干進(jìn)行的操作,重要是入庫(kù)數(shù)量上的變化。商品類別管理模塊:商品類別來(lái)分辨多個(gè)商品,將商品分類管理。2.3系統(tǒng)目的分析倉(cāng)儲(chǔ)物流在公司的整個(gè)供應(yīng)鏈中起到一種至關(guān)重要的作用,如果不能對(duì)的的確保貨品的入庫(kù),庫(kù)存貨品的發(fā)貨,將造成公司管理費(fèi)用的增加。并且,倉(cāng)庫(kù)管理人員的工作時(shí)間會(huì)延長(zhǎng),工作的效率不高。開發(fā)這個(gè)系統(tǒng),重要的目的就是協(xié)助倉(cāng)庫(kù)管理人員提高工作效率,減少工作時(shí)間,實(shí)現(xiàn)倉(cāng)庫(kù)貨品在管理上的系統(tǒng)化,規(guī)范化和自動(dòng)化。2.4性能分析本系統(tǒng)操作簡(jiǎn)樸,界面美觀,使用本系統(tǒng)的倉(cāng)庫(kù)管理人員不需要掌握太多的專業(yè)知識(shí)便可純熟使用。系統(tǒng)能夠快速的將倉(cāng)庫(kù)管理人員對(duì)商品信息的操作(涉及商品的入庫(kù)、出庫(kù),商品信息的修改和刪除,商品類別的添加和刪除等)顯示在對(duì)應(yīng)的頁(yè)面中,達(dá)成“即時(shí)操作,即時(shí)顯示”的效果。系統(tǒng)功效完善,涉及了普通倉(cāng)庫(kù)管理系統(tǒng)的全部功效,完全能夠滿足顧客的需要。3系統(tǒng)設(shè)計(jì)系統(tǒng)的設(shè)計(jì)是系統(tǒng)開發(fā)中的一種重要環(huán)節(jié)。本章將重要介紹一種基于B/S架構(gòu)的倉(cāng)庫(kù)管理系統(tǒng)的總體構(gòu)造、系統(tǒng)架構(gòu)和數(shù)據(jù)庫(kù)設(shè)計(jì)。總體構(gòu)造重要介紹了各個(gè)模塊之間的關(guān)系,數(shù)據(jù)庫(kù)設(shè)計(jì)重要闡明了表的建立和數(shù)據(jù)之間的關(guān)系。3.1總體構(gòu)造本系統(tǒng)包含了倉(cāng)庫(kù)管理系統(tǒng)所需要的基本功效,能夠滿足普通顧客對(duì)于倉(cāng)庫(kù)管理的需要,能有效的提高倉(cāng)庫(kù)管理人員的工作效率。根據(jù)系統(tǒng)的需求分析,系統(tǒng)大致分為下列幾個(gè)模塊:登錄模塊、添加商品信息模塊、出庫(kù)模塊、入庫(kù)模塊、商品類別管理模塊。其中,各個(gè)模塊又有不同的子模塊。總體構(gòu)造如圖3.1所示。倉(cāng)庫(kù)管理系統(tǒng)倉(cāng)庫(kù)管理系統(tǒng)登入商品信息查詢商品入庫(kù)新入庫(kù)商品管理商品類別管理出庫(kù)商品信息查詢刪除信息商品出庫(kù)添加刪除圖3.1總體構(gòu)造圖3.2系統(tǒng)架構(gòu)系統(tǒng)是基于B/S構(gòu)造開發(fā)的,B/S構(gòu)造分為表達(dá)層、業(yè)務(wù)層、數(shù)據(jù)層三層。其中:(1)表達(dá)層:作為顧客的接口層,負(fù)責(zé)顧客與整個(gè)系統(tǒng)交互,運(yùn)用JSP技術(shù)來(lái)實(shí)現(xiàn)。(2)業(yè)務(wù)層:作為業(yè)務(wù)邏輯的封裝層,采用Struts2框架,頁(yè)面接受到顧客請(qǐng)求后,將數(shù)據(jù)層取到的數(shù)據(jù)進(jìn)行解決,最后把解決成果在表達(dá)層中顯示出來(lái)。(3)數(shù)據(jù)層:作為數(shù)據(jù)的存儲(chǔ)層,采用SQLServer數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的管理。3.3數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1概念設(shè)計(jì)從系統(tǒng)的需求出發(fā),用數(shù)據(jù)流的形式將設(shè)計(jì)對(duì)象體現(xiàn)成完整的抽象實(shí)體。但不涉及模塊內(nèi)部的細(xì)節(jié)。它的描述工具是E-R圖,如圖3.2所示。管理人員管理人員貨品顧客名密碼商品名稱商品號(hào)碼商品類別商品數(shù)量生產(chǎn)廠家入庫(kù)出庫(kù)MN修改刪除管理添加圖3.2系統(tǒng)E-R圖3.3.2邏輯構(gòu)造設(shè)計(jì)邏輯構(gòu)造的描述辦法是基本表,它反映了系統(tǒng)中所涉及數(shù)據(jù)的邏輯構(gòu)造。根據(jù)系統(tǒng)中數(shù)據(jù)信息的特點(diǎn),將數(shù)據(jù)的概念模型轉(zhuǎn)換為關(guān)系模型。(1)顧客信息關(guān)系模式,其中顧客名為關(guān)系主鍵。顧客(顧客ID、顧客名、密碼)(2)商品信息關(guān)系模式,其中商品號(hào)碼為關(guān)系主鍵。商品(商品號(hào)碼、商品名、生產(chǎn)產(chǎn)地、商品數(shù)量、類別ID)(3)商品類別信息關(guān)系模式,其中類別ID為關(guān)系主鍵。商品類別(類別ID、類別名)(4)出庫(kù)商品信息關(guān)系模式,其中商品號(hào)碼為關(guān)系主鍵。出庫(kù)商品(商品號(hào)碼、商品名、生產(chǎn)產(chǎn)地、出庫(kù)數(shù)量、類別ID)表3.1商品信息表(kehu)列名數(shù)據(jù)類型可否為空闡明comIDVarchar(50)NOTNULL商品IDcomnameVarchar(50)NULL商品名稱comfromVarchar(50)NULL生產(chǎn)廠家comnumberChar(10)NULL商品數(shù)量sortIDint(4)NULL商品類別ID表3.2商品出庫(kù)信息表(outkehu)列名數(shù)據(jù)類型可否為空闡明comIDVarchar(50)NOTNULL商品IDcomnameVarchar(50)NULL商品名稱comfromVarchar(50)NULL生產(chǎn)廠家comnumberChar(10)NULL商品數(shù)量sortIDint(4)NULL商品類別ID表3.3倉(cāng)庫(kù)管理員信息表(abc)列名數(shù)據(jù)類型可否為空闡明userIDchar(10)NOTNULL管理員IDusernamechar(10)NULL管理員姓名passwordchar(10)NULL密碼表3.4商品類別管理信息表(sort)列名數(shù)據(jù)類型可否為空闡明sortIDInt(4)NOTNULL商品類別IDsortNameChar(10)NULL商品類別名稱3.3.3本系統(tǒng)采用MicrosoftSQLServer數(shù)據(jù)庫(kù)系統(tǒng),系統(tǒng)提供了良好的數(shù)據(jù)庫(kù)管理功效來(lái)管理商品數(shù)據(jù)。數(shù)據(jù)庫(kù)名為fmw,表名分別為kehu、abc、outkehu、sort。數(shù)據(jù)的備份和恢復(fù)采用數(shù)據(jù)庫(kù)系統(tǒng)本身提供的數(shù)據(jù)導(dǎo)入/導(dǎo)出工具來(lái)完畢,形成對(duì)應(yīng)的數(shù)據(jù)文獻(xiàn)。其中數(shù)據(jù)文獻(xiàn)名為fmw_Data.MDF;日志文獻(xiàn)名為fmw_Log.LDF。4系統(tǒng)實(shí)現(xiàn)該系統(tǒng)實(shí)現(xiàn)了倉(cāng)庫(kù)管理系統(tǒng)的基本功效,涉及商品的入庫(kù)、出庫(kù),商品信息的修改和刪除,商品類別的添加、刪除。顧客(即倉(cāng)庫(kù)管理人員)登錄后能夠進(jìn)入系統(tǒng)使用主界面,在主界面上,倉(cāng)庫(kù)管理人員能夠?qū)Ρ鞠到y(tǒng)的各個(gè)界面進(jìn)行操作。數(shù)據(jù)庫(kù)連接和頁(yè)面顯示4.1.1數(shù)據(jù)庫(kù)連接本系統(tǒng)與數(shù)據(jù)庫(kù)的連接方式,涉及對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行添加、刪除、修改,都封裝在一種名為DBOper.java的文獻(xiàn)中,方便倉(cāng)庫(kù)管理人員在計(jì)算機(jī)上運(yùn)行本系統(tǒng)時(shí),對(duì)數(shù)據(jù)庫(kù)進(jìn)行必要的操作。具體代碼以下。importjava.sql.*;publicclassDBOper{publicDBOper(){ try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");}catch(ClassNotFoundExceptione){}}privateConnectiongetConnection(){ Connectionconn=null; try{ conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=fmw","sa","sa");//填寫有關(guān)的數(shù)據(jù)庫(kù)名和數(shù)據(jù)庫(kù)顧客名和密碼 Statementstmt=conn.createStatement(); }catch(SQLExceptione){ System.out.println(e.getMessage()); } returnconn; }publicResultSetexecuteQuery(Stringsql){ ResultSetrs=null; try{ Connectionconn=this.getConnection();Statementstmt=conn.createStatement();rs=stmt.executeQuery(sql); }catch(SQLExceptione){ System.out.println(e.getMessage()); } returnrs;}//用于執(zhí)行Insert、Update、Delete語(yǔ)句以及SQLDDL語(yǔ)句publicintexecuteUpdate(Stringsql){ intnum=0; try{ Connectionconn=this.getConnection();//初始化數(shù)據(jù)庫(kù)的連接 Statementstmt=conn.createStatement();//執(zhí)行一種連接 num=stmt.executeUpdate(sql);//執(zhí)行sql的操作 }catch(SQLExceptione){ System.out.println(e.getMessage()); } returnnum; }//關(guān)閉一種連接privatevoidcloseConn(Connectionconn){ if(null!=conn){ try{ conn.close(); }catch(SQLExceptione){ e.printStackTrace(); } } }//關(guān)閉一種連接 privatevoidcloseStam(Statementstmt){ if(null!=stmt){ try{ stmt.close(); }catch(SQLExceptione){ e.printStackTrace(); } } }}4.1.2頁(yè)面顯示本系統(tǒng)的頁(yè)面顯示諸多都是采用的分頁(yè)顯示。由于,在普通的狀況下,倉(cāng)庫(kù)中的商品補(bǔ)可能只有一種,因此,要將商品的信息分開顯示出來(lái)就需要用到分頁(yè)查詢的功效。具體代碼以下。publicList<Kehu>queryByPage(intpageSize,intpageNow){List<Kehu>list=newArrayList<Kehu>();try{if(this.getConnection()!=null&&pageSize>0&&pageNow>0){pstmt=this.getConnection().prepareStatement("select*fromkehuorderbycomIDlimit"+(pageNow*pageSizeSize)+","+pageSize);//以商品ID為原則查詢數(shù)據(jù)表kehu中的商品信息rs=pstmt.executeQuery();while(rs.next()){ kehu=newKehu(); kehu.setComID(rs.getInt(1)); kehu.setComname(rs.getString(2)); kehu.setComfrom(rs.getString(3)); kehu.setComnumber(rs.getString(4)); kehu.setSortID(rs.getString(5));list.add(kehu);}}}catch(SQLExceptione){e.printStackTrace();}returnlist;}4.2登錄模塊本系統(tǒng)是一種單顧客系統(tǒng)。倉(cāng)庫(kù)管理人員使用顧客名和密碼登入系統(tǒng)之后,可進(jìn)入主界面對(duì)系統(tǒng)進(jìn)行操作。登錄界面設(shè)計(jì),如圖4.1所示。圖4.1顧客登錄界面當(dāng)倉(cāng)庫(kù)管理人員登錄系統(tǒng),必須輸入對(duì)的的顧客名和密碼,當(dāng)輸入的顧客名或者密碼錯(cuò)誤時(shí),就會(huì)出現(xiàn)登錄失敗的狀況。實(shí)現(xiàn)判斷登錄人員顧客名和密碼與否錯(cuò)誤功效的重要代碼以下。publicStringexecute()throwsException{ DBOperdbOper=newDBOper(); Stringsql="select*fromabcwhereusername='"+username+"'andpassword='"+password+"'";//查詢數(shù)據(jù)表abc中與否有這個(gè)顧客名和密碼 ResultSetrs=dbOper.executeQuery(sql); System.out.println(sql); if(rs.next()){ return"main"; } elsereturn"error";//查詢成果如果有則返回到main,沒(méi)有,則返回error,這兩個(gè)返回值對(duì)應(yīng)兩個(gè)JSP頁(yè)面 }4.3主界面模塊當(dāng)倉(cāng)庫(kù)管理人員用對(duì)的的顧客名和密碼登錄進(jìn)系統(tǒng)之后,即可直接進(jìn)入到主界面。在主界面上,有各個(gè)子功效界面的超鏈接選項(xiàng),涉及商品信息查詢、商品入庫(kù)、新商品入庫(kù)管理、商品類別管理、商品出庫(kù)信息查詢。當(dāng)倉(cāng)庫(kù)管理人員完畢工作后,即可選擇退出。主界面如圖4.2所示。圖4.2應(yīng)用界面4.4商品信息查詢模塊本模塊重要功效為商品信息查詢。倉(cāng)庫(kù)管理人員進(jìn)入該頁(yè)面后,能夠在本模塊的界面中查詢到全部商品的信息,并且尚有有關(guān)商品出庫(kù)和修改商品信息操作的超鏈接選項(xiàng)。界面如圖4.3所示。圖4.3商品信息界面從圖中能夠看到,倉(cāng)庫(kù)管理人員能夠看到全部商品的信息。這個(gè)重要由action包中的ShowGoodsAction.java類來(lái)實(shí)現(xiàn)的。ShowGoodsAction.java類的作用是創(chuàng)立一種鏈表,將要顯示的商品信息放入這個(gè)鏈表中。具體代碼為:ShowGoodsAciton.java:publicclassShowGoodsAction{ publicStringexecute()throwsException{ DBOperdb=newDBOper(); ResultSetrs=db.executeQuery("select*fromkehu");//查詢kehu這個(gè)表 ArrayListlistGoods=newArrayList();//創(chuàng)立一種名為listGoods的鏈表 while(rs.next()){ Goodsgoods=newGoods(); goods.setComID(rs.getString(1)); goods.setComname(rs.getString(2)); goods.setComnumber(rs.getString(4)); goods.setSortID(rs.getString(5)); goods.setComfrom(rs.getString(3)); listGoods.add(goods);//將取出的商品信息放到listGoods這個(gè)鏈表中 } ActionContextactionContext=ActionContext.getContext(); Mapmap=actionContext.getApplication(); map.put("listGoods",listGoods);//將鏈表里的內(nèi)容放到map對(duì)象里 return"success"; }商品出庫(kù)當(dāng)倉(cāng)庫(kù)管理人員需要對(duì)在庫(kù)商品進(jìn)行出庫(kù)操作時(shí),只需在商品查詢界面的對(duì)應(yīng)的商品信息后點(diǎn)擊出庫(kù)操作的選項(xiàng)。點(diǎn)擊出庫(kù)選項(xiàng)之后,便進(jìn)入到商品出庫(kù)操作界面,界面如圖4.4所示。圖4.4商品出庫(kù)界面當(dāng)倉(cāng)庫(kù)管理人員點(diǎn)擊擬定之后,頁(yè)面會(huì)根據(jù)倉(cāng)庫(kù)管理人員輸入的數(shù)量,對(duì)數(shù)據(jù)庫(kù)中該商品的數(shù)量進(jìn)行刪減。完畢該功效所需的代碼以下。publicclassDeleteWaresAction{ privateStringcomID; privateStringcomnumber1; publicStringexecute()throwsException{ DBOperdbOper=newDBOper(); Stringsql="updatekehusetcomnumber=comnumber-'"+comnumber1+"'wherecomID='"+comID+"'";//以商品ID為條件,將該商品在原有數(shù)量的基礎(chǔ)上,減去輸入的數(shù)量 intnum=dbOper.executeUpdate(sql); System.out.println(sql); if(num!=0){ return"success"; } elsereturn"error"; } publicStringgetComID(){ returncomID; } publicvoidsetComID(StringcomID){ ID=comID; } ……}4.4.2商品信息修改當(dāng)倉(cāng)庫(kù)管理人員需要對(duì)現(xiàn)在倉(cāng)庫(kù)中的商品信息進(jìn)行修改時(shí),只需在商品信息查詢界面的對(duì)應(yīng)的商品信息后點(diǎn)擊修改操作的選項(xiàng)。修改選項(xiàng)是一種超鏈接,它觸發(fā)了一種action,將倉(cāng)庫(kù)管理人員所選的這一行商品信息顯示出來(lái)。如圖4.5所示。圖4.5商品信息修改界面從圖中能夠看到,頁(yè)面上顯示了將要修改的某一行商品的全部信息,并且能夠直接在方框內(nèi)進(jìn)行修改。完畢這個(gè)功效的代碼以下。publicclassModify2Action{ privateStringcomID; privateStringcomname1; privateStringcomfrom1; privateStringcomnumber1; publicStringexecute()throwsException{ DBOperdbOper=newDBOper(); Stringsql="updatekehusetcomname='"+comname1+"',comfrom='"+comfrom1+"',comnumber='"+comnumber1+"'wherecomID='"+comID+"'";//以商品ID為標(biāo)記,替代商品的信息,由于商品ID為主鍵,不能替代 intnum=dbOper.executeUpdate(sql); System.out.println(sql); if(num!=0){ return"success"; } elsereturn"error"; } publicStringgetComID(){ returncomID; } publicvoidsetComID(StringcomID){ ID=comID; } ……}4.5商品入庫(kù)模塊當(dāng)有倉(cāng)庫(kù)中已有的貨品進(jìn)入倉(cāng)庫(kù)時(shí),倉(cāng)庫(kù)管理人員能夠使用主界面上的“商品入庫(kù)”操作選項(xiàng)進(jìn)入商品入庫(kù)界面。在這個(gè)界面中,倉(cāng)庫(kù)管理人員能夠看到現(xiàn)有商品的全部信息,并且能夠在對(duì)應(yīng)的商品信息背面點(diǎn)擊入庫(kù)操作選項(xiàng)進(jìn)行商品的入庫(kù)操作。該界面如圖4.6所示。圖4.6商品入庫(kù)界面圖中的商品信息的顯示的辦法和代碼,參考4.4商品信息查詢界面。4.5.1商品入庫(kù)當(dāng)點(diǎn)擊了上圖中的“入庫(kù)”操作選項(xiàng)之后,就進(jìn)入了商品入庫(kù)操作的界面,在這個(gè)界面,倉(cāng)庫(kù)管理人員只需輸入新入庫(kù)的該商品的數(shù)量即可。該界面如圖4.7所示。圖4.7商品入庫(kù)操作界面當(dāng)倉(cāng)庫(kù)管理人員輸入數(shù)量后,點(diǎn)擊擬定,即完畢了對(duì)商品的入庫(kù)操作。完畢該功效的代碼可參考完畢圖4.3功效所用的代碼。之前諸多次提到點(diǎn)擊操作選項(xiàng)顯示某一種商品的全部信息的操作功效,實(shí)現(xiàn)這個(gè)功效的代碼以下。publicclassModifyAction{ StringcomID; publicStringexecute()throwsException{ Goodsgoods=newGoods(); DBOperdb=newDBOper(); Stringsql="select*fromkehuwherecomID='"+comID+"'";//從數(shù)據(jù)庫(kù)中查詢所選商品ID的商品的信息 System.out.println(sql); ResultSetrs=db.executeQuery(sql); ArrayListlistGoods1=newArrayList();//創(chuàng)立一種鏈表 while(rs.next()){ goods.setComID(rs.getString(1)); goods.setComname(rs.getString(2)); goods.setComnumber(rs.getString(4)); goods.setSortID(rs.getString(5)); goods.setComfrom(rs.getString(3)); listGoods1.add(goods); } Maprequest=(Map)ActionContext.getContext().get("request"); request.put("listGoods1",listGoods1);//將鏈表里的內(nèi)容放到request對(duì)象里,使網(wǎng)頁(yè)能夠取出 return"success"; } publicStringgetComID(){ returncomID; } publicvoidsetComID(StringcomID){ ID=comID; }}4.6新商品入庫(kù)管理模塊當(dāng)有新的商品進(jìn)入倉(cāng)庫(kù)中時(shí),倉(cāng)庫(kù)管理人員需點(diǎn)擊主界面的“新商品入庫(kù)管理”選項(xiàng)。在進(jìn)行添加商品信息的操作過(guò)程中,商品的類別選擇是根據(jù)一種連接著“sort”數(shù)據(jù)表的下拉框來(lái)選擇的。當(dāng)將新入庫(kù)的商品的信息填寫完畢之后,點(diǎn)擊擬定將新入庫(kù)的商品的信息添加到管理商品信息的數(shù)據(jù)表“kehu”中。界面如圖4.8所示。圖4.8新商品入庫(kù)操作界面當(dāng)點(diǎn)擊“擬定”之后,就將倉(cāng)庫(kù)管理人員輸入的新入庫(kù)商品的信息保存到了數(shù)據(jù)庫(kù)中,功效實(shí)現(xiàn)的具體代碼以下。importjava.sql.ResultSet;importjava.util.Map;importado.DBOper;importcom.opensymphony.xwork2.*;publicclassAddAction{ privateStringcomID=null; privateStringcomname=null; privateStringcomfrom=null; privateStringcomnumber=null; privateintsortID;//初始化商品的信息 publicStringexecute()throwsException{ DBOperdbOper=newDBOper();//實(shí)例化一種DBOper Stringsql="insertintokehu(comID,comname,comfrom,comnumber,sortID)values('"+comID+"',"+"'"+comname+"',"+"'"+comfrom+"',"+"'"+comnumber+"',"+"'"+sortID+"')";//將填寫的信息保存到kehu數(shù)據(jù)表中 intnum=dbOper.executeUpdate(sql); if(num!=0){ return"success2"; } elsereturn"error"; } publicStringgetComID(){ returncomID; } publicvoidsetComID(StringcomID){ ID=comID; } ……}4.7商品類別管理模塊在本文4.6章新商品入庫(kù)管理模塊中,我已經(jīng)提到商品的類別選擇是由一種連接著“sort”數(shù)據(jù)表的下拉框來(lái)選擇的。因此,必然有一種管理著商品類別的界面。界面如圖4.9所示。圖4.9商品類別管理界面如圖可見(jiàn),商品類別的管理有添加和刪除兩個(gè)方面。點(diǎn)擊上圖的“增加商品類別”選項(xiàng)可進(jìn)行商品類別的添加操作,操作的實(shí)現(xiàn)界面可參考本文4.5章的圖4.6新商品入庫(kù)管理;點(diǎn)擊“刪除商品類別”選項(xiàng)可進(jìn)行商品類別的刪除操作,在這個(gè)界面中,倉(cāng)庫(kù)管理人員能夠看到現(xiàn)有的全部的商品類別的ID和名稱,并點(diǎn)擊對(duì)應(yīng)商品類別后的刪除選項(xiàng)進(jìn)行商品類別的刪除。界面如圖4.10所示。圖4.10刪除商品類別界面實(shí)現(xiàn)刪除操作的代碼和本文4.8章中圖4.10刪除商品出庫(kù)信息的相似,可參考此代碼。上文提到添加新的商品信息時(shí),商品類別是下列拉框的形式來(lái)選擇的,下拉框的代碼以下

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論