java語(yǔ)言的物流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩57頁(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>  JAVA課程設(shè)計(jì)</b></p><p>  題 目 物流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) </p><p>  學(xué) 院 數(shù)計(jì)學(xué)院 </p><p>  專業(yè)班級(jí) 計(jì)科1022班

2、 </p><p>  學(xué)生姓名 </p><p>  指導(dǎo)教師 </p><p>  成 績(jī)

3、 </p><p>  2013年 1 月 4日</p><p><b>  摘 要</b></p><p>  物流信息管理系統(tǒng)是一個(gè)企業(yè)不可缺少的一部分,它的內(nèi)容對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都是至關(guān)重要的,因此,物流信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄危恢币詠?lái)人們使用傳統(tǒng)的人工方式管理物流,這

4、種管理方式存在著許多缺點(diǎn),諸如效率低,保密性差等,而且將會(huì)產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。企業(yè)信息管理通常比較復(fù)雜,由于各類信息繁多難以集中,利用計(jì)算機(jī)支持企業(yè)高效率完成企業(yè)信息管理,是適應(yīng)現(xiàn)代企業(yè)制度要求,推動(dòng)企業(yè)信息管理走向科學(xué)化、社會(huì)化、規(guī)范化和自動(dòng)化,從而提高企業(yè)信息管理效率。</p><p>  本文首先介紹了以JAVA語(yǔ)言實(shí)現(xiàn)的運(yùn)通物流管理系統(tǒng)的開(kāi)發(fā)過(guò)程,以及開(kāi)發(fā)中所用

5、到的技術(shù),并對(duì)系統(tǒng)進(jìn)行了分析設(shè)計(jì),最后通過(guò)相應(yīng)的開(kāi)發(fā)平臺(tái)進(jìn)行實(shí)現(xiàn)。該系統(tǒng)達(dá)到了數(shù)據(jù)的一致性和安全性,應(yīng)用程序功能完備,符合了物流信息管理系統(tǒng)作為典型的信息管理系統(tǒng)的要求。用戶可以對(duì)物流信息進(jìn)行新增、查詢、修改以及數(shù)據(jù)分析統(tǒng)計(jì)等操作,為了達(dá)到企業(yè)內(nèi)部的要求,本系統(tǒng)也對(duì)人事信息和客戶信息進(jìn)行了管理,使物流信息系統(tǒng)更加完善。</p><p>  關(guān)鍵詞: 物流;信息管理;JAVA</p><p&g

6、t;<b>  Abstract</b></p><p>  Logistics information management system is an integral part of an enterprise. Its content for business decision makers and managers, are crucial, therefore, logistics

7、 information management system should be able to provide sufficient information and efficient query means. But it has been the use of traditional manual management of logistics, such management, there are many shortcomin

8、gs, such as low efficiency, poor confidentiality, and over time, will produce a large number of documents and data</p><p>  This paper introduces the operation of the JAVA language through the development pr

9、ocess of the logistics management system, design and system analysis, and finally through the appropriate platform for implementation. The system has reached the consistency and security of data, application functions, i

10、n line with the logistics information management system as a typical management information systems. Logistics information for the user can add, query, modify, and data analysis, statistics, etc, i</p><p>  

11、Key words :Logistics; Information management;JAVA</p><p><b>  目 錄</b></p><p><b>  摘要I</b></p><p>  AbstractII</p><p><b>  第1章緒論1</b

12、></p><p>  1.1選題依據(jù)和意義1</p><p>  1.2本課題在國(guó)內(nèi)外的研究現(xiàn)狀1</p><p>  1.3課題研究的內(nèi)容及擬采取的方法2</p><p>  第2章系統(tǒng)開(kāi)發(fā)模式、工具及環(huán)境3</p><p>  2.1系統(tǒng)開(kāi)發(fā)模式3</p><p>

13、;  2.2系統(tǒng)開(kāi)發(fā)環(huán)境的選擇3</p><p>  2.3系統(tǒng)運(yùn)行環(huán)境的選擇3</p><p>  2.4系統(tǒng)實(shí)現(xiàn)過(guò)程中技術(shù)的選擇3</p><p>  第3章需求分析—軟件需求規(guī)格說(shuō)明書(shū)4</p><p><b>  3.1引言4</b></p><p><b>

14、  3.2背景4</b></p><p>  3.3任務(wù)概述5</p><p>  3.3.1 目標(biāo)5</p><p>  3.3.2 用戶的特點(diǎn)5</p><p>  3.4需求規(guī)定5</p><p>  3.4.1 對(duì)性能的規(guī)定6</p><p>  3.

15、4.2 系統(tǒng)用例圖6</p><p>  3.5運(yùn)行環(huán)境規(guī)定9</p><p>  第4章系統(tǒng)總體設(shè)計(jì)10</p><p>  4.1設(shè)計(jì)目的10</p><p>  4.2系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì):10</p><p>  4.3系統(tǒng)功能結(jié)構(gòu)描述11</p><p>  4.4

16、系統(tǒng)功能機(jī)構(gòu)圖11</p><p>  第5章系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)14</p><p>  5.1數(shù)據(jù)庫(kù)的概念14</p><p>  5.2數(shù)據(jù)庫(kù)的選擇14</p><p>  5.3數(shù)據(jù)庫(kù)設(shè)計(jì)14</p><p>  第6章系統(tǒng)開(kāi)發(fā)技術(shù)介紹22</p><p>  6.1

17、JAVA開(kāi)發(fā)語(yǔ)言的選擇22</p><p>  6.2MVC設(shè)計(jì)模式描述24</p><p>  6.3Struts2,Hibernate技術(shù)描述25</p><p>  6.3.1 Struts2描述25</p><p>  6.3.2 Hibernate描述27</p><p>  6.4SQ

18、L語(yǔ)言描述27</p><p>  第7章系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)28</p><p>  7.1架構(gòu)Struts2框架和描述28</p><p>  7.2架構(gòu)Hibernate框架和描述29</p><p>  7.3系統(tǒng)功能的實(shí)現(xiàn)30</p><p>  7.3.1 系統(tǒng)的登錄功能實(shí)現(xiàn)31<

19、;/p><p>  7.3.2 運(yùn)通物流系統(tǒng)首頁(yè)面設(shè)計(jì)31</p><p>  7.3.3 人事管理模塊實(shí)現(xiàn)32</p><p>  7.3.4 貨物信息管理實(shí)現(xiàn)35</p><p>  7.3.5 車輛信息管理實(shí)現(xiàn)40</p><p>  7.3.6 訂單信息查詢46</p><p

20、>  7.3.7 費(fèi)用統(tǒng)計(jì)48</p><p><b>  結(jié)論49</b></p><p><b>  參考文獻(xiàn)50</b></p><p><b>  致謝51</b></p><p><b>  第1章 緒 論</b></p

21、><p><b>  選題依據(jù)和意義</b></p><p>  此次畢業(yè)設(shè)計(jì)的選題主要來(lái)源于對(duì)齊齊哈爾市周邊中小型物流公司和超市走訪,了解到仍然有很多中小企業(yè)和超市對(duì)物流管理方面仍然處于紙和筆的操作。因此,在種種因素的影響下,使其部分物流管理仍然處于業(yè)務(wù)處理繁瑣,工作效率低下的狀態(tài)。為了達(dá)到信息化倉(cāng)儲(chǔ)、運(yùn)輸、車輛調(diào)度等管理,基于java的物流管理系統(tǒng)能夠解決這一問(wèn)題,并

