酒店客房預定系統(tǒng)畢業(yè)設計論文

上傳人:1666****666 文檔編號:36995557 上傳時間:2021-11-01 格式:DOC 頁數(shù):39 大?。?.01MB
收藏 版權(quán)申訴 舉報 下載
酒店客房預定系統(tǒng)畢業(yè)設計論文_第1頁
第1頁 / 共39頁
酒店客房預定系統(tǒng)畢業(yè)設計論文_第2頁
第2頁 / 共39頁
酒店客房預定系統(tǒng)畢業(yè)設計論文_第3頁
第3頁 / 共39頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《酒店客房預定系統(tǒng)畢業(yè)設計論文》由會員分享,可在線閱讀,更多相關《酒店客房預定系統(tǒng)畢業(yè)設計論文(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、摘 要當今社會人員流動規(guī)模的不斷擴大,賓館數(shù)量的急劇增加,有關客房管理的各種信息量也在不斷成倍增長。面對龐大的信息量,就需要有酒店客房訂購管理系統(tǒng)來提高客房管理工作的效率。通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,從而減少了管理方面的工作量。本系統(tǒng)基于JSP來編寫酒店客房預定系統(tǒng),開發(fā)語言環(huán)境用My Eclipse。數(shù)據(jù)庫用SQL SERVER2005來連接系統(tǒng),即JSP + SQL SERVER2005模式完成整個設計工作。本系統(tǒng)全部基于Internet網(wǎng)絡,以JSP語言對網(wǎng)站進行開發(fā),注重用戶與網(wǎng)站的交互性。因此在這樣的背景下,針對當前Internet網(wǎng)絡發(fā)展趨勢來計酒店客房預

2、定系統(tǒng)就成為了當今應用軟件的首選體系結(jié)構(gòu)。關鍵詞:酒店客房預定系統(tǒng);系統(tǒng)設計;信息管理AbstractAlong with the undertake transfer of personnel scales unceasing expansion, guesthouse quantitys sharp growth, related guest room managements each kind of information content also in unceasingly doubled and re-doubled grows. Facing the huge informati

3、on content, needs to have the hotel guest room order management system management system to enhance the guest room supervisory work the efficiency. Through such system, we may achieve the information the standard management and the fast inquiry, thus reduced the management aspect work load.This syst

4、em compiles the hotel guest room predetermined system with the JSP language, the database with the SQL SERVER2005 connected system, namely JSP + the SQL SERVER2005 pattern completes the entire project work. This system based on the Internet network, carries on the development completely by the JSP l

5、anguage to the website, pays great attention the user and the website interactive. Therefore under such background, counts the hotel guest room predetermined system in view of the current Internet network trend of development to become now application softwares first choice architecture. Key words:

6、Hotel guest room; predetermined system; System design; Information management目 錄第1章 概述11.1 選題背景11.2 設計思想11.3 課題意義1第2章 項目概述32.1 可行性研究3第3章 需求分析53.1 功能需求53.2 性能需求5第4章 相關技術介紹64.1 JSP技術簡介64.2 JSP工作原理64.3 Eclipse 簡介64.4 SQLSERVER 2005 數(shù)據(jù)庫74.5 JDBC介紹84.6 系統(tǒng)數(shù)據(jù)庫連接94. 7系統(tǒng)數(shù)據(jù)表124.8 B/S模式與C/S模式的比較分析14第5章 系統(tǒng)分析165

7、.1 系統(tǒng)功能分析165.2 系統(tǒng)功能模塊175.3 處理流程設計17第6章 系統(tǒng)設計206.1 前臺模塊設計206.2 后臺模塊設計25第7章 系統(tǒng)調(diào)試與測試307.1 程序調(diào)試307.2 程序的測試30結(jié) 論33參考文獻34致 謝35 II第1章 概述1.1 選題背景隨著人員流動規(guī)模的不斷擴大,賓館數(shù)量的急劇增加,有關客房管理的各種信息量也在不斷成倍增長。面對龐大的信息量,就需要有酒店客房訂購管理系統(tǒng)來提高客房管理工作的效率。通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,從而減少了管理方面的工作量。傳統(tǒng)手工的客房信息管理,管理過程繁瑣而復雜,執(zhí)行效率低,并且易于出錯。通過這樣的系統(tǒng)

8、,我們可以做到信息的規(guī)范管理和快速查詢,實現(xiàn)了客房信息管理的系統(tǒng)化、規(guī)范化和自動化,這樣不僅減少了管理工作量,還提高了管理效率,降低了管理成本。酒店客房預定系統(tǒng)對賓館加強客房信息管理有著極其重要的作用,就一所客房數(shù)量較大的賓館來說,它的設計內(nèi)容非常復雜而且繁多,比如擁有客房信息管理、客房類別信息管理、預定信息管理等功能,而且設計的模塊也很多,比如信息統(tǒng)計模塊,報表設計模塊,模糊查詢模塊等等。1.2 設計思想本系統(tǒng)用JSP語言來編寫酒店客房預定系統(tǒng),數(shù)據(jù)庫用SQL SERVER2005來連接系統(tǒng),即JSP + SQL SERVER2005模式完成整個設計工作。本系統(tǒng)全部基于Internet網(wǎng)絡,

9、以JSP語言對網(wǎng)站進行開發(fā),注重用戶與網(wǎng)站的交互性。因此在這樣的背景下,針對當前Internet網(wǎng)絡發(fā)展趨勢來計酒店客房預定系統(tǒng)就成為了當今應用軟件的首選體系。1.3 課題意義隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。它已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設計、圖形圖像處理、教育培訓以及游戲娛樂等。各行各業(yè)的人們無須經(jīng)過特別的訓練就能夠使用電腦完成許許多多復雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需

10、求的軟件。今天,計算機已經(jīng)成為我們學習和工作的得力助手;計算機的價格已經(jīng)十分低廉,性能卻有了長足的進步。它已經(jīng)被應用于許多領域,計算機之所以如此流行的原因主要有以下幾個方面:首先,計算機可以代替人工進行許多繁雜的勞動;其次,計算機可以節(jié)省許多資源;第三,計算機可以大大的提高人們的工作效率;第四,計算機可以使敏感信息更加安全,等等。歸納起來,好處大約有以下幾點:1.可以在線預定酒店客房;2.只需一名錄入員即可操作系統(tǒng),節(jié)省大量人力;3.可以迅速查到所需信息?,F(xiàn)在我國還有許多的酒店客房的管理水平還停留在紙介質(zhì)的基礎上,這樣的機制已經(jīng)不能適應時代的發(fā)展,因為它浪費了許多人力和物力,采用傳統(tǒng)的紙介質(zhì)的

11、管理模式,還主要依賴于人力手工的操作,并歸檔編號保存,事后如需查閱,則要人工從浩瀚的資料中查找,既費時費力又容易出錯。在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎的信息管理所取代。這就急需有一套全新的高效的管理系統(tǒng),由計算機來代替手工完成酒店客房預定的管理。第2章 項目概述隨著酒店的經(jīng)營規(guī)模不斷擴大,有關酒店客房預定各種信息也成倍增長。面對龐大的信息量,有必要開發(fā)酒店客房預定系統(tǒng)來提高管理工作的效率。今天我們使用計算機對酒店客房預定與訂購信息進行管理,具有手工管理所無法比擬的優(yōu)點。通過這樣的系統(tǒng),可以做到信息的規(guī)范管理、科學統(tǒng)計和快速查詢,從而減少管理方面的工作量,有效地提高進銷存的工作效率

12、。2.1 可行性研究該階段通過對系統(tǒng)目標的初步調(diào)研和分析,提出可行性方案并進行論證。我們在這里主要從技術可行性、經(jīng)濟可行性和操作可行性等方面進行分析。2.1.1 經(jīng)濟可行性開發(fā)該系統(tǒng)所需的相關資料可以通過已存在的相關系統(tǒng)進行調(diào)查采集,所需的其他應用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)成本較低。而引進使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點,可以節(jié)省不少人力、物力及財力。所以,從經(jīng)濟的角度來看,該系統(tǒng)可行。2.1.2 技術可行性技術可行性要考慮現(xiàn)有的技術條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本網(wǎng)站用的是JSP開發(fā)語言,調(diào)試相對簡單,當前的計算機硬件配

