基于web的網(wǎng)上機(jī)票預(yù)定管理系統(tǒng)_第1頁
已閱讀1頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  陜西理工學(xué)院</b></p><p>  高級語言編程實(shí)訓(xùn) </p><p><b>  實(shí)訓(xùn)報(bào)告</b></p><p>  項(xiàng)目名稱:基于Web的網(wǎng)上機(jī)票預(yù)定管理系統(tǒng)</p><p>  學(xué)生姓名: 1209064006 &

2、lt;/p><p>  1209064033 </p><p>  1209064037 </p><p>  1209064028 </p><p>  1209064003 </p><p>  班 級: 信計(jì)1201

3、 </p><p>  成 績: </p><p>  指導(dǎo)教師: </p><p>  數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院</p><p><b>  實(shí)訓(xùn)報(bào)告評閱</b></p>

4、<p><b>  摘 要</b></p><p>  世界多極化和經(jīng)濟(jì)全球化的趨勢在曲折中發(fā)展,科技進(jìn)步日新月異,綜合國力競爭日趨激烈。電子信息產(chǎn)品制造業(yè)經(jīng)濟(jì)運(yùn)行狀況良好,產(chǎn)業(yè)規(guī)模迅速擴(kuò)大。在計(jì)算機(jī)技術(shù)高速發(fā)展的今天,我國有必要引入高效的計(jì)算機(jī)系統(tǒng)來改善一些旅行社和酒店的機(jī)票預(yù)定,提高工作效率,協(xié)助處理機(jī)票預(yù)定工作。網(wǎng)上機(jī)票預(yù)訂管理系統(tǒng)的產(chǎn)生和發(fā)展正好滿足人們的這種需求。<

5、;/p><p>  機(jī)票預(yù)定系統(tǒng)是為機(jī)場工作人員和客戶提供訂票退票等與機(jī)票相關(guān)內(nèi)容和管理的系統(tǒng),它具有開放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、具有良好人機(jī)界面的優(yōu)點(diǎn).它除克服了存儲乘客信息少,查詢效率低下等問題外,更重要的是其安全性,可靠性,實(shí)現(xiàn)航空公司的機(jī)票銷售的自動化。它為企業(yè)的決策層提供準(zhǔn)確、精細(xì)、迅速的機(jī)票銷售信息,為乘客出行提供方便,便于機(jī)場工作人員對機(jī)票信息進(jìn)行管理,提高了機(jī)場工作人員對機(jī)票管理的工作效率。&

6、lt;/p><p>  根據(jù)航空公司管理的實(shí)際要求, 系統(tǒng)采用JSP,Tomcat,Servlet,利用Mysql作為數(shù)據(jù)庫管理工具,模塊復(fù)用率高、系統(tǒng)維護(hù)代價小,方便、靈活、高效。</p><p>  關(guān)鍵詞:航班信息管理;退票管理;訂票管理;Java語言</p><p><b>  目 錄</b></p><p>&l

7、t;b>  第一章 引言1</b></p><p>  1.1 題目背景1</p><p>  1.2 題目內(nèi)容2</p><p>  1.3 系統(tǒng)設(shè)計(jì)目標(biāo)2</p><p>  1.4 經(jīng)濟(jì)技術(shù)分析3</p><p>  1.5 本文結(jié)構(gòu)4</p><p>  第

8、二章 需求分析5</p><p>  2.1 角色及其職能5</p><p>  2.2 數(shù)據(jù)流圖5</p><p>  2.3 概念結(jié)構(gòu)設(shè)計(jì)6</p><p>  2.3.1 實(shí)體-聯(lián)系(E-R)圖6</p><p>  2.3.2 各實(shí)體詳細(xì)E-R圖7</p><p>  2.4

9、 設(shè)計(jì)工具環(huán)境9</p><p>  2.4.1 Java語言9</p><p>  2.4.2 MyEclipse開發(fā)平臺9</p><p>  2.4.3 MySQL9</p><p>  2.4.4 JSP10</p><p>  第三章 總體設(shè)計(jì)12</p><p>  3.

10、1總體結(jié)構(gòu)設(shè)計(jì)12</p><p>  3.2數(shù)據(jù)庫邏輯設(shè)計(jì)12</p><p>  3.2.1人員信息12</p><p>  3.2.2 機(jī)票信息13</p><p>  第四章 詳細(xì)設(shè)計(jì)16</p><p>  4.1系統(tǒng)部分時序圖16</p><p>  4.2系統(tǒng)的流程設(shè)計(jì)

11、17</p><p>  4.3系統(tǒng)功能的詳細(xì)實(shí)現(xiàn)19</p><p>  4.4詳細(xì)設(shè)計(jì)中關(guān)鍵技術(shù)的實(shí)現(xiàn)22</p><p>  4.4.1數(shù)據(jù)庫的連接23</p><p>  第五章 編碼實(shí)現(xiàn)24</p><p>  第六章 系統(tǒng)測試與調(diào)試37</p><p>  6.1軟件測試

12、常識37</p><p>  6.2系統(tǒng)功能測試計(jì)劃37</p><p>  6.3系統(tǒng)功能模塊測試38</p><p>  6.3.1管理人員模塊的測試38</p><p>  6.3.2乘客模塊測試38</p><p>  6.4調(diào)試中的問題38</p><p><b>

13、;  第七章 總結(jié)40</b></p><p><b>  參考文獻(xiàn)42</b></p><p><b>  第一章 引言</b></p><p><b>  題目背景</b></p><p>  當(dāng)今世界,以信息技術(shù)為主要標(biāo)志的科技進(jìn)步日新月異,高科技成果向現(xiàn)

