物流管理網(wǎng)站畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  計算機與網(wǎng)絡(luò)工程系</b></p><p><b>  本科畢業(yè)論文</b></p><p>  單位代碼: </p><p>  分 類 號: </p><p>  密 級:

2、</p><p>  學(xué) 號: </p><p>  論文題目:基于MVC1技術(shù)的物流網(wǎng)站開發(fā)</p><p>  作 者: </p><p>  學(xué)科專業(yè):計算機科學(xué)與技術(shù)</p><p>  指導(dǎo)教師: </p><p>  日 期:

3、 </p><p><b>  摘要</b></p><p>  隨著電腦和因特網(wǎng)技術(shù)的發(fā)展,不論行業(yè)的大小,計算機軟件都是不可缺少的東西。學(xué)校、醫(yī)院、石油開采都用到計算機相關(guān)的知識。在各行各業(yè)中,管理一直是大部分公司所關(guān)注的事情,怎么樣管理好一個公司?怎么樣管理好手下的員工?這或許是公司領(lǐng)導(dǎo)層的人們討論的熱點話題。物流公司也離不開電腦、管理軟

4、件。物資運輸公司在生活中起著很重要的作用。由于物資種類的繁多、數(shù)量的龐大,對物資的管理也是一個很大的問題。本系統(tǒng)簡單地模擬并實現(xiàn)了物流過程中的大部分功能。本系統(tǒng)的特點是操作簡單,容易掌握??蛻糁恍枰ㄟ^網(wǎng)頁進行一些簡單的操作,比如發(fā)布貨物信息、查詢等。當(dāng)然系統(tǒng)管理員有權(quán)限對客戶所填寫的信息進行審核,以防止胡亂填寫的數(shù)據(jù)造成不必要的麻煩。管理員審核通過的信息,在審核的同時生成訂單。</p><p><b>

5、;  Abstract</b></p><p>  With the development of computer and Internet technology, regardless of the size of the industry, Computer software is indispensable things. Computer-related knowledge is used

6、in Schools, hospitals, oil production. In all walks of life, most of the company management has been a matter of concern, how to manage a company? How to manage his staff? Maybe it is a hot topic to some leaders. Logisti

7、cs companies can not do without computers, management software. Goods transportation companies play an i</p><p>  關(guān)鍵字:MySQL5.0數(shù)據(jù)庫系統(tǒng);MVC框架;物流管理系統(tǒng) </p><p>  KEYWORDS: MySQL5.0 Database; MVC framew

8、ork; Logistics Management System </p><p><b>  目錄</b></p><p><b>  目錄IV</b></p><p>  一、數(shù)據(jù)庫設(shè)計說明1</p><p>  1.選題說明及需求介紹1</p><p>  1.1

9、選擇該系統(tǒng)的原因與目的1</p><p><b>  1.1.1原因1</b></p><p><b>  1.1.2目的1</b></p><p>  1.2.需求分析1</p><p>  1.3可行性分析2</p><p><b>  1.4開發(fā)環(huán)境

10、2</b></p><p>  二、數(shù)據(jù)庫設(shè)計說明3</p><p>  三、系統(tǒng)功能模塊劃分9</p><p>  四、實現(xiàn)過程及效果展示11</p><p><b>  1.實現(xiàn)過程11</b></p><p><b>  2.效果展示12</b>

11、</p><p>  2.1前臺主界面12</p><p>  2.2前臺搜索頁面13</p><p>  2.3前臺找回密碼界面14</p><p>  2.4車牌號查詢頁面15</p><p>  2.5國道查詢頁面15</p><p>  2.6后臺登陸界面16</p&g

12、t;<p>  2.7后臺導(dǎo)航界面17</p><p>  2.8貨物詳細信息界面18</p><p>  2.9車輛信息界面19</p><p><b>  五、總結(jié)21</b></p><p><b>  六、參考材料23</b></p><p>

13、<b>  七、致謝25</b></p><p><b>  八、附錄27</b></p><p>  中文論文題目:基于MVC1技術(shù)的物流管理網(wǎng)站開發(fā)</p><p><b>  一、緒論</b></p><p><b>  1.選題說明及需求</b>

14、;</p><p>  1.1選擇該系統(tǒng)的原因與目的</p><p><b>  1.1.1原因:</b></p><p>  第一,各種各樣的物資運輸公司在生活中起著重要的作用。由于物資種類的繁多、數(shù)量的龐大,對物資的管理也是一個很大的問題。為了更容易、更方便的及時了解到客戶要運輸?shù)奈镔Y以及管理整個物流公司的流程,要是有一個簡單的、容易操作的