22、實(shí)現(xiàn)人機(jī)結(jié)合的方式,這也將是現(xiàn)代工作方式的主流。</p><p>  管理信息系統(tǒng)作為各項(xiàng)技術(shù)、業(yè)務(wù)、高水平管理及工作自動(dòng)化的方法和式,正在廣泛應(yīng)用,它是為了實(shí)現(xiàn)系統(tǒng)的硬件、系統(tǒng)軟件、應(yīng)用軟件及數(shù)據(jù)的共享,已經(jīng)成為越來(lái)越破切的任務(wù)。</p><p>  人們生活工作與通信,目前都與信息的日益緊密,但很多的國(guó)內(nèi)企業(yè)的倉(cāng)庫(kù)作業(yè)沒(méi)有達(dá)到信息化,因此為實(shí)現(xiàn)信息數(shù)字化,開(kāi)發(fā)中小型物流管理系統(tǒng)正是實(shí)現(xiàn)

23、利用現(xiàn)有的信息基礎(chǔ)設(shè)施,重點(diǎn)開(kāi)發(fā)和推廣應(yīng)用于各類科技經(jīng)濟(jì)等數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)資源服務(wù)系統(tǒng),以便取得更大的社會(huì)效益有著總要的意義和價(jià)值。</p><p>  本課題在國(guó)內(nèi)外的研究現(xiàn)狀</p><p>  中國(guó)物流業(yè)近幾年才開(kāi)始起步,并進(jìn)入發(fā)展期。由于我國(guó)計(jì)算機(jī)軟件技術(shù)的發(fā)展迅速,也同時(shí)也解決了國(guó)內(nèi)很多生產(chǎn)和管理技術(shù)的提升。因此,多數(shù)軟件公司都以應(yīng)用軟件開(kāi)發(fā)為主,實(shí)現(xiàn)辦公自動(dòng)化軟件的推廣和應(yīng)用。多數(shù)

24、以中小型企業(yè)管理軟件為主,不論是制造還是運(yùn)輸、銷售、倉(cāng)儲(chǔ)等方面都離不開(kāi)計(jì)算機(jī)軟件的管理。目前國(guó)內(nèi)的物流管理系統(tǒng)都是根據(jù)公司規(guī)模的差距使物流管理系統(tǒng)的管理的內(nèi)容也不盡相同,但是主要目的都是要以計(jì)算機(jī)為載體來(lái)解決當(dāng)前龐大的數(shù)國(guó)外物流的發(fā)展不僅與社會(huì)經(jīng)濟(jì)和生產(chǎn)力的發(fā)展水平有關(guān),同時(shí)也與科學(xué)技術(shù)發(fā)展的水平有關(guān)。國(guó)外的物流管理系統(tǒng), 隨著新經(jīng)濟(jì)和現(xiàn)代信息技術(shù)的迅還發(fā)展,不論是物流管理軟件系統(tǒng)的開(kāi)發(fā),還是其他應(yīng)用型軟件開(kāi)發(fā),在實(shí)現(xiàn)的功能上

25、都達(dá)到了很高的水平。</p><p>  課題研究的內(nèi)容及擬采取的方法</p><p>  研究?jī)?nèi)容及方法:物流管理系統(tǒng)包含的內(nèi)容非常的廣泛,但是對(duì)于不同的公司對(duì)軟件功能的需求有所不同,所以我們對(duì)物流管理系統(tǒng)的功能模塊的構(gòu)思和設(shè)計(jì)也有所不同。主要運(yùn)用Java web應(yīng)用技術(shù)來(lái)實(shí)現(xiàn)該系統(tǒng)的功能,通過(guò)動(dòng)態(tài)頁(yè)面jsp來(lái)實(shí)現(xiàn)頁(yè)面的顯示和驗(yàn)證,應(yīng)用Hibernate框架和Struts2框架來(lái)封裝從而

26、實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互和頁(yè)面跳轉(zhuǎn)達(dá)到了快速的軟件開(kāi)發(fā)。</p><p>  第2章 系統(tǒng)開(kāi)發(fā)模式、工具及環(huán)境</p><p><b>  系統(tǒng)開(kāi)發(fā)模式</b></p><p>  在軟件系統(tǒng)開(kāi)發(fā)模式中,一般采用mvc模式,即視圖層,邏輯層和控制層,但是在項(xiàng)目開(kāi)發(fā)中,目前已經(jīng)不局限于這種模式。 對(duì)于本系統(tǒng)的開(kāi)發(fā)模式,我此次采用的是重新構(gòu)建MVC架構(gòu)

27、:</p><p>  1.系統(tǒng)開(kāi)發(fā)模式主要分五層:JSP(HTML)視圖層[13]、Struts2(使用它對(duì)動(dòng)作Action的跳轉(zhuǎn)進(jìn)行管理)控制層、具體的業(yè)務(wù)邏輯(javaBean)、數(shù)據(jù)持久層(DAO,基于Hibernate的DAO)、service層(該層用來(lái)負(fù)責(zé)為模式層提供對(duì)應(yīng)的DAO的接口,而不是直接在模式層中進(jìn)行調(diào)用,降低對(duì)數(shù)據(jù)持久層的依賴度)。</p><p>  2.ser

28、vice層的介紹:本次應(yīng)用service層,主要是對(duì)數(shù)據(jù)持久層進(jìn)行再次的封裝,使得上層的操作不用理解底層的具體使用,只需要通過(guò)service提供相應(yīng)的接口方法即可。這種做法降低了各層之間的耦合度。</p><p><b>  系統(tǒng)開(kāi)發(fā)環(huán)境的選擇</b></p><p>  本次系統(tǒng)的開(kāi)發(fā)環(huán)境我選擇MyEclipse 7.0 軟件作為編寫程序的軟件。該軟件廣泛應(yīng)用于軟件

29、開(kāi)發(fā)行業(yè)。由于版本的問(wèn)題,MyEclipse6.0以下版本不支持Hibernate框架,所以我此次選擇7.0版本。</p><p>  MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE

30、集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。 </p><p><b>  系統(tǒng)運(yùn)行環(huán)境的選擇</b></p><p>  系統(tǒng)運(yùn)行環(huán)境,運(yùn)通物流管理系統(tǒng)是基于Java Web 應(yīng)用的系統(tǒng)軟件,那么它就離不開(kāi)服務(wù)器對(duì)它的支持,所以在服務(wù)器上我選擇to

31、mcat6.0版本,在對(duì)Java代碼的編譯上,本系統(tǒng)應(yīng)用的是Sun公司出品的Jdk6.0版本。</p><p>  Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomc

32、at 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是6.0。</p><p>  系統(tǒng)實(shí)現(xiàn)過(guò)程中技術(shù)的選擇</p><p>  目前軟件開(kāi)發(fā)都是基于框架開(kāi)發(fā)的,目的是為了達(dá)到開(kāi)發(fā)的快捷性,所以本次對(duì)運(yùn)通物流管理系統(tǒng)的

33、開(kāi)發(fā)上,我也運(yùn)用了這樣的開(kāi)發(fā)手段。</p><p>  應(yīng)用的技術(shù)簡(jiǎn)介:在當(dāng)今企業(yè)級(jí)的開(kāi)發(fā)環(huán)境之下處理面向?qū)ο笈c關(guān)系數(shù)據(jù)庫(kù)的轉(zhuǎn)化是非常繁瑣也相當(dāng)費(fèi)時(shí)的。</p><p>  1.Hibernate是適合與處理對(duì)象關(guān)系映射的一個(gè)工具。Hibernate [2]是「對(duì)象/關(guān)系對(duì)應(yīng)」(Object/Relational Mapping)的解決方案,簡(jiǎn)寫為ORM,簡(jiǎn)單的說(shuō)就是將 Java 中的對(duì)象