13、置也完全能滿足開發(fā)的需求,因此在技術上是絕對可行的。軟件方面:由于目前單機模式相對發(fā)展成熟,故軟件的開發(fā)平臺成熟可行,它們速度快、容量大、可靠性能高、價格低,完全能滿足系統(tǒng)的需求。2.1.3運行可行性運行可行性是對組織結(jié)構(gòu)的影響,現(xiàn)有人員和機構(gòu)和環(huán)境對系統(tǒng)的適應性及人員培訓補充計劃的可行性。當前信息化技術已經(jīng)相當普及,各類操作人員水平都有相當?shù)母叨龋栽谶\行上是可行性的。本系統(tǒng)的開發(fā),是典型的Mis開發(fā),主要是對數(shù)據(jù)的處理,包括數(shù)據(jù)的收集,數(shù)據(jù)的變換,及數(shù)據(jù)的各種報表形式的輸出。采用流行的JSP+SQLSERVER 2000體系,已無技術上的問題。2.1.4 時間可行性從時間上看,在兩個月的

14、時間里學習相關知識,并開發(fā)網(wǎng)站,時間上是有點緊,但是不是不可能實現(xiàn),通過兩個多月的努力功能基本實現(xiàn)。2.1.5 法律可行性: 所有技術資料都為合法。 開發(fā)過程中不存在知識產(chǎn)權(quán)問題。 未抄襲任何網(wǎng)站,不存在侵犯版權(quán)問題。 開發(fā)過程中未涉及任何法律責任。綜上所述,本系統(tǒng)的開發(fā)從技術上、從經(jīng)濟上、從法律上都是完全可靠的。第3章 需求分析3.1 功能需求本系統(tǒng)需要實現(xiàn)前臺和后臺兩個平臺的管理。前臺模塊在用戶登錄后可以進行預訂房間;后臺需系統(tǒng)管理員進行客房管理、客房分類管理、客房預訂管理、用戶管理。3.2 性能需求服務起端的最低配置是由建立站點所需要的軟件來決定的,在最底配置的情況下,服務器的性能往往不