15、網(wǎng)站管理系統(tǒng),將會大大的節(jié)省人力、物力,提高運輸?shù)男?。因此,我設(shè)計了這個物流管理網(wǎng)站。</p><p>  第二,物流公司每天都有很多的貨物要運輸進來或者運輸出去,那么每天的數(shù)據(jù)量很大,要是去用手工的方式記錄這些數(shù)據(jù),不但效率不搞,而且容易出錯。如果數(shù)據(jù)記錄錯誤,說不定會導(dǎo)致不必要的后果。比如:要往A地運輸1000噸煤炭,結(jié)果記錄成了B地并且將煤炭發(fā)往B地了,那這樣就造成了很嚴重的后果。</p>

16、<p>  第三,對于一個部門或公司來說,數(shù)據(jù)是一筆寶貴的資產(chǎn)。紙質(zhì)的數(shù)據(jù)有容易丟失、損壞的不足,但要是把這些數(shù)據(jù)保存到數(shù)據(jù)庫中,不僅可以減少數(shù)據(jù)的丟失,節(jié)省空間而且在調(diào)用的時候提取容易。假如某公司每天產(chǎn)生100張紙質(zhì)的數(shù)據(jù),那么一月會有多少呢?一年呢?我們可以想象下,那可能需要幾個資料室,但是如果把它們保存到電腦上,卻僅需要一臺電腦。</p><p>  1.1.2目的:由于物資種類的繁多、數(shù)量的龐大

17、,對物資的管理也是一個很大的問題。為了更容易、更方便的及時了解到客戶要運輸?shù)奈镔Y以及管理整個物流公司的流程,要是有一個簡單的、容易操作的網(wǎng)站管理系統(tǒng),將會大大地節(jié)省人力、物力,提高運輸?shù)男省?lt;/p><p><b>  1.2.需求分析</b></p><p>  了解物流公司的業(yè)務(wù)流程,包括貨物、車輛的分派情況、客戶訂單的處理、合作伙伴的相關(guān)信息、系統(tǒng)管理人員等。

18、系統(tǒng)分為前臺和后臺兩部分。</p><p>  實現(xiàn)客戶通過前臺發(fā)布貨物信息的頁面發(fā)布自己的信息,在發(fā)布前先驗證客戶是否登陸,如果沒有登陸,則提示客戶注冊登錄;只有登陸的客戶才可以發(fā)布貨物信息。</p><p>  前臺要提供客戶和合作伙伴的注冊。對于客戶,要提供密碼找回功能。</p><p>  前臺要提供一些輔助工具,比如車牌號碼歸屬地查詢、國道查詢等。<

19、/p><p>  前臺要顯示一些必要的信息,比如由于天氣的原因,不能及時處理客戶的訂單,要一滾動消息的方式顯示出來;還要顯示最近的貨物信息、合作伙伴的信息等。還有關(guān)于貨物運輸?shù)南嚓P(guān)知識。</p><p>  后臺要實現(xiàn)登錄系統(tǒng)的控制,只有注冊了的系統(tǒng)管理員才可以登陸。對于系統(tǒng)管理員,提供添加、修改、刪除、查詢等功能。系統(tǒng)管理員可以對后臺的信息進行操作。</p><p>

20、  后臺要實現(xiàn)對客戶和合作伙伴發(fā)布的信息進行審核,以防止亂填的信息造成不必要的后果。在審核的同時要與客戶發(fā)布的信息相應(yīng)的訂單,訂單編號要求自動生成。</p><p>  后天要實現(xiàn)運輸工具的添加、修改、刪除等功能,車輛按照快慢程度分為快速、中速、慢速等。</p><p>  根據(jù)訂單上的內(nèi)容進行安排車輛。</p><p>  要有動態(tài)信息的發(fā)布、刪除、修改等。動態(tài)信

21、息就是關(guān)于天氣造成的不便,在后臺添加后顯示在前臺。</p><p><b>  1.3可行性分析</b></p><p>  根據(jù)需求分析,本系統(tǒng)主要就是處理數(shù)據(jù),對數(shù)據(jù)的增加、修改、查詢、刪除。這些都是對存放在數(shù)據(jù)庫中的數(shù)據(jù)的最基本的操作,而數(shù)據(jù)庫提供了這些基本的操作,因此對數(shù)據(jù)的操作不會存在問題。而根據(jù)運輸公司的業(yè)務(wù)流程,比如貨物的流動方向都不是特別復(fù)雜,能夠用程