34、與對(duì)象關(guān)系,映像至關(guān)系型數(shù)據(jù)庫(kù)中的表格與表格之間的關(guān)系,ORM這個(gè)術(shù)語(yǔ)指代一種映射數(shù)據(jù)的技術(shù),它能夠通過(guò)基于SQL的語(yǔ)法映射對(duì)象模型的數(shù)據(jù)到關(guān)系模型數(shù)據(jù)。這樣就簡(jiǎn)化了對(duì)數(shù)據(jù)庫(kù)的操作。</p><p>  2.struts2框架:Struts是一個(gè)MVC框架(Framework),用于快速開(kāi)發(fā)Java Web應(yīng)用。</p><p>  對(duì)于這兩種技術(shù),主要對(duì)項(xiàng)目的類,和方法,對(duì)象進(jìn)行封裝,因

35、為在Java編程中,時(shí)刻都要將“封裝”考慮在項(xiàng)目開(kāi)發(fā)的整個(gè)過(guò)程中。這也降低了系統(tǒng)模塊與模塊,類與類之間的耦合度,使系統(tǒng)的結(jié)構(gòu)更穩(wěn)定。</p><p>  第3章 需求分析—軟件需求規(guī)格說(shuō)明書(shū)</p><p><b>  引言 </b></p><p>  需求分析是軟件開(kāi)發(fā)的重要組成部分,需求分析是用戶對(duì)軟件功能需求的描述,通過(guò)詳細(xì)了解用戶對(duì)

36、軟件功能的要求從而達(dá)到軟件需求面向用戶的目的。該軟件需求規(guī)格說(shuō)明書(shū)正是對(duì)用戶需求做的詳細(xì)分析的文檔。以便作為程序員今后編寫該軟件時(shí)進(jìn)行參考。</p><p><b>  背景</b></p><p>  編寫背景:因?qū)υ撨\(yùn)通管理系統(tǒng)的功能進(jìn)行用戶需求分析,從而編寫該文檔,該文檔是對(duì)運(yùn)通管理系統(tǒng)的功能進(jìn)行描述和可行性分析,達(dá)到正確的功能描述的目的。</p>

37、<p><b>  任務(wù)概述</b></p><p><b>  目標(biāo)</b></p><p>  通過(guò)對(duì)運(yùn)通管理系統(tǒng)用戶的功能需求,編寫需求文檔,來(lái)記錄分析該系統(tǒng)的具體功能和邏輯。 從而達(dá)到實(shí)現(xiàn)系統(tǒng)登錄,入庫(kù)管理,出入管理,庫(kù)存管理,人事管理,以及車輛調(diào)度管理等模塊的實(shí)現(xiàn)。為今后編寫該軟件程序做準(zhǔn)備。</p><

38、p>  運(yùn)通管理系統(tǒng),主要是為了方便對(duì)物流過(guò)程中對(duì)貨物流通進(jìn)行科學(xué)化管理,方便管理過(guò)程中的繁瑣過(guò)程,提高物流管理的效率,通過(guò)客戶的訂單的生成,其他的一系列任務(wù)直接由操作員在電腦前完成所有繁瑣操作。</p><p><b>  用戶的特點(diǎn)</b></p><p>  該系統(tǒng)是對(duì)企業(yè)內(nèi)部人員使用的應(yīng)用軟件,它是基于web應(yīng)用的,因此面向的用戶是企業(yè)內(nèi)部人員。 具備基

39、礎(chǔ)的計(jì)算機(jī)知識(shí)的人即可對(duì)本系統(tǒng)進(jìn)行操作。</p><p>  該系統(tǒng)包含了對(duì)企業(yè)內(nèi)部的人事管理、客戶信息管理、車輛調(diào)度和貨物出入庫(kù)信息管理、以及對(duì)貨物狀態(tài)的全程監(jiān)管。確保了貨物的流通狀態(tài)的管理的順暢。</p><p><b>  需求規(guī)定</b></p><p>  能夠完全實(shí)現(xiàn)對(duì)公司產(chǎn)品流通過(guò)程中所有業(yè)務(wù)的包含,實(shí)現(xiàn)綜合的管理和簡(jiǎn)單的操作即可

40、,使操作簡(jiǎn)單化,可視化。在對(duì)系統(tǒng)要求方面要達(dá)到系統(tǒng)的穩(wěn)定性。</p><p><b>  對(duì)性能的規(guī)定</b></p><p>  對(duì)系統(tǒng)的時(shí)間性要求:要求系統(tǒng)能夠有快捷的操作響應(yīng)。對(duì)系統(tǒng)編寫代碼是,優(yōu)化系統(tǒng)結(jié)構(gòu)和層次,達(dá)到提高系統(tǒng)性能的可操作性,提高系統(tǒng)效率。</p><p>  對(duì)精度要求:對(duì)數(shù)據(jù)庫(kù)信息的存儲(chǔ),減少對(duì)數(shù)據(jù)庫(kù)信息的冗余。減少頁(yè)

41、面緩存。</p><p><b>  系統(tǒng)用例圖</b></p><p>  系統(tǒng)用例圖(Use Case Diagram)是在軟件需求分析到最終實(shí)現(xiàn)的第一步,也是軟件開(kāi)發(fā)中重要的組成部分。</p><p>  用例圖定義:由參與者(Actor)、用例(Use Case)以及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的動(dòng)態(tài)視圖稱為用例圖。 </

42、p><p>  用例圖(User Case)是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)了一些參與者和一些用例,以及它們之間的關(guān)系,主要用于對(duì)系統(tǒng)、子系統(tǒng)或類的功能行為進(jìn)行建模。 </p><p>  用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯(lián)系的。用例圖用于對(duì)系統(tǒng)、子系統(tǒng)或類的行為進(jìn)行可視化,使用戶能夠理解如何使用這些元素,并使開(kāi)發(fā)者能夠?qū)崿F(xiàn)這些元素。</p&g

43、t;<p>  以下是系統(tǒng)的用例圖,使用用例圖主要原因是它具有三個(gè)主要的作用:(1)獲取需求;(2)指導(dǎo)測(cè)試;(3)還可在整個(gè)過(guò)程中的其它工作流起到指導(dǎo)作用。</p><p>  1.登錄模塊用例圖:</p><p>  圖3-1登錄模塊用例圖</p><p>  圖3-1登陸了模塊用例圖:主要來(lái)描述系統(tǒng)的操作人員通過(guò)訪問(wèn)主頁(yè)面來(lái)登錄本系統(tǒng)。此圖也描述

44、了系統(tǒng)的整個(gè)功能組成部分。</p><p>  2.人事管理模塊用例圖:</p><p>  圖3-2人事管理模塊用例圖</p><p>  圖3-2人事管理模塊用例圖: 此圖描述的是系統(tǒng)人事管理模塊下的子系統(tǒng)的功能描述。通過(guò)訪問(wèn)系統(tǒng)的人事管理功能模塊,來(lái)進(jìn)行對(duì)員工信息管理,對(duì)客戶信息管理。 從而對(duì)員工信息和客戶信息進(jìn)行操作。</p><p>