14、實(shí)生產(chǎn)力的轉(zhuǎn)化越來越快??v觀全球經(jīng)濟(jì)發(fā)展,信息技術(shù)和信息產(chǎn)業(yè)已經(jīng)成為經(jīng)濟(jì)增長的主要推動力之一,正在改變著傳統(tǒng)的生產(chǎn)和經(jīng)營方式以至生活方式,發(fā)達(dá)國家經(jīng)過產(chǎn)業(yè)結(jié)構(gòu)的升級和經(jīng)濟(jì)結(jié)構(gòu)的轉(zhuǎn)型已進(jìn)入信息經(jīng)濟(jì)階段。中共十七屆五中全會通過的國民經(jīng)濟(jì)和社會發(fā)展第十個五年計(jì)劃建議中已明確指出:信息化是當(dāng)今世界經(jīng)濟(jì)和社會發(fā)展的大趨勢,也是我國產(chǎn)業(yè)優(yōu)化升級和實(shí)現(xiàn)工業(yè)化、現(xiàn)代化的關(guān)鍵環(huán)節(jié)。大力推進(jìn)國民經(jīng)濟(jì)和社會信息化,是覆蓋現(xiàn)代化建設(shè)全局的戰(zhàn)略舉措??梢?,黨和國

15、家已將國民經(jīng)濟(jì)和社會信息化放在優(yōu)先發(fā)展位置,體現(xiàn)了先進(jìn)生產(chǎn)力的客觀要求,是一項(xiàng)重要的戰(zhàn)略決策。這是民航加快發(fā)展的機(jī)遇,更是民航信息化的難得機(jī)遇。</p><p>  隨著知識經(jīng)濟(jì)的到來,人類已經(jīng)逐步進(jìn)入信息化社會,信息增長的速度越來越快,人們希望利用先進(jìn)的管理理論方法手段來得到并處理越來越多的信息,以提高工作效率和管理水平。由于信息資源對人們生活的重要性,不斷提高信息的收集,傳輸,加以利用等活動,日益成為人們社會

16、生活的重要組成部分。</p><p>  隨著社會發(fā)展的不斷進(jìn)步,民航事業(yè)的壯大,人們消費(fèi)水平的提高,乘坐民航的消費(fèi)者也越來越多,旅游也逐漸成為普通老百姓的生活組成部分,飛機(jī)票預(yù)定查詢系統(tǒng)在各機(jī)票預(yù)定網(wǎng)點(diǎn)中的作用也越顯重要。目前,我國一些旅行社和酒店的機(jī)票預(yù)定還停留在人工處理階段,這已經(jīng)嚴(yán)重制約了工作效率,在計(jì)算機(jī)技術(shù)高速發(fā)展的今天,有必要引入高效的計(jì)算機(jī)系統(tǒng),來協(xié)助處理機(jī)票預(yù)定工作。因此,開發(fā)一套具有完整的存儲

17、,查詢,核對,打印機(jī)票功能的實(shí)時機(jī)票預(yù)定系統(tǒng)勢在必行。</p><p>  機(jī)票預(yù)定系統(tǒng)是為機(jī)場工作人員和客戶提供訂票退票等與機(jī)票相關(guān)內(nèi)容和管理的系統(tǒng),它具有開放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、具有良好人機(jī)界面的優(yōu)點(diǎn).它除克服了存儲乘客信息少,查詢效率低下等問題外,更重要的是其安全性,可靠性,實(shí)現(xiàn)航空公司的機(jī)票銷售的自動化。它為企業(yè)的決策層提供準(zhǔn)確、精細(xì)、迅速的機(jī)票銷售信息,為乘客出行提供方便,便于機(jī)場工作人員對

18、機(jī)票信息進(jìn)行管理,提高了機(jī)場工作人員對機(jī)票管理的工作效率。</p><p><b>  題目內(nèi)容</b></p><p>  隨著信息技術(shù)的發(fā)展,航空售票業(yè)也成為一個高度依賴信息業(yè)的行業(yè)。信息技術(shù)的飛速發(fā)展不僅使航空售票工作者逐漸擺脫了繁重的手工勞動、提高了工作效率,而且推著航空事業(yè)向現(xiàn)代化管理邁進(jìn)?,F(xiàn)代化的航空售票也應(yīng)該有現(xiàn)代化的管理系統(tǒng)。在科技日益發(fā)達(dá)的今天,人們

19、對旅游出行更加重視。因此,航空售票進(jìn)行現(xiàn)代化管理就變的尤為重要。</p><p>  畢業(yè)設(shè)計(jì)的主要任務(wù)就是設(shè)計(jì)實(shí)現(xiàn)一個航空售票信息管理系統(tǒng),完成對航空公司的正常售票等業(yè)務(wù)的管理。具體任務(wù)如下:</p><p> ?。?)主要航空港基本信息管理;</p><p> ?。?)主要民航航線基本信息管理;</p><p> ?。?)售票信息管理;&

20、lt;/p><p> ?。?)預(yù)定票信息管理;</p><p> ?。?)退票信息管理;</p><p> ?。?)飛機(jī)票價格(包括打折)管理;</p><p> ?。?)上述信息的統(tǒng)計(jì)及圖形顯示。</p><p><b>  系統(tǒng)設(shè)計(jì)目標(biāo)</b></p><p>  此次設(shè)計(jì)

21、的主要任務(wù)就是設(shè)計(jì)實(shí)現(xiàn)一個航空售票信息管理系統(tǒng),其實(shí)現(xiàn)對航班信息、航線信息、客機(jī)信息、票務(wù)信息以及客戶信息的管理;客戶可以對航班的信息進(jìn)行查詢,如果想進(jìn)一步完成自己的訂票、退票,就必須進(jìn)行登錄。在沒有注冊的情況下,要注冊自己的相關(guān)信息,進(jìn)而完成自己所需航班的訂票業(yè)務(wù);客戶也可以對自己的注冊信息進(jìn)行修改。</p><p><b>  經(jīng)濟(jì)技術(shù)分析</b></p><p>