22、序來模擬實現(xiàn)。對于貨物等的基本屬性,都可以用數(shù)據(jù)庫來設(shè)計實現(xiàn)。</p><p><b>  1.4開發(fā)環(huán)境</b></p><p>  硬件環(huán)境:Windows XP、內(nèi)存512M、硬盤80G</p><p>  開發(fā)工具:MySQL5.0、JDK1.6、Dreamweaver8.0、Fireworks8.0、Myeclipse6.0、tomc

23、at6.0</p><p><b>  二、數(shù)據(jù)庫設(shè)計說明</b></p><p>  數(shù)據(jù)庫名稱為wuliu,數(shù)據(jù)庫包括12張表,其中每張表都包含一些字段,用來描述各個事物的屬性。大多數(shù)表中的字段都是從頁面添加過來。</p><p><b>  分別如下:</b></p><p>  表2.1:物

24、流動態(tài)表(db_active)</p><p>  表2.2:車牌號碼表(db_carsource)</p><p>  表2.3:車輛類型表(db_cartype)</p><p>  表2.4:車輛信息表(db_carmessage)</p><p>  表2.5:會員表(db_customor)</p><p>

25、  表2.6:動態(tài)信息表(db_dyinfo)</p><p>  表2.7:國道信息表(db_guodao)</p><p>  表2.8:企業(yè)信息表(db_enterprise)</p><p>  表2.9:貨物信息表(db_goodsmeg)</p><p>  表2.10:物流知識表(db_knowledge)</p>

26、<p>  表2.11:管理員表(db_manager)</p><p>  表2.12:訂單表(db_orderd)</p><p>  三、系統(tǒng)功能模塊劃分</p><p>  1.系統(tǒng)分為前臺和后臺兩部分。</p><p>  2.前臺主要的模塊有:網(wǎng)站首頁、物流動態(tài)、物流知識、貨物信息、運輸設(shè)備、企業(yè)信息、輔助工具七個模塊

27、。</p><p>  3.后臺主要的模塊有:合作伙伴管理、貨物信息管理、訂單信息管理、車輛信息管理、公告信息管理、物流知識管理、會員信息管理、管理管理員八個模塊。如圖:</p><p>  四、實現(xiàn)過程及效果展示</p><p><b>  1.實現(xiàn)過程</b></p><p>  系統(tǒng)主要采用了jsp+Servlet

28、+javabean的MVC開發(fā)模式、使用MySQL5.0數(shù)據(jù)庫。</p><p><b>  設(shè)計數(shù)據(jù)庫。</b></p><p>  收集各個頁面所需要的資料,包括圖片、文字效果等等。根據(jù)數(shù)據(jù)庫設(shè)計前臺和后臺頁面,大多數(shù)頁面都是靜態(tài)頁面。</p><p>  寫一些工具類,比如驗證碼、分頁、加密、亂碼處理等。</p><p

29、>  根據(jù)數(shù)據(jù)庫表寫javabean;寫各個模塊所需要的接口,接口中基本包含對應(yīng)與數(shù)據(jù)表的增加、更新、刪除、查詢等方法;接口寫好之后寫每個接口的實現(xiàn)類,并且測試每個實現(xiàn)類的正確性。</p><p>  接下來就開始完成Servlet,每一類要在頁面上顯示的信息對應(yīng)一個Servlet,測試每個Servlet的正確性。</p><p>  修改前面做的頁面,將需要顯示動態(tài)信息的頁面修改為

30、jsp頁面,在這些頁面上添加一定的代碼,得到需要的數(shù)據(jù)。查看頁面的外觀是否美觀,并且查看得到的數(shù)據(jù)是否是想要的數(shù)據(jù),進而修改Servlet或者實現(xiàn)類。</p><p>  給那些需要添加驗證的頁面添加驗證,比如郵箱的格式、所填入的數(shù)據(jù)的類型、長度等。對頁面不美觀的頁面進行修改。</p><p>  測試每個頁面、Servlet都沒有問題之后,開始將所有的頁面鏈接起來。</p>

31、<p>  測試整個系統(tǒng),檢查是否有代碼或頁面上的錯誤,有沒有邏輯錯誤。對錯誤再進行修改,再進行測試系統(tǒng),如此多反復(fù)幾次。</p><p><b>  2.效果展示</b></p><p><b>  2.1前臺主界面</b></p><p>  2.2前臺搜索頁面及搜索結(jié)果頁面</p><

32、p>  2.3前臺找回密碼界面</p><p>  2.4車牌號查詢頁面</p><p><b>  2.5國道查詢頁面</b></p><p><b>  2.6后臺登陸界面</b></p><p><b>  2.7后臺導(dǎo)航界面</b></p><