45、;  3.貨物信息管理用例圖:</p><p>  圖3-3貨物信息管理模塊用例圖:此圖是對(duì)貨物信息管理模塊的用例進(jìn)行描述,該模塊主要包含貨物出庫(kù),貨物入庫(kù)和盤點(diǎn)三個(gè)功能點(diǎn),此圖詳細(xì)的描述了該系統(tǒng)貨物信息管理中子系統(tǒng)的關(guān)系和功能點(diǎn)。</p><p>  圖3-3貨物信息管理模塊用例圖</p><p>  4.車輛信息管理用例圖:</p><p&g

46、t;  圖3-4車輛信息管理模塊用例圖</p><p>  圖3-4車輛信息管理模塊圖:主要為客戶描述車輛信息模塊下的鐵運(yùn)、汽運(yùn)、空運(yùn)以及對(duì)車輛分配的功能描述。</p><p>  5.貨物信息查詢模塊用例圖:</p><p>  圖3-5貨物基本信息查詢管理模塊用例圖</p><p>  圖3-5貨物基本信息查詢管理模塊用例圖:用于描述用戶

47、對(duì)貨物信息的查詢操作描述。</p><p>  6.盤點(diǎn)信息模塊用例圖:</p><p>  圖3-6盤點(diǎn)信息管理模塊用例圖</p><p>  圖3-6盤點(diǎn)信息管理模塊用例圖:主要描述盤點(diǎn)庫(kù)存功能用例內(nèi)容,來(lái)對(duì)其子系統(tǒng)的概要描述。此模塊包含對(duì)貨物信息的費(fèi)用計(jì)算。</p><p><b>  運(yùn)行環(huán)境規(guī)定</b><

48、/p><p>  要對(duì)Windows XP 或Windows 7 系統(tǒng)兼容。系統(tǒng)必須具備安裝Oracle10g和Tomcat6.0 的基本硬件要求。</p><p>  第4章 系統(tǒng)總體設(shè)計(jì)</p><p><b>  設(shè)計(jì)目的</b></p><p>  系統(tǒng)設(shè)計(jì)又稱為物理設(shè)計(jì),是開(kāi)發(fā)管理信息系統(tǒng)的第二階段,本章是總體設(shè)

49、計(jì),其任務(wù)是設(shè)計(jì)系統(tǒng)的框架和概貌,此階段是開(kāi)發(fā)人員進(jìn)行的工作,他們將系統(tǒng)設(shè)計(jì)階段得到的目標(biāo)系統(tǒng)的邏輯模型轉(zhuǎn)換為目標(biāo)系統(tǒng)的物理模型,該階段得到工作成果――系統(tǒng)總體設(shè)計(jì)是下一個(gè)階段系統(tǒng)實(shí)施的工作依據(jù)。</p><p><b>  系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)</b></p><p>  圖4-1是系統(tǒng)模塊結(jié)構(gòu)圖,主要描述對(duì)此系統(tǒng)的功能結(jié)構(gòu)的總體描述。該系統(tǒng)包含登錄模塊,人事管理模塊,

50、貨物信息管理模塊,車輛信息管理模塊,貨物信息查詢以及費(fèi)用統(tǒng)計(jì)等。此圖采用Microsoft Office Visio 2003軟件來(lái)生成的。 它詳細(xì)的描述了本系統(tǒng)中各個(gè)模塊的應(yīng)用功能內(nèi)容。</p><p>  圖 4-1 系統(tǒng)模塊結(jié)構(gòu)圖</p><p><b>  系統(tǒng)功能結(jié)構(gòu)描述</b></p><p>  1.用戶登錄模塊:實(shí)現(xiàn)用戶登錄后可

51、對(duì)用戶名和密碼進(jìn)行修改。并要求用戶的驗(yàn)證在數(shù)據(jù)庫(kù)后臺(tái)進(jìn)行驗(yàn)證,不是前臺(tái)頁(yè)面中對(duì)用戶名和密碼進(jìn)行檢驗(yàn)。為了達(dá)到安全性,系統(tǒng)登陸后不能再通過(guò)web瀏覽器的后退按鍵會(huì)退到此登陸頁(yè)面。</p><p>  2.人事管理模塊:任何操作都離不開(kāi)人員,因此對(duì)人員管理方面要實(shí)現(xiàn)對(duì)員工的信息的添加和更新刪除等操作。另一方面是對(duì)客戶信息的管理,也要具有查詢和修改的功能。</p><p>  3.貨物信息模塊:

52、 要對(duì)貨物入庫(kù)和出庫(kù)進(jìn)行管理,對(duì)已經(jīng)處理完的內(nèi)容進(jìn)行刪除,并存入其他表中,達(dá)到數(shù)據(jù)有據(jù)可尋的目的。 另一點(diǎn)是對(duì)庫(kù)存的信息進(jìn)行定期盤點(diǎn)。對(duì)在途貨物信息進(jìn)行監(jiān)控。</p><p>  4.對(duì)公司運(yùn)輸車輛進(jìn)行管理:主要是對(duì)車輛的調(diào)度,都要具備增加和更新的功能。對(duì)訂單中采用車輛運(yùn)輸?shù)牟糠郑M(jìn)行車輛分配。</p><p>  5.對(duì)本系統(tǒng)基本信息的綜合查詢功能:按照訂單查詢,按車牌號(hào)查詢車輛,按日期

53、查詢盤點(diǎn)內(nèi)容等。</p><p><b>  系統(tǒng)功能流程圖</b></p><p>  該圖主要是對(duì)系統(tǒng)的功能流程的描述:當(dāng)系統(tǒng)的客戶有貨物運(yùn)輸需求時(shí),系統(tǒng)的管理員會(huì)對(duì)客戶的需求進(jìn)行分析,從而對(duì)客戶的信息進(jìn)行編輯。首先生成客戶訂單,客戶訂單中主要包含了客戶的基本信息,比如客戶的編號(hào)、客戶的所屬公司、客戶的公司的所在地以及客戶的聯(lián)系方式等。</p>&l

54、t;p>  當(dāng)客戶訂單生成后,會(huì)對(duì)客戶的收貨人進(jìn)行添加。客戶的收貨人主要是對(duì)貨物到達(dá)目的地后接受貨物的人員的信息進(jìn)行管理。主要包含聯(lián)系人的姓名、地址、電話、以及Email等信息。</p><p>  客戶訂單以及客戶的聯(lián)系人已經(jīng)產(chǎn)生,那么此時(shí)就要對(duì)訂單詳細(xì)進(jìn)行編輯,客戶訂單詳細(xì)主要是對(duì)運(yùn)輸?shù)呢浳镞M(jìn)行詳細(xì)的描述,包含數(shù)量,類別,貨物名,貨物條形碼,以及貨物的顏色,體積等內(nèi)容。 它是對(duì)貨物的信息的一個(gè)詳細(xì)的描述

55、,為系統(tǒng)管理員提供貨物的詳細(xì)信息作依據(jù)。</p><p>  此時(shí)是貨物的入庫(kù)操作,當(dāng)貨物到達(dá)倉(cāng)庫(kù)后,要對(duì)貨物進(jìn)行貨物入庫(kù)操作,此時(shí)要記錄貨物是屬于哪個(gè)訂單貨物,此時(shí)管理員要對(duì)其進(jìn)行記錄。 當(dāng)貨物入庫(kù)后,系統(tǒng)操作員可以查看在庫(kù)貨物的信息。</p><p>  當(dāng)貨物出庫(kù)時(shí),要記錄出庫(kù)貨物是屬于哪個(gè)訂單的,同時(shí)要分配出庫(kù)貨物訂單運(yùn)輸方式,管理員根據(jù)貨物訂單要求的運(yùn)輸方式分配相對(duì)應(yīng)的運(yùn)輸方式。