15、進人意,現(xiàn)在硬件性能已經(jīng)相當出色,而且價格也很便宜,因此通常應給服務器端配置高性能硬件。本機器的配置如下:處理器:Inter 酷睿i3或更高。內(nèi)存:512MB硬件空間:160GB題目主要采用的技術數(shù)據(jù)庫:Microsoft SQL Server 2005。編程語言:jsp,java。服務器:Tomcat6.0, jdk1.6開發(fā)環(huán)境:Windows7第4章 相關技術介紹4.1 JSP技術簡介JSP(Java Server Page服務器網(wǎng)頁)是從1998年開始出現(xiàn)的新技術。由Sun公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準,是基于JavaServlet以及整個Java體系的web開發(fā)

16、技術。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入腳本片段和JSP標記(Tag),構(gòu)成JSP網(wǎng)頁(*.jsp)。JSP技術為創(chuàng)建顯示動態(tài)生成內(nèi)容的web頁面提供了簡便的方法。JSP作為Java家族的一員,承襲了Java的特點,即跨平臺的特性,也即一次編譯,到處運行1。在國外,己經(jīng)大量使用JSP作為網(wǎng)絡應用程序的開發(fā)工具,而在國內(nèi),盡管JSP還不是主流開發(fā)技術,但是由于JSP的強大優(yōu)勢,許多網(wǎng)站都已經(jīng)準備轉(zhuǎn)向JSP,利用JSP來開發(fā)動態(tài)網(wǎng)站2。 4.2 JSP工作原理JSP是面向服務器的,因此支持任何瀏覽器。當Web服務器和JSP引擎遇到訪問JSP網(wǎng)頁的請求時,JSP引擎將請求對象

17、發(fā)送給服務器端的相關組件,比如JavaBean組件、Servlet或EJB等,然后由服務器端組件處理這些請示,可能需要從數(shù)據(jù)庫或數(shù)據(jù)存儲中檢索信息,然后服務器端組件再將響應對象返回JSP引擎。JSP引擎將響應對象傳遞給JSP頁面,根據(jù)JSP頁面的HTML格式完成數(shù)據(jù)編排,最后Web服務器和JSP引擎將格式化后的JSP頁面以HTML格式返回客戶瀏覽器。這就是當前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器Web服務器后臺數(shù)據(jù)庫的三層架構(gòu)模式。因為JSP所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端的僅是得到的結(jié)果。4.3 Eclipse 簡介目前,市場上計算機語言和開發(fā)工具有很多,但是 Eclipse 的以其穩(wěn)

18、定和與平臺無關的特性,從眾多編程工具中脫穎而出,成為很多 Java 程序員的首選。Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。雖然大多數(shù)用戶很樂于將 Eclipse 當作 Java IDE 來使用,但 Eclipse 的目標不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展

19、Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣東西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于 Java 開發(fā)工具。盡管 Eclipse 是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C+、COBOL 和 Eiffel 等編程語言的插件已經(jīng)可用,或預計會推出。Eclipse是一個開發(fā)源碼項目,它其實是Visual Age for Java的替代品,其界面跟先前的 Visual

20、Age for Java 差不多,但由于其開放源碼,任何人都可以免費得到,并可以在此基礎上開發(fā)各自的插件,因此越來越受人們關注。近期還有包括Oracle 在內(nèi)的許多 大公司也紛紛加入了該項目,并宣稱 Eclipse 將來能成為可進行任何語言開發(fā)的 IDE 集大成者,使用者只需下載各種語言的插件即可3。4.4 SQLSERVER 2005 數(shù)據(jù)庫SQL Server是由Microsoft開發(fā)和推廣的關系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個OS/2版本。 SQL Server近年來不斷更新版本,

21、1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用戶見面;SQL Server 2005是Microsoft公司于2005年推出的最新版本。 SQL Server 特點:1真正的客戶機/服務器體系結(jié)構(gòu)。 2圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。 3豐富的編程接口工具,為用戶進行程序設計提供了更大的選擇余地。 4SQL Server與Windows NT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產(chǎn)品集成。 5具有

22、很好的伸縮性,可跨越從運行Windows 95/98的膝上型電腦到運行Windows 2005的大型多處理器等多種平臺使用。 6對Web技術的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。 7SQL Server提供數(shù)據(jù)倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。4.5 JDBC介紹JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標準的API,據(jù)此可以構(gòu)建更高級的工