33、p>  2.8貨物詳細信息界面</p><p><b>  2.9車輛信息界面</b></p><p><b>  五、總結(jié)</b></p><p><b>  收獲</b></p><p>  通過做這個系統(tǒng),使我了解到了很多關(guān)于物流運輸方面的知識。包括物流的基本職能、

34、物流分類、物流管理以及運輸方式。</p><p>  做一個項目必須要考慮到各種情況,以便適應(yīng)不同的情況。在項目開始之前,要收集很多相關(guān)資料,包括圖片、文檔、數(shù)據(jù)等等。</p><p>  在項目開發(fā)開始的時候,首先要做好需求分析。對于項目來說,需求非常重要,需求的一個小小的改動說不定會導(dǎo)致整個項目的失敗。</p><p>  在開發(fā)過程中,應(yīng)該有個計劃,第一步做什

35、么,接下來做什么。不要哪個模塊都想要做,那樣只會導(dǎo)致模塊序列紛亂,思路模糊不清,最后哪一個都做不好。</p><p>  通過該項目,對頁面的制作水平有了進一步的提高,了解到怎么樣布局能夠達到最好的效果;在完成了所有的頁面和代碼后,就是整合調(diào)試。在這個階段會比較麻煩,要反復(fù)的測試調(diào)試。對于一個人開發(fā)的小系統(tǒng),整合都很費事,那么對于團隊開發(fā)的大項目,溝通合作就顯得尤為重要。</p><p>

36、<b>  不足</b></p><p>  對于物流運輸業(yè)的業(yè)務(wù)還有不了解的地方,因此整個系統(tǒng)還存在很多業(yè)務(wù)邏輯方面的不足,導(dǎo)致系統(tǒng)僅能滿足部分業(yè)務(wù)需求,對于一些特殊業(yè)務(wù)流程還存在一些欠缺。</p><p>  頁面在美觀方面還存在一些不足,比如后臺的頁面比較單調(diào)等。</p><p>  系統(tǒng)在人性化方面做的不夠完善。比如有很多內(nèi)容要求客戶去

37、填寫,而不是以選擇的方式進行填寫。</p><p>  在代碼優(yōu)化方面也不夠好,有些代碼的執(zhí)行效率不是很好,還存在一些重復(fù)的代碼。</p><p>  代碼規(guī)范方面,部分代碼沒有注意格式,也沒有添加必要的注釋。</p><p>  系統(tǒng)設(shè)計的有些地方不合理。比如安排車輛發(fā)貨以后,那些被安排的車輛就消失了,沒有設(shè)計當(dāng)貨物運輸?shù)竭_目的地之后,車輛應(yīng)該都返回來。</

38、p><p><b>  六、參考材料</b></p><p>  [1](美)??藸?著,陳昊鵬 譯 《Java編程思想》機械工業(yè)出版社2007-6-1 880頁</p><p>  [2] 李鐘蔚,馬文強,王殊宇 Java項目開發(fā)實例自學(xué)手冊 人民郵電出版社 2008-09-01</p><p>  [3] (美國

39、)(Horstmann Gay S.)昊斯特曼 (美國)Gary Cornell 譯者:葉乃文 鄺勁筠 杜永萍 JAVA核心技術(shù)卷1:基礎(chǔ)知識(原書第8版) 機械工業(yè)出版社2008年</p><p>  [4] 李克娜 物流基礎(chǔ)知識 機械工業(yè)出版社 2004 年8月</p><p>  [5] 張新曼 精通JSP-WEB開發(fā)技術(shù)與典型應(yīng)用 人民郵電出版社 2007-2</p&

40、gt;<p>  [6] 唐友國,湛洪波主編 JSP網(wǎng)站開發(fā)詳解 電子工業(yè)出版社 2008-10-1</p><p>  [7] 史斌星 史佳編著 Java基礎(chǔ)及應(yīng)用教程 清華大學(xué)出版社 2007年5月</p><p>  [8] 夏寬理 算法基礎(chǔ) 高等教育出版社 2003年10月</p><p>  [9] 王珊 薩師煊 數(shù)據(jù)庫系

41、統(tǒng)概論(第四版)高等教育出版社 2006年5月</p><p>  [10]劉曉華 張健 周慧貞編著 JSP應(yīng)用開發(fā)詳解(第三版)電子工業(yè)出版社 2007年1月</p><p><b>  七、致謝</b></p><p>  感謝我的指導(dǎo)老師xx老師,你嚴謹細致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;你循循善誘的教導(dǎo)和不拘一格的思路給予我