56、此操作包含汽運(yùn),鐵運(yùn)以及空運(yùn)等方式,每次分配操作時(shí),同時(shí)記錄一條數(shù)據(jù),使此數(shù)據(jù)和訂單一一對(duì)應(yīng)。當(dāng)貨物出庫(kù)分配運(yùn)輸方式后一律可以看做是“在途”狀態(tài)。</p><p>  圖4-2 系統(tǒng)功能流程圖</p><p>  分配運(yùn)輸方式時(shí),鐵運(yùn)信息根據(jù)鐵路運(yùn)輸?shù)能嚧芜M(jìn)行分配,空運(yùn)按照不同時(shí)間的航班進(jìn)行分配,汽運(yùn)管理信息是按照本公司內(nèi)部的車輛進(jìn)行有序化管理的。汽運(yùn)管理分配的就是本公司內(nèi)部的車輛,不同車

57、輛的詳細(xì)信息可以通過(guò)系統(tǒng)來(lái)管理。 </p><p>  在貨物到達(dá)目的地時(shí),收貨人確認(rèn)收貨后,操作員改變貨物“在途”狀態(tài),其訂單上由操作員編輯貨物是“否到達(dá)目的地”一項(xiàng)來(lái)標(biāo)注貨物訂單。此時(shí)貨物的訂單就已經(jīng)處理完畢。</p><p>  第5章 系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p><b>  數(shù)據(jù)庫(kù)的概念</b></p><p

58、>  當(dāng)人么從不同角度描述數(shù)據(jù)庫(kù)的概念是,往往會(huì)有不同的概念。例如,有人稱數(shù)據(jù)庫(kù)是一個(gè)“記錄保存系統(tǒng)”(該定義強(qiáng)調(diào)了數(shù)據(jù)庫(kù)是若干記錄的集合)。又比如說(shuō)數(shù)據(jù)庫(kù)是“人們?yōu)榻鉀Q特定的任務(wù),以一定的組織方式存儲(chǔ)在一起的相關(guān)的數(shù)據(jù)的集合”(該定義側(cè)重于數(shù)據(jù)的組織)。也有人將數(shù)據(jù)庫(kù)當(dāng)做是“一個(gè)數(shù)據(jù)倉(cāng)庫(kù)”。當(dāng)然,這些描述都很形象,但是并不是那么嚴(yán)謹(jǐn)。嚴(yán)格地說(shuō),數(shù)據(jù)庫(kù)是“按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)”。</p><

59、p>  本系統(tǒng)將使用一直以來(lái)使用都最為廣泛的關(guān)系模型作為數(shù)據(jù)庫(kù)的建設(shè)依據(jù)。在用戶的觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表,并且關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。而一個(gè)基于關(guān)系模型的數(shù)據(jù)庫(kù)則是由若干個(gè)二維表組成的。對(duì)于一些大型和中型的數(shù)據(jù)庫(kù),如Oracle,SQL Server 2000/7.0等都屬于關(guān)系型數(shù)據(jù)庫(kù),同時(shí)它們所帶有的數(shù)據(jù)庫(kù)管理工具是其他小型數(shù)據(jù)庫(kù)所沒(méi)有的,而同時(shí)這些工具又為管

60、理員的工作節(jié)省了很多的時(shí)間和財(cái)力。</p><p><b>  數(shù)據(jù)庫(kù)的選擇</b></p><p>  在選擇數(shù)據(jù)庫(kù)上,我選擇目前市場(chǎng)上占有率最大的Oracle數(shù)據(jù)庫(kù),這次我應(yīng)用的是Oracle 10g. 我們以前使用數(shù)據(jù)庫(kù)連接,都是使用單聯(lián)接(或單例模式),但是在大并發(fā)量出現(xiàn)的時(shí)候,總有可能會(huì)達(dá)到數(shù)據(jù)庫(kù)連接數(shù)的上限。那么應(yīng)用數(shù)據(jù)池(DATA POOL)可以解決系統(tǒng)

61、因訪問(wèn)量過(guò)多而崩潰的問(wèn)題。但是使用了數(shù)據(jù)池并不是為了解決連接數(shù)據(jù)庫(kù)速度的問(wèn)題,而是為了實(shí)現(xiàn)數(shù)據(jù)連接的穩(wěn)定性和提高并發(fā)的能力。但是由于此系統(tǒng)是用于企業(yè)內(nèi)部的,訪問(wèn)量的并發(fā)性要求不高,因此此系統(tǒng)部分內(nèi)容采用數(shù)據(jù)庫(kù)的單鏈接。</p><p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  概念模型是對(duì)信息世界建模,其表示方法有很多,其中最為常用的是實(shí)體-聯(lián)系模型,即E-

62、R模型,它是用E-R圖來(lái)描述現(xiàn)實(shí)世界的概念模型。E-R圖中用矩形表示實(shí)體;用菱形表示聯(lián)系。如圖:5-1系統(tǒng)E-R圖。</p><p>  圖5-1 系統(tǒng)E-R圖</p><p>  該圖只是描述了系統(tǒng)的實(shí)體與實(shí)體之間的關(guān)系,并沒(méi)有添加實(shí)體的屬性內(nèi)容。由圖可知,系統(tǒng)的管理員對(duì)系統(tǒng)員工信息、貨物入庫(kù)出庫(kù)信息、車輛信息、以及貨物訂單和客戶信息都是一對(duì)多的關(guān)系。</p><p&

63、gt;  Office Visio 2003 或者Office Visio2010 是一種便于 IT 和商務(wù)專業(yè)人員就復(fù)雜信息、系統(tǒng)和流程進(jìn)行可視化處理、分析和交流的構(gòu)圖軟件。因此這里用了此軟件來(lái)畫(huà)各種流程圖,而不是用Microsoft Word2003或者是Microsoft Word2007,因?yàn)檫@會(huì)</p><p>  使開(kāi)發(fā)更加的快捷,而不至于因構(gòu)圖而浪費(fèi)時(shí)間。為了清楚簡(jiǎn)便的描述出實(shí)體與其性之間的關(guān)系,用

64、Microsoft Office Visio 2003軟件生成了一張包含實(shí)體屬性的完E-R圖,見(jiàn)圖5-2和圖5-3。</p><p>  圖 5-2 系統(tǒng)表的完整關(guān)系模型</p><p>  圖 5-3 系統(tǒng)表的完整關(guān)系模型</p><p>  以上兩個(gè)圖 5-2和圖5-3描述了運(yùn)通物流管理系統(tǒng)的表與表之間的字段的關(guān)系,它更鮮明的顯示了表結(jié)構(gòu)的關(guān)系。例如:系統(tǒng)的人事

65、表 ytrenshi 與車輛信息表 chenliang 對(duì)應(yīng)的主外鍵關(guān)系一目了然,cheliang表中主鍵是cheliang_num 外鍵是cheliang_siji (員工編號(hào)),對(duì)應(yīng)ytrenshi表中的主鍵ytrenshi_worknum 關(guān)系。</p><p><b>  系統(tǒng)表的建立:</b></p><p>  表5-1 用戶表 ytuser</p