22、;<b>  (1)經(jīng)濟(jì)可行性</b></p><p>  航空售票信息管理系統(tǒng)是整個航空管理系統(tǒng)中的一個子系統(tǒng),是根據(jù)各部分管理的功能開發(fā)的。從任務(wù)量上來說最好由多人開發(fā),雖然不需要投入太多的人力、物力、財(cái)力,但是這樣可以保障功能的完善,質(zhì)量的提高。如果航空公司沒有一個規(guī)范嚴(yán)謹(jǐn)?shù)氖燮毙畔⒐芾硐到y(tǒng),那么在面對眾多乘客訂票管理方面所需要消耗的人力是巨大的。僅乘客保險信息一項(xiàng),就需要對乘客身份證

23、號等許多數(shù)據(jù)進(jìn)行枯燥的管理,很容易出錯。尤其在類似于沈陽這樣的人員眾多的城市,數(shù)據(jù)量大的特點(diǎn)更是十分明顯。工作量大、效率低下是航空售票信息管理長期以來的詬病。而通過計(jì)算機(jī)管理航空售票不僅節(jié)約了人力資源,而且提高了效率與準(zhǔn)確性,使效益在質(zhì)量上有了很大的飛躍。所以,從經(jīng)濟(jì)角度上來說是完全可行的。</p><p><b> ?。?)技術(shù)可行性</b></p><p>  此

24、系統(tǒng)應(yīng)用JSP技術(shù)作為開發(fā)工具。Java語言具有面向?qū)ο?、與平臺無關(guān)、安全、穩(wěn)定和多線程等優(yōu)良特性,是目前軟件設(shè)計(jì)中極為健壯的編程語言。JSP技術(shù)還擁有很多的優(yōu)勢,一次編寫到處運(yùn)行,系統(tǒng)的多平臺支持,多樣化和功能強(qiáng)大的開發(fā)工具支持,強(qiáng)大的可伸縮性。系統(tǒng)后臺數(shù)據(jù)庫采用MySQL。所以,從技術(shù)角度上來說是完全可行的。</p><p>  該系統(tǒng)的主要用戶是航空公司的管理員和所有乘客。在開發(fā)過程中利用Java、面向?qū)ο?/p>

25、的程序思想和軟件工程的開發(fā)過程來進(jìn)行需求分析和設(shè)計(jì),其中是以Java中的Swing思想為基礎(chǔ)進(jìn)行各個圖形界面設(shè)計(jì)[1];MyEclipse的開發(fā)環(huán)境使得本系統(tǒng)的開發(fā)簡單節(jié)省時間,而且在運(yùn)行測試以及維護(hù)等方面也不像其他的開發(fā)工具那么繁瑣,更將少了在維護(hù)方面的成本。對于各種數(shù)據(jù)的管理采用的是SQL Server的數(shù)據(jù)庫管理系統(tǒng)進(jìn)行的[2],連接數(shù)據(jù)庫的時候采用的是JDBC的連接方法。</p><p><b>

26、;  本文結(jié)構(gòu)</b></p><p>  此論文共分為緒論、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)和系統(tǒng)測試幾個章節(jié)。</p><p>  在需求分析與概要設(shè)計(jì)章節(jié)中共分為用戶需求分析、角色及其功能、數(shù)據(jù)流圖、E-R圖、模塊圖和設(shè)計(jì)環(huán)境及工具的介紹等幾部分。本論文的重點(diǎn)之一將以用戶的需求分析為主,從用戶的角度出發(fā)使系統(tǒng)的功能與用戶的要求達(dá)成一致。這需要全面地理解用戶的各項(xiàng)要求,準(zhǔn)確地表

27、達(dá)用戶需求,設(shè)計(jì)出系統(tǒng)的各項(xiàng)功能以解決“做什么”的問題。同時通過時序圖、ER圖、模塊圖等,更為詳細(xì)的說明此系統(tǒng)的功能和此系統(tǒng)的設(shè)計(jì)思路。在本章節(jié)的最后還將說明本系統(tǒng)所使用的工具和設(shè)計(jì)環(huán)境,并簡略的敘述其相關(guān)情況。</p><p>  在詳細(xì)設(shè)計(jì)章節(jié)中共分為數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)、程序流程圖等幾部分。本章節(jié)是此論文的另一重點(diǎn),在此章節(jié)中將詳細(xì)的對本系統(tǒng)進(jìn)行介紹。數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計(jì)是本次畢設(shè)的一個重要環(huán)節(jié),設(shè)計(jì)出正確的數(shù)據(jù)庫結(jié)

28、構(gòu)有助于準(zhǔn)確的敘述出各個實(shí)體之間的關(guān)系,進(jìn)而實(shí)現(xiàn)系統(tǒng)的各項(xiàng)功能。在本章還將通過程序流程圖給出設(shè)計(jì)程序的基本思路,同時設(shè)計(jì)出準(zhǔn)確、高效的程序代碼。</p><p>  在系統(tǒng)測試章節(jié)中共分為測試環(huán)境、測試結(jié)果、測試工具和測試界面等幾部分。在此章節(jié)將對此系統(tǒng)的具體功能、運(yùn)行情況等進(jìn)行測試。通過此章節(jié)完成對系統(tǒng)的最后檢測找出不足并加以完善。</p><p><b>  第二章 需求分析

29、</b></p><p>  2.1 角色及其職能</p><p>  本系統(tǒng)的角色是乘客和管理員。乘客除了具有買票和退票的操作權(quán)限外還有查詢所有信息的權(quán)限,管理人員具有對任何信息進(jìn)行增加,刪除、修改和查詢的操作,可以查詢統(tǒng)計(jì)信息。乘客可以通過登錄后查詢和修改與自己有關(guān)的信息。</p><p><b>  2.2 數(shù)據(jù)流圖</b>&