42、無盡的啟迪。這片論文的每個實驗細節(jié)和每個數(shù)據(jù),都離不開你的細心指導(dǎo)。而你開朗的個性和寬容的態(tài)度,幫助我能夠很快的融入我這個項目的開發(fā)過程中。</p><p>  感謝我來培訓(xùn)的時候幫助過我的所有的老師,有了他們的支持幫助,我才能夠獨自的完成我的畢業(yè)設(shè)計。沒有他們的幫助,還不知道怎么來完成這個在大學(xué)中最重要的、也是最后一個標(biāo)志大學(xué)圓滿結(jié)束的畢業(yè)論文。</p><p>  感謝我的室友們,從遙

43、遠的家來到這個陌生的城市里,是你們和我共同維系著彼此之間兄弟般的感情,維系著寢室那份家的融洽。四年了,仿佛就在昨天。四年里,我們沒有紅過臉,沒有吵過嘴,沒有發(fā)生上大學(xué)前所擔(dān)心的任何不開心的事情;四年里,我們一起快樂過,一起悲傷過,一起走過了1000多個日日夜夜。只是今后大家就難得再聚在一起吃每年元旦那頓飯了吧,沒關(guān)系,各奔前程,大家珍重。但愿遠赴新疆的C和D平平安安,留守學(xué)校的D,E和F快快樂樂,揮師北上的G順順利利,也愿離開我們寢室的

44、H和I開開心心。我們在一起的日子,我會記一輩子的?! 「兄x我的爸爸媽媽,焉得諼草,言樹之背,養(yǎng)育之恩,無以回報,你們永遠健康快樂是我最大的心愿。  在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!</p><p><b>  八、附錄</b></p><p>  附錄部分

45、主要包括各種類中的部分代碼及其代碼的說明。</p><p>  連接數(shù)據(jù)庫類,,這個類主要采用了Java開發(fā)模式中的單子模式。代碼如下:</p><p>  package com.wuliu.DB;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverM

46、anager;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p><p>  import java.sql.Statement;</p><p>  public class DBManager</p><p&