23、具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應用程序,同時,JDBC也是個商標名4。 有了JDBC,向各種關系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。Java數(shù)據(jù)

24、庫連接體系結(jié)構(gòu)是用于Java應用程序連接數(shù)據(jù)庫的標準方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標準的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標準方法。JDBC使用已有的SQL標準并支持與其它數(shù)據(jù)庫連接標準,如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現(xiàn)的接口5。JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠程數(shù)據(jù)庫企業(yè)也可以用 JDBC

25、 通過 Intranet 將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機有 Windows、 Macintosh 和UNIX 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加6。 企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然后將它放到服務器上,隨后任何人就都可得到最新版本的應用程序。對于商務上的銷售信息服務, Java 和JDBC 可為外部客戶提供獲取信息更新的更好

26、方法。簡單地說,JDBC 可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送 SQL 語句并處理結(jié)果。下列代碼段給出了以上三步的基本示例: Connection con = DriverManager.getConnection(jdbc:odbc:wombat,login, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1); while (rs.next() int x = rs.getInt(a); String s = rs.get

27、String(b); float f = rs.getFloat(c); 上述代碼對基于JDBC的數(shù)據(jù)庫訪問做了經(jīng)典的總結(jié)。4.6 系統(tǒng)數(shù)據(jù)庫連接JDBC技術是Java DataBase Connectivity的縮寫,它是SUN公司提供的一種支持基本SQL功能的通用的應用程序接口(Application Programming Interface)。它由一組用Java語言編寫的類和接口組成7。通過這些類和接口,程序開發(fā)人員可以在Java語言中方便地建立與數(shù)據(jù)庫的鏈接,通過執(zhí)行相應SQL語句,完成對不同數(shù)據(jù)庫的訪問。因此,開發(fā)人員使用JDBC API可以不必編寫一個應用程序來訪問Sybase數(shù)

28、據(jù)庫,又另外編寫一個應用程序去訪問Oracle數(shù)據(jù)庫,再寫一個應用程序訪問Microsoft的SQL Server。不但如此,使用Java語言編寫的應用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上開發(fā)不同的應用程序7。JDBC是一種通用低層的應用程序編程接口,它在不同的數(shù)據(jù)庫功能模塊的層次上提供一個統(tǒng)一的用戶界面。說JDBC是一處低級的API,是指它直接調(diào)用SQL命令,它比其他的一些數(shù)據(jù)庫連接API要容易使用些,但它有同樣可以作為更高級的,用戶辦面更友好的API或開發(fā)工具基礎。很多可視化的Java開發(fā)工具,如Visual Age For Java、Visual Caf、J+等都提

29、供了基于JDBC的更面向用戶的類和包,直接將關系數(shù)據(jù)庫的表或視圖映射為Java類,程序員通過可視化工具直接對Java對象進行操作,而真正需要的SQL調(diào)用則根據(jù)程序員發(fā)出的對對象的各種屬性、方法的操作來自動產(chǎn)生。另一種使用JDBC API 的方式為,用戶程序可以提供一個界面(如菜單等)讓用戶選擇對數(shù)據(jù)庫進行的操作,選中一個任務后,提示用戶輸入一些必要的信息,然后根據(jù)用戶的輸入產(chǎn)生相應的SQL命令以及Java程序。通過這處方式,用戶可以完成對數(shù)據(jù)庫的操作,即使他并不了解SQL語法以及JDBC編程8。數(shù)據(jù)庫訪問的三層結(jié)構(gòu)如圖5.1所示,瀏覽器端程序要訪問數(shù)據(jù)庫,首先通過中間件,然后由中間件對數(shù)據(jù)庫操

30、作權(quán)限進行認證,認證通過才能對數(shù)據(jù)庫進行操作。圖4-1 使用中間件的數(shù)據(jù)庫訪問三層結(jié)構(gòu)用戶對數(shù)據(jù)庫的存取權(quán)限認證是中間件中完成,對數(shù)據(jù)庫的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務器端,中間件對數(shù)據(jù)庫進行操作后,再將處理結(jié)果通過Web服務器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過加密算法進行加密后在網(wǎng)絡上傳輸,在中間件中進行解密認證,然后再進行數(shù)據(jù)庫的存取操作,數(shù)據(jù)庫存取權(quán)限的用戶名和密碼出現(xiàn)在位于服務器端的中間件中,這樣就更加安全。本系統(tǒng)采用的正是這樣的三層結(jié)構(gòu)的數(shù)據(jù)庫訪問模式。在三層模型中,命令將被發(fā)送到服務的”中間層”,而”中間層”將SQL語句發(fā)

31、送到數(shù)據(jù)庫。數(shù)據(jù)庫處理SQL語句并將結(jié)果返回”中間層”,然后”中間層”將它們返回用戶。其模型如圖4-2所示。圖4-2 JDBC的三層模型因為”中間層”可以進行對訪問的控制并協(xié)同數(shù)據(jù)庫的更新,并且可以使用一個易用的高層API,這個API可以由“中間層”進行轉(zhuǎn)換,轉(zhuǎn)換成低層的調(diào)用。所以在許多種情況下,三層模型可以提供更好的性能,本系統(tǒng)中所采用的就是此種模型。JDBC是JAVA應用程序與數(shù)據(jù)庫的溝通橋梁。它提供了三項服務功能:一、與數(shù)據(jù)庫建立連接。二、將SQL語句傳遞給數(shù)據(jù)庫。當JDBC要與數(shù)據(jù)庫建立連接前,首先,它必須先取得連接此數(shù)據(jù)庫的JDBC驅(qū)動程序,Class.forName()即是在執(zhí)行此

32、項工作。建立數(shù)據(jù)庫連接的第一步驟就是將JDBC驅(qū)動程序的類載入至JVM(Java VirtualL Machine)中,本系統(tǒng)中利用java.lang.Class類內(nèi)的forName()靜態(tài)函數(shù)依據(jù)指定的類名稱,將JDBC驅(qū)動程序載入進來。完成載入驅(qū)動程序的步驟后,必須使用java.sal.DriverManager類所提供的getConnection()靜態(tài)函數(shù),取得與數(shù)據(jù)庫間的連接對象9。此連接對象的類類型為java.sal.Connection,必須通過它才能將SQL指令傳遞給數(shù)據(jù)庫,而執(zhí)行結(jié)果也需要通過連接對象來取得。當取得連接對象后,還必須取得Statement對象才能對數(shù)據(jù)庫執(zhí)行S

33、QL指令。Statement主要實現(xiàn)兩個功能:執(zhí)行SQL語句以及取得執(zhí)行結(jié)果。在java.sql.Statement的sql對象中執(zhí)行查詢或修改命令的函數(shù)后傳回的是一個ResultSet 對象,這個對象提供了一個存取SQL執(zhí)行結(jié)果的管道,以便通過它將表格數(shù)據(jù)從數(shù)據(jù)庫中取出。每個Statement對象只能產(chǎn)生一個ResultSet 對象10。數(shù)據(jù)庫連接如圖4-3所示:圖4-3 數(shù)據(jù)庫的連接處理數(shù)據(jù)庫的連接處理具體實現(xiàn)如下:第一步,建立JDBCODBC橋sun.jdbc.odbc.JdbcOdbcDriver;第二步,橋建立不成功時的錯誤處理catch(ClassNotFoundException

34、 event)第三步,建立與數(shù)據(jù)庫的連接,并發(fā)送SQL查詢語句,將結(jié)果保存到rs對象中Con=建立JDBCODBC橋Sql=SQL查詢語句最后,執(zhí)行查詢Rs=返回結(jié)果SQL出錯處理catch(SQLException e1)。4. 7系統(tǒng)數(shù)據(jù)表客人信息表主要包括客戶ID、客戶姓名、性別、證件號、聯(lián)系電話,其中用戶ID為主鍵。 表4-1客人信息表字段名數(shù)據(jù)類型空/非空約束條件其他說明clientIdintnot nullIDENTITY(1,1) PRIMARY KEY客戶IDnamevarchar(20)not null客戶姓名sexvarchar(2)not null性別identityCa

35、rdvarchar(30)not null證件號phonevarchar(20)not null系電聯(lián)話 登錄信息表主要包用戶編號、用戶名、密碼和權(quán)限,用戶編號為主鍵。 表4-2登錄信息表字段名數(shù)據(jù)類型空/非空約束條件其他說明employeeIdintnot nullIDENTITY(1,1) PRIMARY KEY用戶編號userNamevarchar(20)not null用戶名passwordvarchar(20)not null密碼perintnot null權(quán)限房間類型表包括類型編號、類型名、房間價格、類型編號為主鍵。 表4-3房間類型表字段名數(shù)據(jù)類型空/非空約束條件其他說明type

36、Idintnot nullIDENTITY(1,1) PRIMARY KEY類型編號typeNamevarchar(20)not null類型名priceintnot null價格房間信息表包括房間ID、房間號、房間類型ID、房間狀態(tài)、其中房間ID為主鍵。表4-4房間信息表字段名數(shù)據(jù)類型空/非空約束條件其他說明roomIdintnot nullIDENTITY(1,1) PRIMARY KEY房間IDroomNumintnot null房間號typeIdintnot nullforeign key REFERENCES tbtype(typeId)房間類型IDstatusvarhar(10)n

37、ot null房間狀態(tài) 客房住戶登記信息表主要包括登記ID、房間號、客戶ID、預定入住日期、退房日期、等信息。登記ID為主鍵。 表4-5客戶住房登記信息表字段名數(shù)據(jù)類型空/非空約束條件其他說明checkIdintnot nullIDENTITY(1,1) PRIMARY KEY登記IDroomNumintnot nullforeign key REFERENCES tbroom(roomNum)房間號clientIdintnot nullforeign key REFERENCES tbclient(clentId)客戶IDstartDatedatenot null預訂入住日期lastDate

38、datenot null退房日期spevarchar(50)描述4.8 B/S模式與C/S模式的比較分析C/S模式主要由客戶應用程序(Client)、服務器管理程序(Server)和中間件(middleware)三個部件組成。客戶應用程序是系統(tǒng)中用戶與數(shù)據(jù)進行交互的部件。服務器程序負責有效地管理系統(tǒng)資源,如管理一個信息數(shù)據(jù)庫,其主要工作是當多個客戶并發(fā)地請求服務器上的相同資源時,對這些資源進行最優(yōu)化管理。中間件負責聯(lián)結(jié)客戶應用程序與服務器管理程序,協(xié)同完成一個作業(yè),以滿足用戶查詢管理數(shù)據(jù)的要求。 B/S模式是一種以Web技術為基礎的新型的MIS系統(tǒng)平臺模式。把傳統(tǒng)C/S模式中的服務器部分分解為

39、一個數(shù)據(jù)服務器與一個或多個應用服務器(Web服務器),從而構(gòu)成一個三層結(jié)構(gòu)的客戶服務器體系11。 第一層客戶機是用戶與整個系統(tǒng)的接口??蛻舻膽贸绦蚓喌揭粋€通用的瀏覽器軟件,如NetscapeNavigator,微軟公司的IE等。瀏覽器將HTML代碼轉(zhuǎn)化成圖文并茂的網(wǎng)頁。網(wǎng)頁還具備一定的交互功能,允許用戶在網(wǎng)頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個后臺就是第二層的Web服務器。 第二層Web服務器將啟動相應的進程來響應這一請求,并動態(tài)生成一串HTML代碼,其中嵌入處理的結(jié)果,返回給客戶機的瀏覽器。如果客戶機提交的請求包括數(shù)據(jù)的存取,Web服務器還需與數(shù)據(jù)庫服務器協(xié)同完成這一處

40、理工作。 第三層數(shù)據(jù)庫服務器的任務類似于C/S模式,負責協(xié)調(diào)不同的Web服務器發(fā)出的SQ請求,管理數(shù)據(jù)庫。 B/S模式的優(yōu)勢比較明顯。首先它簡化了客戶端。它無需象C/S模式那樣在不同的客戶機上安裝不同的客戶應用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機的硬盤空間與內(nèi)存,而且使安裝過程更加簡便、網(wǎng)絡結(jié)構(gòu)更加靈活。假設一個企業(yè)的決策層要開一個討論庫存問題的會議,他們只需從會議室的計算機上直接通過瀏覽器查詢數(shù)據(jù),然后顯示給大家看就可以了。甚至與會者還可以把筆記本電腦聯(lián)上會議室的網(wǎng)絡插口,自己來查詢相關的數(shù)據(jù)。其次,它簡化了系統(tǒng)的開發(fā)和維護。系統(tǒng)的開發(fā)者無須再為不同級別的用戶設計開發(fā)不同

41、的客戶應用程序了,只需把所有的功能都實現(xiàn)在Web服務器上,并就不同的功能為各個組別的用戶設置權(quán)限就可以了。各個用戶通過HTTP請求在權(quán)限范圍內(nèi)調(diào)用Web服務器上不同處理程序,從而完成對數(shù)據(jù)的查詢或修改?,F(xiàn)代企業(yè)面臨著日新月異的競爭環(huán)境,對企業(yè)內(nèi)部運作機制的更新與調(diào)整也變得逐漸頻繁。相對于C/S,B/S的維護具有更大的靈活性。當形勢變化時,它無須再為每一個現(xiàn)有的客戶應用程序升級,而只需對Web服務器上的服務處理程序進行修訂。這樣不但可以提高公司的運作效率,還省去了維護時協(xié)調(diào)工作的不少麻煩。如果一個公司有上千臺客戶機,并且分布在不同的地點,那么便于維護將會顯得更加重要。 最后,B/S特別適用于網(wǎng)上

42、信息發(fā)布,使得傳統(tǒng)的MIS的功能有所擴展。這是C/S所無法實現(xiàn)的。而這種新增的網(wǎng)上信息發(fā)布功能恰是現(xiàn)代企業(yè)所需的。這使得企業(yè)的大部分書面文件可以被電子文件取代,從而提高了企業(yè)的工作效率,使企業(yè)行政手續(xù)簡化,節(jié)省人力物力。 鑒于B/S相對于C/S的先進性,B/S逐漸成為一種流行的MIS系統(tǒng)平臺。各軟件公司紛紛推出自己的Internet方案,基于Web的財務系統(tǒng)、基于Web的ERP。一些企業(yè)已經(jīng)領先一步開始使用它,并且收到了一定的成效12。 B/S模式的新穎與流行,和在某些方面相對于C/S的巨大改進,使B/S成了MIS系統(tǒng)平臺的首選。第5章 系統(tǒng)分析5.1 系統(tǒng)功能分析(1) 系統(tǒng)界面采用Web方

43、式,界面應簡潔明了,用戶可方便瀏覽和查找客房信息。該系統(tǒng)的用戶有兩種類型:一是管理員,二是服務員,兩者應具有不同的權(quán)限。(2) 系統(tǒng)需對用戶登錄進行管理。使用各功能模塊時,系統(tǒng)應驗證用戶身份的有效性,否則要求用戶登錄。另外,允許用戶對自己的密碼進行修改。(3) 系統(tǒng)應提供客房的分類管理功能,可分類制訂價格、是否配備空調(diào)等客房類型,對不同標準的客房進行有效管理。系統(tǒng)可實現(xiàn)對客房信息的添加、刪除以及修改。 (4) 在進行訂房管理時,系統(tǒng)可以根據(jù)客房當前的狀態(tài)自動提示可用服務訂房。(5) 系統(tǒng)在各功能模塊的實現(xiàn)當中,提供多級分類檢索和組合搜索。(6) 系統(tǒng)的客戶端在Windows平臺下運行,服務器端

44、可在Windows平臺或UNIX平臺下運行。系統(tǒng)還需要有較好的安全性和可擴展性。5.2 系統(tǒng)功能模塊系統(tǒng)功能模塊展示了酒店客房預訂系統(tǒng)的布局,使該系統(tǒng)的功能一目了然。酒店客房預訂系統(tǒng)主要分為兩個模塊,分別為管理員模塊和用戶模塊。管理員模塊主要實現(xiàn)客房管理、客房類別管理、會員管理、信息查詢的功能。而用戶功能模塊實現(xiàn)了客房搜索、客房預訂、并且可以查看預訂記錄酒店客房預定系統(tǒng)客房預定客房搜索信息查詢會員管理客房類別管理客房管理查看預定記錄用戶管理員剩余房間查詢訂房信息查詢預定信息查詢圖5-1 功能模塊圖5.3 處理流程設計5.3.1 數(shù)據(jù)增加流程添加信息時,編號字段由系統(tǒng)自動生成,且不能修改,其他信

45、息由用戶輸入,之后對數(shù)據(jù)進行合法判斷,合法則寫入保存至數(shù)據(jù)庫,不合法則重新輸入數(shù)據(jù)。數(shù)據(jù)增加流程圖:開始自動生成編號輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖5-2 數(shù)據(jù)增加流程圖5.3.2 數(shù)據(jù)修改流程在修改信息時,先選中一條待修改的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫,不合法重新輸入。數(shù)據(jù)修改流程圖如圖5-3所示。開始選擇需要修改記錄輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖5-3 數(shù)據(jù)修改流程圖5.3.3 數(shù)據(jù)刪除流程當用戶選定一條記錄時,單擊刪除按鈕,會提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫相關內(nèi)容。數(shù)據(jù)刪除流程圖如圖5-4所示。開始選擇需要刪除記錄是否刪除更新數(shù)據(jù)庫圖5-4 數(shù)據(jù)修改流程

46、圖第6章 系統(tǒng)設計6.1 前臺模塊設計6.1.1 首頁用戶可以通過此界面觀看酒店信息圖6-1 酒店預定系統(tǒng)的首頁主界面主要鏈接和關鍵代碼如下: href=Index.jsp首頁 a href=ShowHotelInfo.action?star=用戶注冊 a href=ShowHotelInfo.action?star=用戶中心 a href=ShowHotelInfo.action?star=客房搜索 發(fā)送room_info.action這個請求調(diào)用AdminRoomAction這個類中的selectAllRoom方法查出所有房間信息,返回結(jié)果并顯示在ShowRoomInfo.jsp關聯(lián)的界面

47、上通過以下代碼來判斷用戶是否登陸:% if(null = userId | userId.equals()6.1.2 用戶注冊用戶可以通過此界面進行注冊,用戶可以輸入用戶名、密碼、姓名、年齡、住址、郵件等一系列個人信息。圖6-2 用戶注冊界面用戶注冊關鍵代碼:public String insertUser() throws Exception HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getRespons

48、e(); 實例化一個UserDAO類實例:IUserDAO userdao = new UserDAO()取到所有用戶的信息:List list = userdao.findAllUser(); request.getSession().setAttribute(userList, list); 遍歷每一個用戶信息驗證用戶是否已存在:ListIterator it = list.listIterator(); while (it.hasNext(); UserVOuservo2=it.next(); if(usrVo.getUserId().equals(uservo2.getUserId()

49、 request.setAttribute(user_exist, 用戶名已存在); request.getRequestDispatcher(UserRegister.jsp).forward(request, response); return ; 將該用戶寫入數(shù)據(jù)庫:boolean isSuccess = userdao.insertUser(userVo); if (isSuccess) request.getSession().setAttribute(uid, userVo.getUserId(); return SUCCESS; else return INPUT; 6.1.3

50、用戶登錄用戶登錄成功后能夠訂房和退房。圖6-3 用戶登錄界面登陸關鍵驗證代碼:public String login() throws Exception HttpServletRequest request = ServletActionContext.getRequest();取出用戶輸入的用戶名和密碼:String userId = request.getParameter(userId); String password = request.getParameter(password); UserDAO userdao = new UserDAO(); 驗證用戶輸入的用戶名和密碼是否和

51、數(shù)據(jù)庫所存的用戶名和密碼一致:boolean isSuccess = userdao.login(userId, password); if (isSuccess) request.getSession().setAttribute(user, userId); return SUCCESS; else request.getSession().setAttribute(user, ); return INPUT; 6.1.4 客房搜索通過此功能能夠查看房間信息,用戶可以通過此界面進行三種方式搜索:分別為按客房名稱搜索、按推薦指數(shù)搜索、按客房類別搜索。圖6-4 客房搜素界面客房搜索實現(xiàn)過程如下

52、:public List findAllRoom(String sql, PageBean pagebean) 定義一集合用來存放房間信息:ArrayList list = new ArrayList(); Connection conn = null; PreparedStatement pstm = null; ResultSet rs = null; 獲取到數(shù)據(jù)庫的連接:try pstm = conn.prepareStatement(sql); rs conn = DBConnection.getConnection(); for (int i = pagebean.getStartN

53、um(); i = pagebean.getEndNum(); i+) rs.absolute(i); 新建一個RoomVO 對象用來存放一個房間的信息:RoomVO roomVo = new RoomVO();roomVo.setRoomId(rs.getString(room_Id); roomVo.setStatus(rs.getString(room_Status);roomVo.setRoomName(rs.getString(room_Name); roomVo.setAvailable(rs.getString(room_Available); roomVo.setPrice(r

54、s.getFloat(room_Price);roomVo.setDiscountPrice(rs.getFloat(room_DiscoutPrice); roomVo.setHotelId(rs.getString(room_hotelId); 將房間對象加入到集合list中:list.add(roomVo); catch (Exception e) e.printStackTrace(); finally try catch (Exception e) e.printStackTrace(); return list; 6.1.5 客房預訂用戶通過此界面進行客房預訂。進行搜索之后,用戶就

55、會進入客房預訂界面,在確認預訂天數(shù)后就會顯示預訂成功。圖6-5 客房預定界面客房預訂實現(xiàn)過程如下:從數(shù)據(jù)庫中查詢登錄用戶的訂單:public List findReserveById(String id)定義一集合用來存放該訂單信息:List list = new ArrayList();Connection conn = null;PreparedStatement pstm = null; String sql = select *from T_Reserve where reserve_UserId= + id + ;獲取到數(shù)據(jù)庫的連接:try conn = DBConnection.g

56、etConnection(); pstm = conn.prepareStatement(sql); ResultSet rs = pstm.executeQuery();ReserveVO reservevo = null; 格式化日期:SimpleDateFormatsdf=newSimpleDateFormat(yyyy-MM-dd); while(rs.next() 創(chuàng)建一個ReserveVO對象存放信息:reservevo = new ReserveVO(); reservevo.setReserveId(rs.getString(reserve_Id); eservevo.setR

57、oomId(rs.getString(reserve_RoomId); reservevo.setUserId(rs.getString(reserve_UserId); reservevo.setPrice(rs.getFloat(reserve_Price); reservevo.setTotal(rs.getFloat(reserve_Total); Date startTime =rs.getDate(reserve_StartTime); Date endTime=rs.getDate(reserve_OverTime); reservevo.setStartTime(sdf.for

58、mat(startTime); reservevo.setOverTime(sdf.format(endTime); reserveVo.setStartTime(rs.getString(reserve_StartTime);reserveVo.setOverTime(rs.getString(reserve_OverTime); reservevo.setStatus(rs.getString(reserve_Status); 將訂單對象加入到集合list中:list.add(reservevo); catch (Exception e) e.printStackTrace(); fina

59、lly DBConnection.closeConnection(conn, pstm); return list; 6.2 后臺模塊設計6.2.1 管理員登錄管理員可以通過此界面進入管理員界面。管理員輸入用戶名,密碼就可以登錄后臺管理。圖6-6管理員界面實現(xiàn)管理員登錄功能的關鍵代碼為:public String login() throws Exception HttpServletRequest request = ServletActionContext.getRequest();取出用戶輸入的用戶名和密碼:String userId = request.getParameter(userId); String password = request.getParameter(password); UserDAO userdao = new UserDAO(); 驗證用戶輸入的用戶名和密碼是否和數(shù)據(jù)庫所存的用戶名和密碼一致:boolean isSuccess = userdao.login(userId, password); if (isSuccess) request.getSession().setAttribute(user, userId); return SUCCESS;

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!