30、lt;/p><p>  經(jīng)過初步的需求分析,得到系統(tǒng)的主要功能要求如下:</p><p>  (1) 用戶查詢自己的訂票信息和退票信息以及查詢相關(guān)信息;</p><p>  管理人員可以對各項(xiàng)信息進(jìn)行增加、刪除、修改、查詢操作。</p><p>  根據(jù)分析得到的系統(tǒng)功能要求,設(shè)計(jì)出航空售票信息管理系統(tǒng)的數(shù)據(jù)流圖,如圖2.1所示。</p&g

31、t;<p>  圖2.1網(wǎng)上航空售票管理信息系統(tǒng)的數(shù)據(jù)流圖</p><p>  2.3 概念結(jié)構(gòu)設(shè)計(jì)</p><p>  2.3.1 實(shí)體-聯(lián)系(E-R)圖</p><p>  概念模型的表示方法很多,其中最為著名最為常用的是實(shí)體-聯(lián)系方法(E-R圖)。</p><p>  實(shí)體-關(guān)系圖方法是抽象和描述現(xiàn)實(shí)世界的有力工具。用E

32、-R圖表示的概念模型獨(dú)立于具體的DBMS所支持的數(shù)據(jù)模型,它是各種數(shù)據(jù)模型的共同基礎(chǔ),因而比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實(shí)世界。</p><p>  系統(tǒng)E-R圖如圖2.2所示。</p><p>  圖2.2系統(tǒng)的E-R圖</p><p>  2.3.2 各實(shí)體詳細(xì)E-R圖</p><p>  圖2.3航班的E-R圖</p>

33、<p>  圖2.4機(jī)票的E-R圖</p><p>  圖2.5乘客和飛機(jī)的E-R圖</p><p>  圖2.6管理員的E-R圖 </p><p>  實(shí)體的屬性如下所示:</p><p>  機(jī)票(編號(KEY)、用戶名稱、航班編號、倉位類型、機(jī)票價格);</p><p>  航線(編號(KEY)、航

34、線編號、始發(fā)城市、到達(dá)城市、始發(fā)日期、始發(fā)時間、客機(jī)編號、經(jīng)濟(jì)艙價格、公務(wù)艙價格、頭等艙價格);</p><p>  乘客(ID(KEY)、姓名、性別、身份證號碼、聯(lián)系方式);</p><p>  管理員(ID(KEY)、姓名、密碼、密保問題、答案、職務(wù));</p><p>  飛機(jī)(ID(KEY)、客機(jī)編號、客機(jī)型號、購買時間、服務(wù)時間、頭等艙座位數(shù)、經(jīng)濟(jì)艙座位數(shù)

35、、公務(wù)艙座位數(shù));</p><p>  2.4 設(shè)計(jì)工具環(huán)境</p><p>  2.4.1 Java語言</p><p>  Java語言是1995年由Sun公司開發(fā)的編程語言,它的出現(xiàn)是源于對獨(dú)立平臺語言的需要。Java語言是目前使用最為廣泛的編程語言之一,它具有簡單、面向?qū)ο?、穩(wěn)定、與平臺無關(guān)、多線程、動態(tài)等特點(diǎn)。</p><p>  

36、2.4.2 MyEclipse開發(fā)平臺</p><p>  MyEclipse 是基于Java的、開放源代碼的可擴(kuò)展開發(fā)平臺,它最初由IBM公司投入巨資開發(fā),后來被捐贈給國際開放源代碼團(tuán)體。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,MyEclipse附帶了一個標(biāo)準(zhǔn)的插件集,包括了Java開發(fā)工具(Java development Tools,JDT)。雖然大多數(shù)用戶很樂于將M

37、yEclipse當(dāng)作Java IDE 來用,但MyEclipse的目標(biāo)不僅限于此。MyEclipse還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴(kuò)展MyEclipse的軟件開發(fā)人員,因?yàn)樗试S開發(fā)人員構(gòu)建與MyEclipse環(huán)境無縫集成工具。</p><p>  MyEclipse可以集成不同的軟件工具開發(fā)供應(yīng)商的產(chǎn)品,任何開發(fā)工具廠商都可以將

38、他們的開發(fā)工具或組件加入到MyEclipse 平臺,用戶可以通過相同的接口使用不同的工具。也就是說,可以在同一集成環(huán)境中同時使用不同開發(fā)商開發(fā)的軟件工具。由于MyEclipse具有這種整和不同工具的特性,開發(fā)者可以綜合性能調(diào)節(jié)、監(jiān)測、調(diào)試等處理,從而可以在較短的時間內(nèi)開發(fā)出更高性能和質(zhì)量的應(yīng)用軟件。因此,MyEclipse 平臺不僅得到了許多開發(fā)者和新興的中小企業(yè)軟件公司的支持而且得到IBM、Sun、Oracle等大型軟件公司的支持。&

39、lt;/p><p>  2.4.3 MySQL</p><p>  MySQL是一個精巧的SQL 數(shù)據(jù)庫管理系統(tǒng),以操作簡便著稱。由于其強(qiáng)大的功能、豐富的應(yīng)用編程接口以及精巧的系統(tǒng)結(jié)構(gòu)設(shè)計(jì),在基于數(shù)據(jù)庫的應(yīng)用軟件開發(fā)中得到了廣泛的應(yīng)用。MySQL 是客戶機(jī)/服務(wù)器模式的分布式系統(tǒng),由SQL服務(wù)器、客戶端、管理工具和應(yīng)用編程接口等組成。它平臺無關(guān)性的優(yōu)點(diǎn)使其能在多個操作系統(tǒng)上運(yùn)行。此外,MySQ