47、gt;  {private static DBManager db=null;</p><p>  private Connection con=null;</p><p>  DBManager(){</p><p>  try {Class.forName("com.mysql.jdbc.Driver");</p><p

48、>  } catch (ClassNotFoundException e) {</p><p>  System.out.println("找不到類");</p><p><b>  }</b></p><p>  try { con=DriverManager.getConnection("jdb

49、c:mysql://localhost:3306/wuliu","root","mysql");</p><p>  } catch (SQLException e) {System.out.println("連接失敗!");}</p><p><b>  }</b></p><

50、p>  public static DBManager getInstance(){</p><p>  if(db==null){</p><p>  db=new DBManager();</p><p>  return db;}</p><p>  else return db;}</p><p>  p

51、ublic static Connection getConnection()</p><p>  {return DBManager.getInstance().con;}</p><p><b>  }</b></p><p>  javabean類,主要包括動態(tài)信息、車輛信息、管理員、訂單、貨物等的一些屬性變量,所有的屬性變量都定義為私有

52、的,只為其他類提供了get()和set()方法進行設(shè)值和取值。下面給出管理員和訂單的javabean。</p><p><b>  管理員代碼:</b></p><p>  package com.wuliu.bean;</p><p>  import java.io.Serializable;</p><p>  p

53、ublic class Admin implements Serializable {</p><p><b>  // 定義屬性</b></p><p>  private Integer id;</p><p>  private String managername;// 用戶名</p><p>  private

54、 String password;// 密碼</p><p>  private String phone; // 電話</p><p>  private String email; // 郵箱</p><p>  /** 默認構(gòu)造方法 */</p><p>  public Admin() {</p><p>&l

55、t;b>  }</b></p><p>  public Admin(Integer id, String managername, String password, String phone,</p><p>  String email) {</p><p>  this.id = id;</p><p>  this.

56、managername = managername;</p><p>  this.password = password;</p><p>  this.phone = phone;</p><p>  t his.email = email;</p><p><b>  }</b></p><p&

57、gt;  // 設(shè)置屬性值、獲得屬性值</p><p>  public Integer getId() {</p><p>  return this.id;</p><p><b>  }</b></p><p>  public void setId(Integer id) {</p><p&g

58、t;  this.id = id;</p><p><b>  }</b></p><p>  public String getManagername() {</p><p>  return managername;</p><p><b>  }</b></p><p>

59、;  public void setManagername(String managername) {</p><p>  this.managername = managername;</p><p><b>  }</b></p><p>  public String getPassword() {</p><p>

60、;  return this.password;</p><p><b>  }</b></p><p>  public void setPassword(String password) {</p><p>  this.password = password;</p><p><b>  }</b&

61、gt;</p><p>  public String getPhone() {</p><p>  return phone;</p><p><b>  }</b></p><p>  public void setPhone(String phone) {</p><p>  this.ph

62、one = phone;</p><p><b>  }</b></p><p>  public String getEmail() {</p><p>  return email;</p><p><b>  }</b></p><p>  public void se

63、tEmail(String email) {</p><p>  this.email = email;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  訂單代碼:</b></p><p>  

64、package com.wuliu.bean;</p><p>  public class Orderd {</p><p>  private int id;</p><p>  private String ordernum; // 訂單號</p><p>  private String goodsname; // 貨物名稱</

65、p><p>  private String consigntime; // 發(fā)布時間</p><p>  private String consignee; // 收貨人</p><p>  private String cartype; // 車牌號</p><p>  private String orderstate; // 訂單狀態(tài)&l

66、t;/p><p>  public Orderd(String ordernum, String goodsname, String consigntime,String consignee, String carnum, String orderstate, int id) {</p><p><b>  super();</b></p><p>

67、;  this.ordernum = ordernum;</p><p>  this.goodsname = goodsname;</p><p>  this.consigntime = consigntime;</p><p>  this.consignee = consignee;</p><p>  this.cartype =

68、cartype;</p><p>  this.orderstate = orderstate;</p><p>  this.id = id;</p><p><b>  }</b></p><p>  public Orderd() {</p><p><b>  }</b&g

69、t;</p><p>  public String getOrdernum() {</p><p>  return ordernum;</p><p><b>  }</b></p><p>  public void setOrdernum(String ordernum) {</p><p&g

70、t;  this.ordernum = ordernum;</p><p><b>  }</b></p><p>  public String getGoodsname() {</p><p>  return goodsname;</p><p><b>  }</b></p>

71、<p>  public void setGoodsname(String goodsname) {</p><p>  this.goodsname = goodsname;</p><p><b>  }</b></p><p>  public String getConsigntime() {</p><p

72、>  return consigntime;</p><p><b>  }</b></p><p>  public void setConsigntime(String consigntime) {</p><p>  this.consigntime = consigntime;</p><p><b&

73、gt;  }</b></p><p>  public String getConsignee() {</p><p>  return consignee;</p><p><b>  }</b></p><p>  public void setConsignee(String consignee) {&

74、lt;/p><p>  this.consignee = consignee;</p><p><b>  }</b></p><p>  public String getCartype() {</p><p>  return cartype;</p><p><b>  }</b

75、></p><p>  public void setCartype(String cartype) {</p><p>  this.cartype = cartype;</p><p><b>  }</b></p><p>  public String getOrderstate() {</p>

76、<p>  return orderstate;</p><p><b>  }</b></p><p>  public void setOrderstate(String orderstate) {</p><p>  this.orderstate = orderstate;</p><p><

77、b>  }</b></p><p>  public int getId() {</p><p>  return id;</p><p><b>  }</b></p><p>  public void setId(int id) {</p><p>  this.id =

78、id;</p><p><b>  }</b></p><p><b>  }</b></p><p>  接口類,在接口中基本有添加、修改、刪除、查詢等方法,他們都是抽象方法,每個方法要具體實現(xiàn)的功能在實現(xiàn)類中實現(xiàn)。使用接口,可以方便的添加一個或多個方法,只需要在實現(xiàn)類中實現(xiàn)它們。在其他類調(diào)用的時候,他只需要知道方法名就

79、可以,不需要知道底層具體是怎么實現(xiàn)的。下面給出合作伙伴和貨物信息的接口。</p><p><b>  合作伙伴:</b></p><p>  package com.wuliu.manage;</p><p>  import java.util.List;</p><p>  import com.wuliu.bean

80、.Enterprise;</p><p>  import com.wuliu.logicbusiness.PageDiv;</p><p>  public interface EPManager {</p><p>  public boolean AddEP(Enterprise ep);</p><p>  public int Re

81、viewEP(Enterprise ep);</p><p>  public boolean DeleteEP(Enterprise ep);</p><p>  public List GetSingleEP(int id);</p><p>  public List GetlistEP(PageDiv pagediv);</p><p&g

82、t;  public List GetlistEP();</p><p>  public List GetEP(PageDiv pagediv);</p><p><b>  }</b></p><p><b>  貨物信息:</b></p><p>  package com.wuliu.man

83、age;</p><p>  import java.util.List;</p><p>  import com.wuliu.bean.*;</p><p>  import com.wuliu.logicbusiness.PageDiv;</p><p>  import com.wuliu.bean.*;</p><

84、;p>  public interface GoodsManager {</p><p>  public boolean AddGoods(Goodsmeg goods);</p><p>  public boolean UpdateGoods(Goodsmeg goods);</p><p>  public boolean DeleteGoods(Go

85、odsmeg goods);</p><p>  public Goodsmeg UniqueGoods(Goodsmeg goods);</p><p>  public Goodsmeg UniqueGoods1(Goodsmeg goods);</p><p>  public List GetGoods(PageDiv pageDiv);</p>

86、<p>  public List GetGoods1(PageDiv pageDiv, Customor usernumber);</p><p>  public List UiGetGoods();</p><p><b>  }</b></p><p>  實現(xiàn)類,都是實現(xiàn)了接口中定義的方法。實現(xiàn)類中就開始具體的操作數(shù)據(jù)表

87、了,調(diào)用有關(guān)的方法實現(xiàn)添加、修改、刪除、查詢。下面是有關(guān)車輛類別的實現(xiàn)類:</p><p>  package com.wuliu.imp;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p><p>  import java.ut

88、il.ArrayList;</p><p>  import java.util.List;</p><p>  import com.mysql.jdbc.Connection;</p><p>  import com.mysql.jdbc.Statement;</p><p>  import com.wuliu.DB.DBManage

89、r;</p><p>  import com.wuliu.bean.Cartype;</p><p>  import com.wuliu.manage.Cartypemanager;</p><p>  public class ImpCartype implements Cartypemanager {</p><p>  java.s

90、ql.Connection con = null;</p><p>  java.sql.Statement st = null;</p><p>  // 實現(xiàn)了數(shù)據(jù)庫連接</p><p>  public ImpCartype() {</p><p>  con = DBManager.getConnection();</p>

91、<p><b>  try {</b></p><p>  st = con.createStatement();</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b&g

92、t;</p><p><b>  }</b></p><p>  // 增加一條車輛類型</p><p>  public void addcartype(Cartype cartype) {</p><p>  String typename = cartype.getTypename();</p>&l

93、t;p>  String sql = "insert into db_cartype(typename)values('" + typename</p><p><b>  + "')";</b></p><p>  // System.out.println(sql);</p><p&

94、gt;<b>  try {</b></p><p>  st.executeUpdate(sql);</p><p>  } catch (SQLException e) {</p><p><b>  }</b></p><p><b>  }</b></p>

95、<p>  // 根據(jù)ID刪除一條車輛類型</p><p>  public void deletecartype(Cartype cartype) {</p><p>  int id = cartype.getId();</p><p>  String sql = "delete from db_cartype where id=&quo

96、t; + id;</p><p><b>  try {</b></p><p>  st.executeUpdate(sql);</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b&g

97、t;  }</b></p><p><b>  }</b></p><p>  // 根據(jù)ID取出一條類型</p><p>  public Cartype getUniqCartype(Cartype cartype) {</p><p>  int id = cartype.getId();</p&

98、gt;<p>  String sql = "select * from db_cartype where id=" + id;</p><p><b>  try {</b></p><p>  ResultSet rs = st.executeQuery(sql);</p><p>  while (rs.

99、next()) {</p><p>  cartype.setId(rs.getInt("id"));</p><p>  cartype.setTypename(rs.getString("typename"));</p><p><b>  }</b></p><p>  }

100、catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  return cartype;</p><p><b>  }</b></p><p><b>

101、;  // 取出所有類型</b></p><p>  public List getcartype() {</p><p>  List list = new ArrayList();</p><p>  ResultSet rs = null;</p><p>  String sql = "select * from

102、 db_cartype";</p><p><b>  try {</b></p><p>  rs = st.executeQuery(sql);</p><p>  while (rs.next()) {</p><p>  Cartype cartype = new Cartype();</p>

103、;<p>  cartype.setId(rs.getInt("id"));</p><p>  cartype.setTypename(rs.getString("typename"));</p><p>  list.add(cartype);</p><p><b>  }</b>&l