66、><p>  表5-10庫(kù)存信息表主要存儲(chǔ)已經(jīng)入庫(kù)的信息。在這里它是輔助入庫(kù)信息的記錄的,為了達(dá)到便于用戶查詢的目的建立的一張信息表。</p><p>  第6章 系統(tǒng)開(kāi)發(fā)技術(shù)介紹</p><p>  JAVA開(kāi)發(fā)語(yǔ)言的選擇</p><p>  現(xiàn)在,市場(chǎng)上可以選購(gòu)的應(yīng)用開(kāi)發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國(guó)市場(chǎng)上最為流行,使用最多,最為先

67、進(jìn)的可用作企業(yè)級(jí)開(kāi)發(fā)語(yǔ)言的產(chǎn)品有:</p><p>  SUN公司的Java</p><p>  Microsoft公司的Visual Basic</p><p>  Microsoft公司的Visual C</p><p>  Borland公司的Delphi</p><p>  Powersoft公司的PowerB

68、ulider</p><p>  在目前市場(chǎng)上這些眾多的程序開(kāi)發(fā)工具中,有些強(qiáng)調(diào)語(yǔ)言的彈性與執(zhí)行效率;有些偏重于可視化程序開(kāi)發(fā)工具所帶來(lái)的便利性與效率的提高,各有各的優(yōu)點(diǎn)和特色,也滿足了不同用戶的不同需求。我的網(wǎng)站選擇Java語(yǔ)言開(kāi)發(fā),其原因基于以下幾點(diǎn):</p><p>  Java是一種簡(jiǎn)單的、面向?qū)ο蟮摹⒎植际降?、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的[12]、多線程的、

69、動(dòng)態(tài)的語(yǔ)言。 </p><p><b>  1. 簡(jiǎn)單 </b></p><p>  Java的風(fēng)格類似于C++,并且摒棄了C++中容易引發(fā)程序錯(cuò)誤的地方,如指針和內(nèi)存管理。 此外Java提供了豐富的類庫(kù)。 </p><p><b>  2. 面向?qū)ο?</b></p><p>  面向?qū)ο罂梢哉f(shuō)是

70、Java最重要的特性。Java語(yǔ)言的設(shè)計(jì)完全是面向?qū)ο蟮?。Java支持靜態(tài)和動(dòng)態(tài)風(fēng)格的代碼繼承及重用。 </p><p>  3. 分布式[14] </p><p>  Java包括一個(gè)支持HTTP和FTP等基于TCP/IP協(xié)議的子庫(kù)。因此,Java應(yīng)用程序可憑借URL打開(kāi)并訪問(wèn)網(wǎng)絡(luò)上的對(duì)象,其訪問(wèn)方式與訪問(wèn)本地文件系統(tǒng)幾乎完全相同。</p><p><b&g

71、t;  4. 健壯 </b></p><p>  Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。Java自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。Java提供Null指針檢測(cè)數(shù)組邊界、檢測(cè)異常出口、字節(jié)代碼校驗(yàn)。 </p><p><b>  5. 安全 </b></p><p>  Java的安全性可從兩個(gè)方面得到保證。一方面,在Java

72、語(yǔ)言里,像指針和釋放內(nèi)存等C++功能被刪除,避免了非法內(nèi)存操作。另一方面,當(dāng)Java用來(lái)創(chuàng)建瀏覽器時(shí),語(yǔ)言功能和瀏覽器本身提供的功能結(jié)合起來(lái),使它更安全。</p><p><b>  6.結(jié)構(gòu)中立 </b></p><p>  為了建立Java作為網(wǎng)絡(luò)的一個(gè)整體,Java將它的程序編譯成一種結(jié)構(gòu)中立的中間文件格式。只要有Java運(yùn)行系統(tǒng)的機(jī)器都能執(zhí)行這種中間代碼。Ja

73、va源程序被編譯成一種高層次的與機(jī)器無(wú)關(guān)的byte-code格式語(yǔ)言,這種語(yǔ)言被設(shè)計(jì)在虛擬機(jī)上運(yùn)行,由機(jī)器相關(guān)的運(yùn)行調(diào)試器實(shí)現(xiàn)執(zhí)行。 </p><p><b>  7. 可移植的 </b></p><p>  Java的可移植性一直是Java程序設(shè)計(jì)師們的精神指標(biāo),也是Java之所以能夠受到程序設(shè)計(jì)師們喜愛(ài)的原因之一,最大的功臣就是JVM的技術(shù)。JAVA編譯器產(chǎn)生的目

74、標(biāo)代碼(J-Code) 是針對(duì)一種并不存在的CPU--JAVA虛擬機(jī)(JAVA Virtual Machine),而不是某一實(shí)際的CPU。JAVA虛擬機(jī)能掩蓋不同CPU之間的差別,使J-Code能運(yùn)行于任何具有JAVA虛擬機(jī)的機(jī)器上。 </p><p><b>  8. 高性能 </b></p><p>  Java可以在運(yùn)行時(shí)直接將目標(biāo)代碼翻譯成機(jī)器指令。Sun用直

75、接解釋器一秒鐘內(nèi)可調(diào)用300,000個(gè)過(guò)程。翻譯目標(biāo)代碼的速度與C/C++的性能沒(méi)什么區(qū)別。 </p><p>  9. 多線程[16] </p><p>  Java支持多線程,多線程功能使得在一個(gè)程序里可同時(shí)執(zhí)行多個(gè)小任務(wù)。線程,有時(shí)也稱小進(jìn)程,是一個(gè)大進(jìn)程里分出來(lái)的小的獨(dú)立的進(jìn)程。</p><p><b>  10. 動(dòng)態(tài) </b><

76、;/p><p>  Java的動(dòng)態(tài)特性是其面向?qū)ο笤O(shè)計(jì)方法的發(fā)展。它允許程序動(dòng)態(tài)地裝入運(yùn)行過(guò)程中所需要的類,這是C++語(yǔ)言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)所無(wú)法實(shí)現(xiàn)的。Java編譯器不是將對(duì)實(shí)例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是將符號(hào)引用信息在字節(jié)碼中保存下傳遞給解釋器,再由解釋器在完成動(dòng)態(tài)連接類后,將符號(hào)引用信息轉(zhuǎn)換為數(shù)值偏移量。</p><p><b>  MVC設(shè)計(jì)模式描述</

77、b></p><p>  MVC[12]是Model-View-Controller的簡(jiǎn)稱,它是一種設(shè)計(jì)模式,它把應(yīng)用程序分成三個(gè)核心模塊:模型、視圖、控制器,它們各自處理自己的任務(wù)。</p><p>  視圖是用戶看到并與之交互的界面,作用包括向用戶顯示相關(guān)的數(shù)據(jù)、接受用戶的輸入、向模型查詢業(yè)務(wù)狀態(tài)、接受模型發(fā)出的數(shù)據(jù)更新事件,從而對(duì)用戶界面進(jìn)行同步更新。</p>&

78、lt;p>  模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,是應(yīng)用程序的主體部分。一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù),因此提高了代碼的可重用性。</p><p>  控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。當(dāng)Web用戶單擊Web頁(yè)面中的遞交按鈕來(lái)發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。控制器接收請(qǐng)求并決定調(diào)用哪個(gè)模型組件去處理請(qǐng)求,然后決定調(diào)用哪個(gè)視圖來(lái)顯示模型處理返回的數(shù)據(jù)。</p>

79、<p>  MVC的優(yōu)點(diǎn)表現(xiàn)在如下幾個(gè)方面:</p><p>  1.首先,最重要的一點(diǎn)是多個(gè)視圖能共享一個(gè)模型。同一個(gè)模型可以被不同的視圖重用,大大提高了代碼的可重用性。</p><p>  2.由于MVC的三個(gè)模塊相互獨(dú)立,改變其中一個(gè)不會(huì)影響其他兩個(gè),所以依據(jù)這種設(shè)計(jì)思想能構(gòu)造良好的松偶合的構(gòu)件。</p><p>  3.此外,控制器提高了應(yīng)用程序