40、L 還是多線程的,不僅具有運(yùn)行速度快,可處理大批量數(shù)據(jù)等特點(diǎn),還支持多CPU使用。</p><p><b>  2.4.4 JSP</b></p><p>  系統(tǒng)用JSP技術(shù)作為開發(fā)工具。JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁H

41、TML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。 JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁

42、設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)</p><p>  JSP頁面由HTML代碼和嵌入其中的Java

43、代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 1. JSP技術(shù)的優(yōu)勢 (1)JSP的效率和安全性更高。JSP在執(zhí)行之前先被編譯成字

44、節(jié)碼,字節(jié)碼由Java虛擬機(jī)解釋執(zhí)行,比源碼解釋的效率高;服務(wù)器還有字節(jié)碼的Cacher(緩存)機(jī)制,能提高字節(jié)碼的訪問效率。第一次調(diào)用JSP網(wǎng)頁速度可能稍慢,因?yàn)樗痪幾g成緩存內(nèi)容,以后就快的多了。 </p><p> ?。?)JSP組件方式更方便。絕大多數(shù)JSP頁面依賴于可重用的、跨平臺的組件來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使用這些組件為更多的使用者或者客戶

45、所使用。基于組件的方法加速了總體開發(fā)過程,并且使用各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。 </p><p> ?。?)JSP適應(yīng)平臺更廣。幾乎所有平臺都支持Java,JSP+Javabean可以在所有平臺下暢通無阻。從一個平臺移植到另一個平臺,JSP和Javabean甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺無關(guān)的。</p><p> ?。?)簡單標(biāo)識簡化頁

46、面開發(fā)。Web頁面開發(fā)人員不一定都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識中進(jìn)行動態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識能夠訪問和實(shí)例化Javabean組件,設(shè)置或者檢索組件屬性,下載Applet以及執(zhí)行使用其他方法更難于編碼和耗時的功能。</p><p><b>  第三章 總體設(shè)計(jì)</b></p><p>&l

47、t;b>  3.1總體結(jié)構(gòu)設(shè)計(jì)</b></p><p>  網(wǎng)上航空售票管理信息系統(tǒng)共分為客戶信息管理、航班信息管理、管理員信息管理、訂票信息管理和統(tǒng)計(jì)信息及圖形顯示幾個模塊。具體功能模塊如圖3.1所示。 </p><p><b>  圖3.1總體模塊圖</b></p><p>  3.2數(shù)據(jù)庫邏輯設(shè)計(jì)</p>

48、<p>  數(shù)據(jù)庫是系統(tǒng)的后臺部分,用來存儲信息以供前臺調(diào)用和輸出。數(shù)據(jù)庫設(shè)計(jì)的是否合理將直接影響到系統(tǒng)的穩(wěn)定性、安全性及可維護(hù)性,同時也會影響到后期的編碼。在進(jìn)行了需求分析和概要設(shè)計(jì)后,接下來將詳細(xì)介紹系統(tǒng)中各部分信息的存儲結(jié)構(gòu)。</p><p><b>  3.2.1人員信息</b></p><p>  人員信息包括管理員信息表、用戶信息表;具體表格如表

49、3.1,表3.2所示。</p><p>  表 3.1管理人員信息表</p><p>  *注:管理人員信息表主要存儲系統(tǒng)管理人的相關(guān)信息,用于管理員登錄系統(tǒng)時驗(yàn)證身份,登錄系統(tǒng)后,可以修改數(shù)據(jù)庫的任何信息。主鍵: Id自增。</p><p>  表 3.2 用戶信息表</p><p>  *注:用戶信息表主要是對乘客信息的存儲,添加乘客信息

50、存入該表,用戶登錄時驗(yàn)證輸入信息是否正確,刪除和修改乘客信息時即刪除和修改該表中對應(yīng)的相關(guān)信息。主鍵:id自增 。</p><p>  3.2.2 機(jī)票信息</p><p>  機(jī)票信息包括訂票信息表、機(jī)票信息表、航班信息表、客機(jī)信息表和機(jī)票價格信息表,這些機(jī)票信息表用來存放與機(jī)票相關(guān)的所用操作信息如表3.3,表3.4,表3.5所示。</p><p><b&g

51、t;  表3.3客機(jī)信息表</b></p><p>  *注:客機(jī)信息表中存儲了每架客機(jī)的詳細(xì)信息,登錄系統(tǒng)后可以查詢該表中的相關(guān)信息。為管理人員統(tǒng)計(jì)客機(jī)數(shù)據(jù)提供信息。主鍵:id自增</p><p><b>  表3.4訂票信息表</b></p><p>  *注:訂票信息表中記錄了乘客訂票的信息,每有一位用戶訂票,就在該表中插入一

52、條信息,為管理員統(tǒng)計(jì)數(shù)據(jù)提供信息。主鍵:id自增。</p><p><b>  表3.5航線信息表</b></p><p>  *注:航班信息表中存儲了所有航班的相關(guān)信息,管理員可以對該表的信息進(jìn)行增刪改查等操作,其他人員只有查詢權(quán)限。主鍵:id自增。 </p><p><b>  第四章 詳細(xì)設(shè)計(jì)</b><

53、/p><p>  4.1系統(tǒng)部分時序圖</p><p>  時序圖是通過表示隨著時間的推移所發(fā)送的消息序列,來體現(xiàn)對象之間的動態(tài)協(xié)作關(guān)系,它主要是為了表示對象之間的交互過程,即對象之間發(fā)送消息的順序,以及引起的一系列事件。</p><p>  圖4.1登錄人員登錄系統(tǒng)時序圖</p><p>  圖4.1為登錄人員登錄系統(tǒng)主界面的時序圖,登錄人員先