104、t;/p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  return list;</p><p><b>  }</b></p>

105、;<p>  public void updateCartype(Cartype cartype) {</p><p>  int id = cartype.getId();</p><p>  String typename = cartype.getTypename();</p><p>  String sql = "update db

106、_cartype set typename='" + typename</p><p>  + "'where id=" + id;</p><p><b>  try {</b></p><p>  st.executeUpdate(sql);</p><p>  } ca

107、tch (SQLException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  靜態(tài)代

108、理類,它們主要代理接口類,通過靜態(tài)代理類就可以調(diào)用接口中的方法。代理有動態(tài)代理和靜態(tài)代理:動態(tài)代理只寫一個代理類,不需要每個接口都寫一個,只需要將接口變量作為參數(shù)傳給動態(tài)代理類就可以了;而靜態(tài)代理需要每個接口寫一個代理類。下面給出合作伙伴的代理類:</p><p>  package com.wuliu.proxy;</p><p>  import java.util.List;<

109、/p><p>  import com.wuliu.bean.Enterprise;</p><p>  import com.wuliu.imp.ImpEP;</p><p>  import com.wuliu.logicbusiness.PageDiv;</p><p>  import com.wuliu.manage.EPManager

110、;</p><p>  public class ProxyEP implements EPManager {</p><p>  private EPManager epmanager;</p><p>  public ProxyEP() {</p><p>  this.epmanager = new ImpEP();</p>

111、;<p><b>  }</b></p><p>  public List GetTopNews(int top) {</p><p>  return null;</p><p><b>  }</b></p><p>  public boolean AddEP(Enterpri

112、se ep) {</p><p>  return this.epmanager.AddEP(ep);</p><p><b>  }</b></p><p>  public boolean DeleteEP(Enterprise ep) {</p><p>  return this.epmanager.Delete

113、EP(ep);</p><p><b>  }</b></p><p>  public List GetEP(PageDiv pagediv) {</p><p>  return this.epmanager.GetEP(pagediv);</p><p><b>  }</b></p&g

114、t;<p>  public int ReviewEP(Enterprise ep) {</p><p>  return this.epmanager.ReviewEP(ep);</p><p><b>  }</b></p><p>  public List GetSingleEP(int id) {</p>

115、<p>  return this.epmanager.GetSingleEP(id);</p><p><b>  }</b></p><p>  public List GetlistEP(PageDiv pagediv) {</p><p>  return this.epmanager.GetlistEP(pagediv);&

116、lt;/p><p><b>  }</b></p><p>  public List GetlistEP() {</p><p>  return this.epmanager.GetlistEP();</p><p><b>  }</b></p><p><b>

117、  }</b></p><p>  Servlet類,是javabean類和JSP頁面之間的橋梁??梢詮腏SP頁面上得到數(shù)據(jù),然后寫到數(shù)據(jù)庫中;也可以從數(shù)據(jù)庫中讀取數(shù)據(jù),通過Servlet顯示到頁面上。在Servlet中可以控制頁面之間的跳轉(zhuǎn),還可以對登陸時所填寫的信息進行驗證。如果和數(shù)據(jù)庫中的數(shù)據(jù)一致,就可以登陸進系統(tǒng);否則就跳回登陸界面。Servlet還可以為頁面設(shè)置標(biāo)志,比如用戶登陸后頁面可以得

118、到一個特定值的變量,在頁面操作的時候判斷這個標(biāo)志是不是從Servlet中傳過來的,如果不一致則不能進行有些操作。下面給出驗證后臺登陸的Servlet代碼:</p><p>  package com.wuliu.servlet.admin;</p><p>  import java.io.IOException;</p><p>  import java.io.

119、PrintWriter;</p><p>  import javax.servlet.ServletException;</p><p>  import javax.servlet.http.Cookie;</p><p>  import javax.servlet.http.HttpServlet;</p><p>  import

120、javax.servlet.http.HttpServletRequest;</p><p>  import javax.servlet.http.HttpServletResponse;</p><p>  import javax.servlet.http.HttpSession;</p><p>  import com.wuliu.bean.Admin;&

121、lt;/p><p>  import com.wuliu.imp.ImpAdmin;</p><p>  import com.wuliu.logicbusiness.ToGbk;</p><p>  import com.wuliu.logicbusiness.MD5;</p><p>  public class CheckAdmin ext

122、ends HttpServlet {</p><p>  public void doGet(HttpServletRequest request, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p><p>  this.doPost(request,

123、 response);</p><p><b>  }</b></p><p>  public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p

124、><p>  MD5 md5 = new MD5();</p><p>  String user = ToGbk.togb(request.getParameter("username"));// 取用戶名</p><p>  String pwd = md5.getMD5ofStr(request.getParameter("pwd&q

125、uot;));// 取密碼</p><p>  String validate = request.getParameter("code");// 取驗證碼</p><p>  // 從Session中獲得驗證碼</p><p>  String yy = (String) request.getSession().getAttribute(&q

126、uot;rand");</p><p>  Admin admin = new Admin();</p><p>  admin.setManagername(user);</p><p>  admin.setPassword(pwd);</p><p>  ImpAdmin check = new ImpAdmin();//

溫馨提示

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

評論

0/150

提交評論