80、的靈活性和可配置性??刂破骺梢杂脕?lái)聯(lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。</p><p>  MVC處理過(guò)程的結(jié)構(gòu)圖,見(jiàn)圖6-1。</p><p>  圖6-1 MVC模式圖</p><p>  Struts2,Hibernate技術(shù)描述</p><p><b>  Struts2描述&

81、lt;/b></p><p>  Struts2[9] 是目前Java Web MVC框架中不爭(zhēng)的王者。Struts2由一組相</p><p>  協(xié)作的類(組件)、Serlvet以及jsp tag lib組成。由于Struts 實(shí)質(zhì)上就是在JSP Model2的基礎(chǔ)上實(shí)現(xiàn)的一個(gè)MVC框架,所以基于struts構(gòu)架的web應(yīng)用程序基本上符合JS

82、P Model2即MVC的設(shè)計(jì)標(biāo)準(zhǔn)。其中的模型是JavaBean,控制器是ActionServlet、Action,視圖是JSP、Struts客戶化標(biāo)簽。</p><p>  Struts2的體系與Struts1體系的差別非常大,因?yàn)镾truts2使用WebWork的設(shè)計(jì)核心,而不是Struts1的設(shè)計(jì)核心。Struts2中大量使用攔截器來(lái)處理用戶的請(qǐng)求,從而允許用戶的業(yè)務(wù)邏輯控制器與Servlet A

83、PI分離。</p><p>  Struts2 控制器組件主要包括:充當(dāng)Struts2框架的中央控制器的ActionServlet組件、充當(dāng)每個(gè)子應(yīng)用模塊的請(qǐng)求處理器的RequestProcessor組件、負(fù)責(zé)處理一項(xiàng)具體的業(yè)務(wù)的Action組件。其工作流程如圖6-2:</p><p>  圖6-2 Struts2流程圖</p><p>  Struts2 

84、;的另一特點(diǎn)是使用ActionForm Bean,ActionForm Bean也是一種JavaBean,除了具有一些JavaBean的常規(guī)方法,還包含一些特殊的方法,用于驗(yàn)證HTML表單數(shù)據(jù)以及將其屬性重新設(shè)置為默認(rèn)值。Strut2s框架利用ActionForm Bean來(lái)進(jìn)行View組件和Controller組件之間表單數(shù)據(jù)的傳遞。JSP文件使用Struts2標(biāo)簽讀取修改后的ActionForm Bean的信息,重新設(shè)置HTML表單

85、。</p><p>  Hibernate描述</p><p>  Hibernate是連接Java應(yīng)用程序和關(guān)系數(shù)據(jù)庫(kù)的中間件,它封裝了JDBC,實(shí)現(xiàn)了Java對(duì)象的持久化;封裝了所有數(shù)據(jù)訪問(wèn)細(xì)節(jié),使業(yè)務(wù)邏輯層專注于業(yè)務(wù)邏輯。并且通過(guò)對(duì)象關(guān)系映射(Object Relational Mapping,簡(jiǎn)稱ORM)解決了面向?qū)ο笈c關(guān)系數(shù)據(jù)</p><p>  庫(kù)之間存

86、在的互不匹配的現(xiàn)象。如圖6-3:</p><p>  如圖6-3 Hibernate流程圖</p><p><b>  SQL語(yǔ)言描述</b></p><p>  SQL(Structure Query Language結(jié)構(gòu)化查詢語(yǔ)言)自1974年被提出,至今已經(jīng)是世界上最流行的關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言。</p><p>&

87、lt;b>  SQL語(yǔ)言的分類</b></p><p>  1. DDL(Data Definition Language)數(shù)據(jù)定義語(yǔ)言,其作用包括創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象、刪除數(shù)據(jù)庫(kù)對(duì)象、修改數(shù)據(jù)庫(kù)對(duì)象(create、drop、alter)。</p><p>  2. DML(Data Manipulation Language)數(shù)據(jù)操縱語(yǔ)言,其作用包括查找數(shù)據(jù)信息、插入數(shù)據(jù)信息

88、、刪除數(shù)據(jù)信息、更改數(shù)據(jù)信息(select、 insert、 delete、 update)。</p><p>  3. DCL(Data Control Language)數(shù)據(jù)控制語(yǔ)言,作用主要對(duì)是授權(quán)數(shù)據(jù)庫(kù)對(duì)象(grant, revoke)。</p><p>  第7章 系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p>  架構(gòu)struts2框架和描述</p>

89、<p>  在項(xiàng)目的lib目錄下加載以下struts2相關(guān)類包如圖7-1。</p><p>  圖7-1 struts2相關(guān)類包</p><p>  其中這幾個(gè)包都是struts2 配置文件需要的,struts2-core-2.1.6 是struts2的核心包,其他類包是配合struts2 進(jìn)行其他操作的相關(guān)輔助類包。</p><p>  2.配置一

90、個(gè)struts.xml文件,到src包下:</p><p>  <?xml version="1.0" encoding="UTF-8"?></p><p>  <!DOCTYPE struts PUBLIC</p><p>  "-//Apache Software Foundation//DTD

91、 Struts Configuration 2.0//EN"</p><p>  "http://struts.apache.org/dtds/struts-2.0.dtd"></p><p><b>  <struts></b></p><p>  <package name="

92、default" extends="struts-default"></p><p>  <action name="login" class="LoginAction"> </p><p>  <result name="success">/success.jsp&l

93、t;/result></p><p>  <result name="error">/error.jsp</result></p><p><b>  </action></b></p><p>  </package></p><p><b

94、>  </struts></b></p><p>  3.配置web.xml文件內(nèi)容:</p><p>  <?xml version="1.0" encoding="UTF-8"?></p><p>  <web-app version="2.5" <

95、/p><p>  xmlns="http://java.sun.com/xml/ns/javaee" </p><p>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" </p><p>  xsi:schemaLocation="http://java.su

96、n.com/xml/ns/javaee </p><p>  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"></p><p><b>  <filter></b></p><p>  <filter-name>struts2</filter-

97、name></p><p>  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</p><p>  </filter-class></p><p><b>  </filter></b>