54、在系統(tǒng)的登錄界面輸入登陸信息,系統(tǒng)對登錄信息進(jìn)行判斷,信息不正確則返回錯誤提示,信息正確便可進(jìn)入操作者所屬權(quán)限下要執(zhí)行的操作。該系統(tǒng)設(shè)定了二種登錄人員,管理員和乘客,并為他們設(shè)定了各自的訪問權(quán)限。</p><p>  圖4.2管理人員對信息進(jìn)行操作的時序圖</p><p>  圖4.2為登錄人員登錄系統(tǒng)后進(jìn)行各種操作的時序圖,登錄人員進(jìn)入操作界面先在操作界面選擇何種操作,更正后的信息會保存

55、在數(shù)據(jù)庫里。例如,選擇的是修改信息就會將更新后的信息顯示在頁面上。</p><p>  4.2系統(tǒng)的流程設(shè)計(jì)</p><p>  系統(tǒng)的流程設(shè)計(jì)對系統(tǒng)的編碼起著至關(guān)重要的地位,根據(jù)系統(tǒng)的功能要求,做出幾個重要的功能的流程圖。</p><p><b>  (1)用戶登錄模塊</b></p><p>  為了安全性,進(jìn)入本系

56、統(tǒng)需要(管理員)身份驗(yàn)證,只有用戶通過帳號與密碼一致性的驗(yàn)證,才能進(jìn)入系統(tǒng)。登錄情況有三種:一是帳號與密碼一致,二是帳號不存在,三是密碼不正確,每一種情況系統(tǒng)都會有提示。另外,用戶也可以選擇取消登錄。</p><p>  當(dāng)輸入帳號時,系統(tǒng)會自動搜索數(shù)據(jù)庫(使用SELECT函數(shù))辨別此用戶是“管理員“還是“用戶”,并且顯示出來,倘若是管理員,那么在用戶管理模塊中可以修改用戶密碼以及增加新一般用戶,否則只能修改密碼

57、。設(shè)計(jì)出的登錄流程圖如圖4.3所示。</p><p>  圖4.3系統(tǒng)登錄流程圖</p><p><b>  (2)訂票模塊</b></p><p>  該流程詳細(xì)描述用戶訂票,當(dāng)用戶發(fā)出訂票請求后,系統(tǒng)搜索數(shù)據(jù)庫中相應(yīng)的機(jī)票信息,如果沒找到則該機(jī)票已經(jīng)售完。如果找到相應(yīng)的機(jī)票信息,系統(tǒng)會將相關(guān)機(jī)票售予該用戶。</p><p

58、>  4.3系統(tǒng)功能的詳細(xì)實(shí)現(xiàn)</p><p>  下面介紹系統(tǒng)的詳細(xì)功能設(shè)計(jì)。</p><p><b>  用戶登錄</b></p><p>  系統(tǒng)登錄界面如圖4.4所示。在這里設(shè)置了一個圖片驗(yàn)證碼,可以更好的保護(hù)用戶的信息。當(dāng)用戶輸入正確的用戶賬號和密碼以及驗(yàn)證碼時,系統(tǒng)會跳轉(zhuǎn)到另一個界面,也就是主窗口。若用戶名密碼不正確,系統(tǒng)將給

59、出提示:“您輸入的用戶名和密碼不正確,請您重新輸入”,然后繼續(xù)重新輸入。</p><p>  圖4.4用戶登錄界面</p><p><b>  管理員主界面</b></p><p>  用戶登錄后,根據(jù)登錄的帳號進(jìn)行判斷:若是admin(管理員),則可以對系統(tǒng)中的所有信息進(jìn)行增加、刪除、修改和查詢等操作,如圖4.5所示。圖4.6所示的是管理員對

60、航班信息的管理。</p><p><b>  圖4.5主界面</b></p><p><b>  圖4.6查詢航班</b></p><p><b>  用戶訂票</b></p><p>  用戶登錄后,則可以進(jìn)行訂票和退票以及查詢機(jī)票信息等操作,圖4.7所示用戶跟據(jù)需要輸入機(jī)票

61、的查詢條件,從數(shù)據(jù)庫中找到相應(yīng)的機(jī)票,進(jìn)行確認(rèn)購買。會顯示購買成功。 </p><p><b>  圖4.7 查詢機(jī)票</b></p><p><b>  用戶退票</b></p><p>  當(dāng)用戶需要退票時,系統(tǒng)根據(jù)機(jī)票編號從數(shù)據(jù)庫查到關(guān)于此票的訂票信息如圖4.8所示,當(dāng)點(diǎn)退票時,數(shù)據(jù)庫中該票的信息會立刻更新,同時該

62、類機(jī)票的數(shù)量也會加一,以便及時將此票售予下位乘客。在退還票價時,要扣掉機(jī)票價格20%的手續(xù)費(fèi),如圖4.9所示。</p><p>  圖4.8 輸入乘客信息</p><p><b>  圖4.9退票界面</b></p><p>  圖4.10 退票金額</p><p>  4.4詳細(xì)設(shè)計(jì)中關(guān)鍵技術(shù)的實(shí)現(xiàn)</p>

63、<p>  以下主要介紹主要功能的關(guān)鍵技術(shù)的實(shí)現(xiàn)過程。</p><p>  4.4.1數(shù)據(jù)庫的連接</p><p>  數(shù)據(jù)庫連接的建立及關(guān)閉對系統(tǒng)而言是耗費(fèi)系統(tǒng)資源的操作。在多層結(jié)構(gòu)應(yīng)用程序環(huán)境中,這種耗費(fèi)資源的動作對系統(tǒng)性能的影響很大。在傳統(tǒng)的數(shù)據(jù)庫連接方式中,一個數(shù)據(jù)庫連接對象均對應(yīng)一個邏輯數(shù)據(jù)庫連接,每次操作都打開一個邏輯連接,使用完后再關(guān)閉連接,這樣的反復(fù)操作將造成