98、;</p><p>  <filter-mapping></p><p>  <filter-name>struts2</filter-name></p><p>  <url-pattern>/*</url-pattern></p><p>  </filter-mappin

99、g> </p><p>  <welcome-file-list></p><p>  <welcome-file>index.jsp</welcome-file></p><p>  </welcome-file-list></p><p>  </web-app></

100、p><p>  此處配置web.xml 文件的目的是為了配置Sturts2的入口,系統(tǒng)是通過(guò)web.xml 文件來(lái)找到Struts2 的配置文件的位置以及其他相關(guān)的內(nèi)容的。所以配置此內(nèi)容是必須有的。</p><p>  架構(gòu)Hibernate框架和描述</p><p>  1.右鍵項(xiàng)目名,點(diǎn)擊Myeclipse,再點(diǎn)擊AddHibernate…導(dǎo)入Hibernate相

101、關(guān)類包。同時(shí)在src包下建立hibernate.cfg.xml配置文件。</p><p>  2.由于hibernate自身分裝了配置數(shù)據(jù)庫(kù)驅(qū)動(dòng),在配置hibernate框架的同時(shí),利用hibernate自身的特點(diǎn),來(lái)建立數(shù)據(jù)庫(kù)的鏈接,如圖7-2。圖7-2主要顯示的是配置Hibernate時(shí)候要配置的數(shù)據(jù)庫(kù)驅(qū)動(dòng)操作。它顯示了數(shù)據(jù)庫(kù)的驅(qū)動(dòng)的類型和數(shù)據(jù)庫(kù)用戶的用戶名等信息。</p><p> 

102、 圖7-2配置Hibernate鏈接</p><p>  3.在Hibernate配置文件下(hibernate.cfg.xml)中配置數(shù)據(jù)池操作如下:</p><p>  <property name="c3p0.max_size">50</property></p><p>  <property name=&q

103、uot;c3p0.min_size">10</property></p><p>  <property name="c3p0.timeout">1000</property></p><p>  <property name="c3p0.max_statements">50</p

104、roperty></p><p><b>  系統(tǒng)功能的實(shí)現(xiàn)</b></p><p><b>  系統(tǒng)的登錄功能實(shí)現(xiàn)</b></p><p>  圖7-3系統(tǒng)登錄功能圖</p><p>  系統(tǒng)登錄功能頁(yè)面主要是通過(guò)Macromedia Dreamweaver 8 軟件來(lái)實(shí)現(xiàn)的前臺(tái)頁(yè)面。通過(guò)c

105、ss樣式和div標(biāo)簽實(shí)現(xiàn)頁(yè)面的組合。系統(tǒng)登錄的用戶名和密碼都是通過(guò)系統(tǒng)的數(shù)據(jù)庫(kù)的表Tyuser中的username和password兩個(gè)字段來(lái)控制的。在后臺(tái)處理上,為了達(dá)到系統(tǒng)的安全性,當(dāng)系統(tǒng)用戶進(jìn)入系統(tǒng)后,不能通過(guò)Web頁(yè)面的后退按鈕再次返回該頁(yè)面。系統(tǒng)的<form ></form>標(biāo)簽通過(guò)action屬性也就是<form action="login_test" method=&quo

106、t;post"> 來(lái)跳進(jìn)struts2的配置文件,通過(guò)配置文件找到action方法:test()方法來(lái)操作的。通過(guò)類LoginAction中的自定義的方法來(lái)實(shí)現(xiàn)用戶信息的驗(yàn)證。執(zhí)行SQL語(yǔ)句:</p><p>  String sql="select ytuser_name,ytuser_pwd from ytuser where ytuser_name=? and ytuser_pwd

107、=?";</p><p>  pst=conn.prepareStatement(sql);</p><p>  如果通過(guò)驗(yàn)證則跳入系統(tǒng)的菜單頁(yè)面,如果不成功則跳入一個(gè)提示頁(yè)面,五秒后自動(dòng)返回登錄頁(yè)面。</p><p>  運(yùn)通物流系統(tǒng)首頁(yè)面設(shè)計(jì)</p><p>  圖7-4系統(tǒng)功能首頁(yè)</p><p>  

108、圖7-4顯示的是系統(tǒng)的首頁(yè)面,它顯示了系統(tǒng)的主要功能。系統(tǒng)的功能菜單采用js來(lái)控制下拉菜單的彈出效果,在點(diǎn)擊系統(tǒng)功能菜單的選項(xiàng),并彈出子菜單。通過(guò)點(diǎn)擊子菜單的功能目錄,系統(tǒng)的右側(cè)頁(yè)面會(huì)顯示系統(tǒng)的操作功能。</p><p><b>  人事管理模塊實(shí)現(xiàn)</b></p><p>  1.員工信息管理(如圖7-5):</p><p>  圖7-5員工

109、信息管理</p><p>  人事管理包含員工信息管理和客戶信息管理,在員工信息管理中,主要是對(duì)員工信息表進(jìn)行操作,該表記錄了企業(yè)內(nèi)部員工的基本信息。主要包含員工信息的多條分頁(yè)查詢,新增員工信息以及按照工作證號(hào)來(lái)查詢員工信息。在新增員工信息的頁(yè)面上(如圖7-5)可以添加新的部門名稱和部門編號(hào),同時(shí)此頁(yè)面顯示部分部門信息,供新增員工信息時(shí)對(duì)部門選擇提供參考。</p><p>  主要通過(guò)以下

110、代碼跳入方法體內(nèi):<li></p><p>  <a href="RenshiChaxun_fenye?pageNow=1"</p><p>  target="mainFrame">員工信息管理</a></p><p><b>  </li><li>&l

111、t;/b></p><p>  <a href="khAdd_fenye?pageNow=1" target="mainFrame"></p><p>  客戶信息管理</a></p><p><b>  </li></b></p><p>

112、;  圖7-6新增員工、部門信息查詢</p><p>  在對(duì)系統(tǒng)信息的分頁(yè)查詢中,利用Hibernate的setFirstResult()和setMaxResults() 實(shí)現(xiàn)分段查詢。</p><p>  2.客戶信息管理(如圖7-7):</p><p>  客戶信息管理主要是對(duì)公司客戶的基本信息進(jìn)行錄入和查詢等操作,為了以后方便的快捷的來(lái)處理客戶關(guān)系信息具有輔

113、助性作用。</p><p>  圖7-7客戶信息管理首頁(yè)</p><p>  圖7-7是客戶信息管理功能頁(yè)面,主要是記錄客戶的基本信息,包括客戶的公司、公司的所在地、聯(lián)系人姓名、聯(lián)系電話、Email和訂單號(hào)。當(dāng)點(diǎn)擊客戶信息管理菜單選項(xiàng)時(shí),首先出現(xiàn)的是分頁(yè)查詢客戶信息,其中可以查看到不同客戶對(duì)應(yīng)不同的訂單號(hào),通過(guò)訂單號(hào)以便查詢到訂單的詳細(xì)信息,本功能是對(duì)客戶信息表進(jìn)行基本操作,訂單號(hào)對(duì)客戶編

114、號(hào)是多對(duì)一的關(guān)系。通過(guò)后面的功能模塊可以詳細(xì)的了解到這種關(guān)系的存在。在對(duì)客戶信息進(jìn)行新增(如圖7-8)新增客戶信息時(shí),客戶編號(hào)由系統(tǒng)自動(dòng)生成,生成方式是由數(shù)據(jù)庫(kù)的序列來(lái)完成。點(diǎn)擊復(fù)選框,多條選擇,可以進(jìn)行批量的刪除。在通過(guò)客戶編號(hào)來(lái)查詢單條客戶信息時(shí),可以對(duì)此條信息進(jìn)行刪除操作。跳入方法體內(nèi)的鏈接如下:</p><p>  <td class="STYLE1"></p>

115、<p>  <div align="center"><img</p><p>  src="page/renshi/images/22.gif"width="14"height="14"/></p><p>  </div></td><td c

116、lass="STYLE1"><div align="center"><a href="page/renshi/ygaddKhmessage.jsp">新增</a></p><p><b>  </div></b></p><p><b>  &l

117、t;/td></b></p><p>  圖7-8新增客戶信息</p><p>  點(diǎn)擊確定按鈕后調(diào)回分頁(yè)查詢頁(yè)面。另一方面是對(duì)客戶編號(hào)查詢客戶的信息。輸入客戶編號(hào)可以查詢單條的客戶信息如圖(7-9)。</p><p>  圖7-9按客戶編號(hào)查詢</p><p>  通過(guò)對(duì)客戶信息的單條查詢,可以方便的快捷的查詢到所要了解的

溫馨提示

  • 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)論