64、系統(tǒng)性能的急劇下降。</p><p>  數(shù)據(jù)庫連接池是應(yīng)用程序啟動時建立足夠的數(shù)據(jù)庫連接,并將這些連接組成一個連接池,由程序動態(tài)地對池中的連接進(jìn)行申請、使用和釋放,當(dāng)連接的數(shù)量大于連接池中的連接數(shù)時,可以動態(tài)地根據(jù)情況增加或減少池中的連接數(shù)。</p><p>  用JDBC(Java DataBase Connectivity)連接MySQL數(shù)據(jù)庫需要經(jīng)過下面幾個步驟:</p>

65、;<p> ?。?)建立Conn.java類;</p><p>  (2)載入JDBC驅(qū)動:Class.forName("org.gjt.mm.mysql.Driver");</p><p> ?。?) 建立與數(shù)據(jù)庫的連接:要建立與數(shù)據(jù)庫的連接,首先要創(chuàng)建指定數(shù)據(jù)庫的URL。利用DriverManager的getConnection方法連接數(shù)據(jù)庫的UR

66、L對象,URL格式如下:</p><p>  String url="jdbc:mysql://localhost/shop?user=root&password=123";</p><p>  (4) 調(diào)用執(zhí)行SQL語句。</p><p><b> ?。?) 結(jié)束連接。</b></p><p&g

67、t;<b>  編碼實(shí)現(xiàn)</b></p><p>  以下編碼是以管理員的管理為例</p><p>  Com.model:Admin.java</p><p>  public class Admin</p><p><b>  {</b></p><p>  privat

68、e int id;</p><p>  private String name;</p><p>  private String password;</p><p>  private String question;</p><p>  private String answer;</p><p>  privat

69、e String position;</p><p>  public Admin()</p><p><b>  {</b></p><p><b>  }</b></p><p>  public int getId() {</p><p>  return id;<

70、;/p><p><b>  }</b></p><p>  public void setId(int id) {</p><p>  this.id = id;</p><p><b>  }</b></p><p>  public String getName() {<

71、;/p><p>  return name;</p><p><b>  }</b></p><p>  public void setName(String name) {</p><p>  this.name = name;</p><p><b>  }</b></

72、p><p>  public String getPassword() {</p><p>  return password;</p><p><b>  }</b></p><p>  public void setPassword(String password) {</p><p>  thi

73、s.password = password;</p><p><b>  }</b></p><p>  public String getQuestion() {</p><p>  return question;</p><p><b>  }</b></p><p>

74、  public void setQuestion(String question) {</p><p>  this.question = question;</p><p><b>  }</b></p><p>  public String getAnswer() {</p><p>  return answe

75、r;</p><p><b>  }</b></p><p>  public void setAnswer(String answer) {</p><p>  this.answer = answer;</p><p><b>  }</b></p><p>  publ

76、ic String getPosition() {</p><p>  return position;</p><p><b>  }</b></p><p>  public void setPosition(String position) {</p><p>  this.position = position;

77、</p><p><b>  }</b></p><p>  public Admin(int id, String name, String password, String question,</p><p>  String answer, String position) {</p><p><b> 

78、 super();</b></p><p>  this.id = id;</p><p>  this.name = name;</p><p>  this.password = password;</p><p>  this.question = question;</p><p>  this.a

79、nswer = answer;</p><p>  this.position = position;</p><p><b>  }</b></p><p>  public Admin(String name, String password, String question,</p><p>  String an

80、swer, String position) {</p><p>  this.name = name;</p><p>  this.password = password;</p><p>  this.question = question;</p><p>  this.answer = answer;</p><

81、p>  this.position = position;</p><p><b>  }</b></p><p><b>  }</b></p><p>  Com.dao:AdminDao.java</p><p>  package com.dao;</p><p&g

82、t;  import java.util.ArrayList;</p><p>  import com.model.Admin;</p><p>  public interface AdminDao</p><p><b>  {</b></p><p>  public boolean addAdmin(Admin

83、 a);</p><p>  public ArrayList<Admin> listAdmin();</p><p>  public Admin getById(int id);</p><p>  public boolean delAdmin(int id);</p><p>  public boolean modify

84、Admin(Admin a);</p><p>  public ArrayList<Admin> listAdmin(int start,int count);</p><p>  public boolean authAdmin(String name,String password);</p><p>  public boolean authIn

85、fo(String name,String questio,String answer);</p><p>  public boolean modifyPass(String name,String pass);</p><p>  public Admin getByName(String name);</p><p><b>  }</b>

86、;</p><p>  Com.imp:AdminImp</p><p>  package com.imp;</p><p>  import java.sql.ResultSet;</p><p>  import java.util.ArrayList;</p><p>  import com.dao.Admi

87、nDao;</p><p>  import com.model.Admin;</p><p>  import com.model.Conn;</p><p>  public class AdminImp implements AdminDao</p><p><b>  {</b></p><p

88、>  public boolean addAdmin(Admin a)</p><p><b>  {</b></p><p>  String name=a.getName();</p><p>  String password=a.getPassword();</p><p>  String questio

89、n=a.getQuestion();</p><p>  String answer=a.getAnswer();</p><p>  String position=a.getPosition();</p><p>  String sql="insert into ap_admin(name,password,question,answer,posit

90、ion) values('"+name+"',password('"+password+"'),'"+question+"','"+answer+"','"+position+"')";</p><p>  int resul

91、t=Conn.Insert(sql);</p><p>  if(result==1)</p><p>  return true;</p><p><b>  else</b></p><p>  return false;</p><p><b>  }</b></

92、p><p>  public ArrayList<Admin> listAdmin()</p><p><b>  {</b></p><p>  String sql="select * from ap_admin";</p><p>  ResultSet rs=Conn.Select(s

93、ql);</p><p>  ArrayList<Admin> list=new ArrayList<Admin>();</p><p><b>  try</b></p><p><b>  {</b></p><p>  while(rs.next())</p>

94、;<p><b>  {</b></p><p>  int id=rs.getInt("id");</p><p>  String name=rs.getString("name");</p><p>  String password=rs.getString("passwo

95、rd");</p><p>  String question=rs.getString("question");</p><p>  String answer=rs.getString("answer");</p><p>  String position=rs.getString("position

96、");</p><p>  Admin a=new Admin(id,name,password,question,answer,position);</p><p>  list.add(a);</p><p><b>  }</b></p><p>  return list;</p><

97、;p><b>  }</b></p><p>  catch(Exception e)</p><p><b>  {</b></p><p>  return null;</p><p><b>  }</b></p><p><b>

98、  }</b></p><p>  public Admin getById(int id)</p><p><b>  {</b></p><p>  String sql="select * from ap_admin where id="+id;</p><p>  ResultSe

99、t rs=Conn.Select(sql);</p><p><b>  try</b></p><p><b>  {</b></p><p>  if(rs.next())</p><p><b>  {</b></p><p>  String n

100、ame=rs.getString("name");</p><p>  String password=rs.getString("password");</p><p>  String question=rs.getString("question");</p><p>  String answer=

101、rs.getString("answer");</p><p>  String position=rs.getString("position");</p><p>  Admin a=new Admin(id,name,password,question,answer,position);</p><p><b>

102、;  return a;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  return null;</p><p><b>  }</b></p><p>  catch(Ex

103、ception e)</p><p><b>  {</b></p><p>  return null;</p><p><b>  }</b></p><p><b>  }</b></p><p>  public boolean delAdmin

104、(int id)</p><p><b>  {</b></p><p>  String sql="delete from ap_admin where id="+id;</p><p>  int result=Conn.Delete(sql);</p><p>  if(result==1)&l

105、t;/p><p>  return true;</p><p><b>  else</b></p><p>  return false;</p><p><b>  }</b></p><p>  public boolean modifyAdmin(Admin a)<

106、/p><p><b>  {</b></p><p>  int id=a.getId();</p><p>  String name=a.getName();</p><p>  String password=a.getPassword();</p><p>  String question=

107、a.getQuestion();</p><p>  String answer=a.getAnswer();</p><p>  String position=a.getPosition();</p><p>  String sql="update ap_admin set name='"+name+"',pass

108、word=password('"+password+"'),question='"+question+"',answer='"+answer+"',position='"+position+"' where id="+id;</p><p>  int resu

109、lt=Conn.Update(sql);</p><p>  if(result==1)</p><p>  return true;</p><p><b>  else</b></p><p>  return false;</p><p><b>  }</b><

110、/p><p>  public ArrayList<Admin> listAdmin(int start,int count)</p><p><b>  {</b></p><p>  String sql="select * from ap_admin limit "+start+","+co

111、unt;</p><p>  ResultSet rs=Conn.Select(sql);</p><p>  ArrayList<Admin> list=new ArrayList<Admin>();</p><p><b>  try</b></p><p><b>  {</

112、b></p><p>  while(rs.next())</p><p><b>  {</b></p><p>  int id=rs.getInt("id");</p><p>  String name=rs.getString("name");</p>

113、<p>  String password=rs.getString("password");</p><p>  String question=rs.getString("question");</p><p>  String answer=rs.getString("answer");</p>&

114、lt;p>  String position=rs.getString("position");</p><p>  Admin a=new Admin(id,name,password,question,answer,position);</p><p>  list.add(a);</p><p><b>  }</b&

115、gt;</p><p>  return list;</p><p><b>  }</b></p><p>  catch(Exception e)</p><p><b>  {</b></p><p>  return null;</p><p>

116、;<b>  }</b></p><p><b>  }</b></p><p>  public boolean authAdmin(String name,String password)</p><p><b>  {</b></p><p>  String sql=&

117、quot;Select * from ap_admin where name='"+name+"' and password=password('"+password+"')";</p><p>  ResultSet rs=Conn.Select(sql);</p><p><b>  try&l

118、t;/b></p><p><b>  {</b></p><p>  if(rs.next())</p><p>  return true;</p><p><b>  else</b></p><p>  return false;</p><

119、p><b>  }</b></p><p>  catch(Exception e)</p><p><b>  {</b></p><p>  return false;</p><p><b>  }</b></p><p><b>

120、  }</b></p><p>  public boolean authInfo(String name,String question,String answer)</p><p><b>  {</b></p><p>  String sql="select * from ap_admin where name=&

121、#39;"+name+"' and tel='"+question+"' and answer='"+answer+"'";</p><p>  ResultSet rs=Conn.Select(sql);</p><p><b>  try</b></

122、p><p><b>  {</b></p><p>  if(rs.next())</p><p>  return true;</p><p><b>  else</b></p><p>  return false;</p><p><b>

123、;  }</b></p><p>  catch(Exception e)</p><p><b>  {</b></p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b>

124、</p><p>  public boolean modifyPass(String name,String pass)</p><p><b>  {</b></p><p>  String sql="update ap_admin set password=password('"+pass+"

125、9;) where name='"+name+"'";</p><p>  int result=Conn.Update(sql);</p><p>  if(result==1)</p><p>  return true;</p><p><b>  else</b>&l

126、t;/p><p>  return false;</p><p><b>  }</b></p><p>  public Admin getByName(String name)</p><p><b>  {</b></p><p>  String sql="se

127、lect * from ap_admin where name='"+name+"'";</p><p>  ResultSet rs=Conn.Select(sql);</p><p><b>  try</b></p><p><b>  {</b></p>

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論