數(shù)據庫課程設計酒店管理系統(tǒng)必過版_第1頁
數(shù)據庫課程設計酒店管理系統(tǒng)必過版_第2頁
數(shù)據庫課程設計酒店管理系統(tǒng)必過版_第3頁
數(shù)據庫課程設計酒店管理系統(tǒng)必過版_第4頁
數(shù)據庫課程設計酒店管理系統(tǒng)必過版_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機科學與工程學院課程設計報告設計名稱:《數(shù)據庫原理與應用》課程設計設計題目:酒店管理系統(tǒng)設計與開發(fā)學生學號:專業(yè)班級:學生姓名:學生成績:指導教師(職稱):完成時間:計算機科學與工程學院制說明:1、報告中的第一、二、三項由課程設計負責人在課程設計開始前填寫并發(fā)給每個學生;四、五兩項(中英文摘要)由學生在完成課程設計后填寫。2、學生成績由指導教師根據學生的設計情況給出各項分值及總評成績。3、指導教師評語一欄由指導教師就學生在整個課程設計期間的表現(xiàn)、設計完成情況、報告的質量等方面給出客觀、全面的評價。4、訓練報告正文字數(shù)應不少于3000字,也可由指導教師根據本門課程設計的具體情況酌情增加字數(shù)或內容。5、平時表現(xiàn)成績低于6分的學生,其課程設計成績按不及格處理。6、此表格式為武漢工程大學計算機科學與工程學院提供的基本格式(適用于學院各項課程設計),各教研室可根據本項課程設計的特點及內容做適當?shù)恼{整,并上報學院批準。\成績評定表學生姓名:學號:班級:類別合計分值各項分值評分標準實際得分合計得分備注平時表現(xiàn)1010遵守學習紀律,表現(xiàn)良好,積極完成課程設計任務,無曠課、遲到、早退等情況。設計完成情況4020按照要求完成設計內容,方案合理,功能完善,設計工作量飽滿,能運用專業(yè)知識和技能去發(fā)現(xiàn)與解決實際問題。20在設計過程中展現(xiàn)出了較強的學習能力、動手實踐能力、團隊協(xié)作能力和創(chuàng)新意識。報告質量5015報告格式規(guī)范,表述清晰,章節(jié)內容組織恰當。符號統(tǒng)一,圖表完備,符合規(guī)范要求。參考文獻數(shù)量在5篇以上,格式及引用符合要求。15報告內容翔實,結構嚴謹合理。課題背景介紹清楚,綜述充分。設計與實現(xiàn)等主要過程完整,論述具體透徹。能運用所學專業(yè)知識對問題加以分析和求解。無抄襲現(xiàn)象。20設計報告對整個設計過程進行了全面總結,體現(xiàn)了收獲,得出了有價值的結論或結果。總評成績指導教師評語指導教師:(簽字)日期:年月日一、課程設計目的、條件、任務和內容要求:《數(shù)據庫原理與應用》是專業(yè)基礎課,數(shù)據庫技術廣泛應用于計算機的多個發(fā)展方向上。在學好數(shù)據庫理論的同時,我們有必要掌握數(shù)據庫設計的方法?!稊?shù)據庫原理與應用》課程設計是數(shù)據庫教學中的實踐環(huán)節(jié),是對該課程知識的綜合應用。通過設計,使學生鞏固所學的理論基礎知識,掌握數(shù)據庫設計的全過程和方法,培養(yǎng)學生編寫技術文檔及開發(fā)數(shù)據庫應用系統(tǒng)的能力。提高學生獨立分析問題、解決問題的能力,鍛煉和加強學生的動手能力。設計任務書提供三個設計題目供學生選擇(原則上選擇每個題目的人數(shù)不超過10人)。在指導教師同意的情況下,學生也可以自己選擇感興趣的設計題目,以調動學生的積極性和創(chuàng)造性,給學生充分的自主空間。設計內容要求:(1)通過系統(tǒng)的功能分析和數(shù)據分析進行系統(tǒng)的功能模塊設計,數(shù)據庫的概念結構設計(E-R圖),數(shù)據庫的邏輯結構設計,數(shù)據庫中的表、視圖、存儲過程、函數(shù)的結構和定義。(2)報告還要包括程序的運行環(huán)境、開發(fā)環(huán)境、程序的詳細設計(主要功能實現(xiàn)的程序源代碼)。(3)后臺數(shù)據庫選用SQLSERVER,前臺開發(fā)工具不限,可自己選擇VB、VC、JAVA等都可以。建議條件允許的情況下選擇JAVA。(4)整個課程設計期間,要求學生必須與指導老師經常保持聯(lián)系,其中幾個主要階段都要經指導老師審閱,一是為了及時發(fā)現(xiàn)問題,防止出現(xiàn)原則錯誤,二是便于指導老師掌握學生獨立完成設計的情況。二、進度安排:數(shù)據庫原理課程設計共計3周內完成,共計20個學時。第l3周下達課程設計任務書,并對每個課程任務進行詳細的講解。并且第13周開始進行系統(tǒng)調研,完成需求分析,包括數(shù)據分析和功能分析;第14-16周完成數(shù)據庫設計、數(shù)據庫實施和應用程序設計;第16周周三下午7-8節(jié)檢查課程設計完成情況。提交報告時間:第16周周四下午。三、應收集資料及主要參考文獻:1.錢雪忠主編《數(shù)據庫原理及應用》[M]北京郵電大學出版社2007.8第二版2.BainT著《SQLserver2000數(shù)據倉庫與AnalysisServices》[M]中國電力出版社20033.王珊主編《數(shù)據庫系統(tǒng)概論》[M]高等教育出版社2014年第五版4.王世東.鄭力.張智海等.基于Web的模板式公文審批系統(tǒng)[J].計算機應用研究.2007.Vol.24(6):289-291.5.蔡劍景楠JavaWeb應用開發(fā):J2EE和Tomcat[M].北京:清華大學出版社,2004.6.陳雄華Spring企業(yè)級應用開發(fā)詳解[M]北京:電子工業(yè)出版社2009

四、摘要:現(xiàn)代化的酒店組織龐大、服務項目多、信息量大、要想提高效率、降低成本、提高服務質量和管理水平,進而促進經濟效益,必須利用電腦網絡技術處理賓館酒店經營數(shù)據,實現(xiàn)酒店現(xiàn)代化的信息管理。本次課程設計利用JSP語言和SQLServer2014以及apache-tomcat-8.0.24設計了一個簡單酒店管理系統(tǒng)數(shù)據庫的WEB應用。本次課程設計實現(xiàn)的酒店管理系統(tǒng)采用了MVC分層設計、B/S網絡結構模式、JDBC數(shù)據庫連接驅動和JSTL標簽等。采用這些技術設計出的系統(tǒng),具有層次分明、結構清晰、實現(xiàn)簡單、任務明確、便于修改和維護等優(yōu)點。該系統(tǒng)采用JSP應用開發(fā)技術,具有一些預定客房、查詢、增加客房、刪除客房、退房、預定等功能,而且本系統(tǒng)全部基于因特網,以JSP語言對網站進行開發(fā),注重用戶與網站的交互性,也便于功能的更新和拓展。關鍵字:酒店管理;JAVA;JDBC;數(shù)據庫五、Abstract:Modernhotelhavealargeorganization,manyservicesandmoreinformation.Inordertoimproveefficiency,reducecost,improveservicequalityandmanagementlevel,thuspromotingeconomicefficiency.Itmustbeusedcomputernetworktechnologydealwithhotelsoperatingdatatoachievethehotel'smoderninformationmanagement.ThecoursedesignusingJSPlanguage,SQLServer2014andapache-tomcat-8.0.24designedasimplehotelmanagementsystemdatabaseofWEBapplication.ThecoursedesignofhotelmanagementsystemusestheMVClayereddesign,B/Snetworkstructuremodel,theJDBCconnectiontothedatabasedriverandJSTLtagsandetc.Usingthesetechnicaldesignedofthesystem,hasthedistinct,clearstructure,simpleimplementation,taskclear,easytomodifyandmaintainandetc.ThesystemusesJSPapplicationdevelopmenttechnology,withsomepre-rooms,query,add,delete,check-out,reservationsandotherfunctions.AndallInternet-basedsystemtoJSPlanguagewebsitedevelopment,focusingonuserinteractionwiththesite,butalsoeasytoupdateandexpandthefunctionality.Keywords:Hotelmanagement;JAVA;JDBC;Database目錄TOC\o"1-2"\h\u目錄 I摘要 IIAbstract III第一章設計概述 11.1課題背景 11.2設計任務 11.3基本理論依據 21.4課題的目的和意義 2第二章設計簡介及設計方案論述 42.1開發(fā)環(huán)境簡介 42.2設計簡介及方案 52.3數(shù)據庫設計 7第三章詳細設計 123.1數(shù)據庫連接 123.2添加功能 13第四章設計結果及分析 154.1登錄功能測試及分析 154.2客房類型管理測試及分析 164.3客房信息管理測試及分析 194.4客房經營管理測試及分析 194.5用戶管理測試及分析 20總結 22致謝 23參考文獻 24摘要現(xiàn)代化的酒店組織龐大、服務項目多、信息量大、要想提高效率、降低成本、提高服務質量和管理水平,進而促進經濟效益,必須利用電腦網絡技術處理賓館酒店經營數(shù)據,實現(xiàn)酒店現(xiàn)代化的信息管理。本次課程設計利用JSP語言和SQLServer2014以及apache-tomcat-8.0.24設計了一個簡單酒店管理系統(tǒng)數(shù)據庫的WEB應用。本次課程設計實現(xiàn)的酒店管理系統(tǒng)采用了MVC分層設計、B/S網絡結構模式、JDBC數(shù)據庫連接驅動和JSTL標簽等。采用這些技術設計出的系統(tǒng),具有層次分明、結構清晰、實現(xiàn)簡單、任務明確、便于修改和維護等優(yōu)點。該系統(tǒng)采用JSP應用開發(fā)技術,具有一些預定客房、查詢、增加客房、刪除客房、退房、預定等功能,而且本系統(tǒng)全部基于因特網,以JSP語言對網站進行開發(fā),注重用戶與網站的交互性,也便于功能的更新和拓展。關鍵字:酒店管理;MVC;JDBC;數(shù)據庫AbstractModernhotelhavealargeorganization,manyservicesandmoreinformation.Inordertoimproveefficiency,reducecost,improveservicequalityandmanagementlevel,thuspromotingeconomicefficiency.Itmustbeusedcomputernetworktechnologydealwithhotelsoperatingdatatoachievethehotel'smoderninformationmanagement.ThecoursedesignusingJSPlanguage,SQLServer2014andapache-tomcat-8.0.24designedasimplehotelmanagementsystemdatabaseofWEBapplication.ThecoursedesignofhotelmanagementsystemusestheMVClayereddesign,B/Snetworkstructuremodel,theJDBCconnectiontothedatabasedriverandJSTLtagsandetc.Usingthesetechnicaldesignedofthesystem,hasthedistinct,clearstructure,simpleimplementation,taskclear,easytomodifyandmaintainandetc.ThesystemusesJSPapplicationdevelopmenttechnology,withsomepre-rooms,query,add,delete,check-out,reservationsandotherfunctions.AndallInternet-basedsystemtoJSPlanguagewebsitedevelopment,focusingonuserinteractionwiththesite,butalsoeasytoupdateandexpandthefunctionality.Keywords:Hotelmanagement;JAVA;JDBC;Database第一章設計概述1.1課題背景 隨著社會的進步、服務行業(yè)的不斷發(fā)展,賓館、酒店的服務行業(yè)的信息量和工作量的日益變大,傳統(tǒng)的人工管理方式已經遠遠不能滿足現(xiàn)代賓館酒店的管理需求,經分析傳統(tǒng)的方式有如下缺陷:記錄查詢不方便;數(shù)據維護效率低下;數(shù)據不易保管,容易丟失和出錯;管理酒店的資源信息不方便;酒店業(yè)務拓展不方便;管理復雜;對各種信息反應緩慢,容易喪失商機。為了彌補以上缺陷和考慮到旅游度假和商務旅行已經成為人們的一種生活需求,利用電腦網絡技術處理賓館酒店經營數(shù)據,已經成為提高企業(yè)管理效率,改善服務的關鍵。采用先進的計算機網絡通信技術改變傳統(tǒng)的酒店業(yè)務模式,實現(xiàn)酒店業(yè)務管理的自動化已經成為一種必然。1.2設計任務本課程設計設計出的酒店數(shù)據管理系統(tǒng)主要是為了解決傳統(tǒng)的酒店業(yè)務模式,實現(xiàn)現(xiàn)代化信息管理。在本課程設計中將采用MVC設計模式、Java編程語言、JSTL標簽、SQLServer數(shù)據庫及其開發(fā)工具、JSP網頁編程語言和Tomcat服務器。本課程設計的主要任務和要求是:用戶登錄。通過身份驗證后,進入系統(tǒng)首頁。未通過驗證,給出登錄錯誤信息。用戶為客人辦理入住登記。用戶可以為客戶進行退房操作。用戶可以查詢住店客人的各種相關的詳細信息。用戶可以對酒店的客房類型進行操作。包括對新客房類型的添加和對原客房類型的修改??梢詫频甑姆块g進行操作。對新房間的增、刪、改??梢詫频昕头繝顟B(tài)進行修改操作??蔀榭腿诉M行房間的預定操作??稍O定條件對酒店客房信息進行查詢,如客房房態(tài)、客房預訂情況等。用戶可修改登錄密碼。1.3基本理論依據 酒店信息化管理,就是將原先用紙質材料保存的數(shù)據通過數(shù)據庫進行存儲。利用數(shù)據庫進行數(shù)據管理有如下優(yōu)點:實現(xiàn)數(shù)據共享;減少數(shù)據冗余度;數(shù)據獨立性;數(shù)據實現(xiàn)集中控制;數(shù)據一致性和可維護性,以確保數(shù)據的安全性和可靠性;故障恢復。通過數(shù)據庫還只能進行數(shù)據的存儲,而且需要通過SQL語句進行操作。顯然,這對于非專業(yè)人員來說,并不是一件簡單的事,因為對于數(shù)據庫進行操作需要對數(shù)據庫中所建立的表以及他們之間的邏輯關系有一定的了解,才能對數(shù)據庫進行操作,而且不當?shù)牟僮鲿茐臄?shù)據庫的安全性,所以需要開發(fā)相關的應用或軟件進行操作,軟件和應用具有直觀的界面,容易理解和操作。在本次課程設計中開發(fā)的是一個基于因特網的WEB應用,WEB應用程序的一個最大好處是用戶容易訪問應用程序。用戶只需要有瀏覽器即可,不需要再安裝其他軟件,就可以對數(shù)據庫進行操作。1.4課題的目的和意義 在市場經濟的激烈的競爭情況下,對酒店整個來說,多經營狀況起決定作用的是酒店的服務管理水平。如何利用先進的管理手段來提高酒店的管理水平成為酒店業(yè)務發(fā)展的當務之急。面對信息時代的機遇和挑戰(zhàn),利用科技手段提高酒店的管理無疑是一條行之有效的途徑。雖然計算機管理并不是酒店走向成功的關鍵元素,但它可以最大限度的發(fā)揮準確、快捷、高效等作用,對酒店的業(yè)務管理提供強有力的支持。總結歸納:計算機有三大優(yōu)勢:節(jié)省大量資源,提高效率;加快信息傳遞,保障信息安全;節(jié)省勞力,方便管理。從而給酒店行業(yè)帶來在線信息查詢,在線需要預定、在線業(yè)務處理等等遍歷,實現(xiàn)流暢的工作流銜接,幫助酒店有效的進行業(yè)務管理,釋放最大價值。第二章設計簡介及設計方案論述2.1開發(fā)環(huán)境簡介2.1.1EclipseEclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)。2.1.2Java語言 Java是由SunMicrosystems公司推出的Java面向對象程序設計語言(以下簡稱Java語言)和Java平臺的總稱。由JamesGosling和同事們共同研發(fā),并在1995年正式推出。Java最初被稱為Oak,是1991年為消費類電子產品的嵌入式芯片而設計的。1995年更名為Java,并重新設計用于開發(fā)Internet應用程序。用Java實現(xiàn)的HotJava瀏覽器(支持Javaapplet)顯示了Java的魅力:跨平臺、動態(tài)Web、Internet計算。從此,Java被廣泛接受并推動了Web的迅速發(fā)展,常用的瀏覽器均支持JavaApplet。另一方面,Java技術也不斷更新。Java自面世后就非常流行,發(fā)展迅速,對C++語言形成有力沖擊。。Java語言是當前最流行的網絡編程語言,與C++語言相比,有其特殊的優(yōu)點,如簡單性,平臺無關性、面對對象、分布式、安全性、支持多線程、健壯性、動態(tài)性等。2.1.3SQLServer數(shù)據庫 SQLServer是一個關系數(shù)據庫管理系統(tǒng)。它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,于1988年推出了第一個OS/2版本。在WindowsNT推出后,Microsoft與Sybase在SQLServer的開發(fā)上就分道揚鑣了,Microsoft將SQLServer移植到WindowsNT系統(tǒng)上,專注于開發(fā)推廣SQLServer的WindowsNT版本。Sybase則較專注于SQLServer在UNIX操作系統(tǒng)上的應用。SQLServer2000是Microsoft公司推出的SQLServer數(shù)據庫管理系統(tǒng),該版本繼承了SQLServer7.0版本的優(yōu)點,同時又比它增加了許多更先進的功能。具有使用方便可伸縮性好與相關軟件集成程度高等優(yōu)點,可跨越從運行MicrosoftWindows98的膝上型電腦到運行MicrosoftWindows2000的大型多處理器的服務器等多種平臺使用。本次課程設計使用的SQLServer2014。2.2設計簡介及方案2.2.1總體設計本系統(tǒng)采用MVC框架進行分層設計,MVC全名是ModelViewController,是模型(model)—視圖(view)—控制器(controller)的縮寫,是一種軟件設計典范,用一種業(yè)務邏輯、數(shù)據、界面顯示分離的方法組織代碼,將業(yè)務邏輯聚集到一個部件里面。在本系統(tǒng)中,視圖用JSP頁面實現(xiàn),控制器用Servlet和Filter實現(xiàn),其中Filter用于實現(xiàn)安全控制,比如訪問頁面只能從登錄頁面進行登錄并且成功登錄后才能進行訪問,業(yè)務邏輯用Java代碼實現(xiàn),主要過程如下圖2.1所示。用戶用戶Servlet(C)JSP頁面(V)業(yè)務邏輯方法(M)數(shù)據庫輸入顯示業(yè)務處理請求返回處理結果調用業(yè)務邏輯方法返回結果數(shù)據庫操作Filter進行安全控制(C)圖2.1本系統(tǒng)的MVC分層模型 在圖2.1中,用戶通過瀏覽器訪問JSP頁面,通過頁面上的功能控件提交業(yè)務請求到控制層,控制層通過區(qū)分不同的業(yè)務請求調用不同的業(yè)務邏輯處理方法,業(yè)務邏輯處理通過對數(shù)據庫的操作,得到結果并傳送到控制層,控制層將處理結果通過JSP頁面顯示給用戶,這樣就完成了一次完整的業(yè)務處理過程。這個過程對用戶來說是透明的,簡化了用戶操作,頁面的顯示方式,便于用戶理解和操作。 JSP頁面采用JSTL標簽,使得JSP頁面代碼中沒有出現(xiàn)一行Java代碼,與HTML標簽保持了一致,便于JSP頁面的查看、修改以及編寫。JSP標準標簽庫(JSPStandardTagLibrary,JSTL)是一個實現(xiàn)Web應用程序中常見的通用功能的定制標記庫集,這些功能包括迭代和條件判斷、數(shù)據管理格式化、XML操作以及數(shù)據庫訪問。JSTL具有如下優(yōu)點:在應用程序服務器之間提供了一致的接口,最大程度的提高了WEB應用在各應用服務器之間的移植。簡化了JSP和WEB應用程序的開發(fā)。2.2.2功能設計酒店管理系統(tǒng)根據酒店的運行管理方式以及課程設計要求,可分析出酒店管理系統(tǒng)的功能圖為如下圖2.2所示。酒店管理系統(tǒng)客房經營管理客房經營管理登錄注冊管理客房信息管理客房類型管理登錄注冊管理預定/退訂查詢記錄查詢客房客房刪除客房修改新增客房預定/退訂查詢記錄查詢客房客房刪除客房修改新增客房新增類型新增類型修改密碼修改密碼類型修改類型修改類型刪除類型刪除入住/退房入住/退房圖2.2酒店管理功能圖2.3數(shù)據庫設計2.3.1數(shù)據庫概念設計 通過對酒店的運行管理流程進行分析,該酒店管理流程中,旅客、客房以及客房類型是實體,由于還需要管理人員,所以管理人員也是實體,由此可以的出該系統(tǒng)的E-R圖,如下圖2.3所示用戶用戶namepass圖2.3數(shù)據庫系統(tǒng)E-R圖2.3.2數(shù)據庫物理結構設計由圖2.3可以得出該系統(tǒng)的物理結構如下:創(chuàng)建數(shù)據庫旅客信息表房間信息表房間類型表根據實際需求需要創(chuàng)建視圖2.3.3數(shù)據庫邏輯結構設計 由2.3.2節(jié)的相關信息,可以建立如下邏輯結構表。表2-1旅客信息表列名數(shù)據類型長度能否為空說明姓名varchar20否姓名證件類型varchar10否證件類型證件號varchar20否證件ID(主鍵)電話varchar20是電話表2-2房間類型表列名數(shù)據類型長度能否為空說明客房類型varchar20否客房類型(主鍵)面積float4否客房面積床位int4否床位價格float4否價格折扣float4是折扣表2-3房間信息表列名數(shù)據類型長度能否為空說明房間號Int4否房間號(主鍵)狀態(tài)char2否狀態(tài)客房類型varchar20否客房類型(外鍵)表2-4入住表列名數(shù)據類型長度能否為空說明證件號varchar20否證件ID(外鍵)(主屬性)證件類型varchar10否證件類型(外鍵)(主屬性)房間號int4否房間號(外鍵)(主屬性)入住時間varchar50否入住時間離開時間varchar50否退房時間列明數(shù)據類型長度能否為空說明用戶名varchar50否用戶名,主鍵密碼varchar50否密碼表2-5登陸員表2.3.4數(shù)據庫建表 本系統(tǒng)通過UI界面建立數(shù)據庫,而后通過SQL語句進行建表和視圖以及建立登錄該系統(tǒng)的SQL賬戶,主要SQL語句如下:建立旅客信息表createtable旅客信息(姓名varchar(20)notnull,證件類型varchar(10)notnull,證件號varchar(20)notnull,電話varchar(20)null,primarykey(證件號,證件類型));建立房間類型表createtable房間類型(客房類型varchar(20)notnullprimarykey,面積floatnotnull,床位intnotnull,價格floatnotnull,折扣floatnull,);建立房間信息表createtable房間信息(房間號intnotnullprimarykey;狀態(tài)char(2)notnull,客房類型varchar(20)notnull,foreignkey(客房類型)references房間類型(客房類型));建立入住表createtable入住(證件號varchar(20)notnull,證件類型varchar(10)notnull,房間號intnotnull,入住時間varchar(50)null,離開時間varchar(50)null,primarykey(證件號,證件類型,房間號),foreignkey(證件號,證件類型)references旅客信息(證件號,證件類型),foreignkey(房間號)references房間信息(房間號));建立管理員表createtable管理員(namevarchar(50)notnullprimarykey,passvarchar(50));(6)SQL賬戶sp_addlogin'hotel','hotel','HOTEL';gosp_grantdbaccess'hotel','hotel';gosp_addrolememberdb_owner,'hotel';2.3.5數(shù)據庫關系圖如下圖2.4所示。圖2.4數(shù)據庫關系圖第三章詳細設計3.1數(shù)據庫連接 數(shù)據庫的連接主要是通過JDBC進行連接,JDBC是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關系數(shù)據庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數(shù)據庫開發(fā)人員能夠編寫數(shù)據庫應用程序。具體代碼如下:packagedb;importjava.sql.*;publicclasssql{ publicstaticStringdriverName; publicstaticStringdbURL; publicstaticStringuserName; publicstaticStringuserPwd; publicstaticConnectiondbconn; publicbooleanflag=false; publicsql() { driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; dbURL="jdbc:sqlserver://:1433;DatabaseName=HOTEL"; } publicConnectionSqlOpen(Stringname,Stringpass)//建立連接 { userName=name; userPwd=pass; try { Class.forName(driverName); System.out.println("加載驅動成功!"); }catch(Exceptione){ e.printStackTrace(); System.out.println("加載驅動失?。?); returnnull; } try{ dbconn=DriverManager.getConnection(dbURL,userName,userPwd); this.flag=true; System.out.println("連接數(shù)據庫成功!"); }catch(Exceptione) { e.printStackTrace(); System.out.print("SQLServer連接失敗!"); this.flag=false; returnnull; } returndbconn; } publicbooleanSqlClose()//關閉數(shù)據庫連接 { try{ dbconn.close(); }catch(Exceptione) { System.out.println("關閉失敗"); returnfalse; } returntrue; }}3.2添加功能if(conn.executeSql("insertinto酒店信息表values('"+身份證號.getText().toString()+"','"+姓名.getText().toString()+"','"+證件類型.getText().toString()+"','"+房間號.getText().toString()+"','"+聯(lián)系電話.getText().toString()+"','"+房型.getText().toString()+"','"+客房狀態(tài).getText().toString()+"','"+入住時間.getText().toString()+"')")){JOptionPane.showMessageDialog(null,"添加成功","溫馨提示",JOptionPane.INFORMATION_MESSAGE);mf.freshTable("select*from酒店信息表"); 身份證號.setText("");姓名.setText("");證件類型.setText("");房間號.setText("");聯(lián)系電話.setText("");房型.setText("");客房狀態(tài).setText("");入住時間.setText("");}else{JOptionPane.showMessageDialog(null,"添加失敗","溫馨提示",JOptionPane.INFORMATION_MESSAGE);}第四章設計結果及分析4.1登錄功能測試及分析用戶登錄首先需要進入登錄頁面,進行登錄,而且由于過濾器的存在用戶在未登錄是只能訪問登錄頁面,不然會跳出請先登錄的提示,點擊確認之后會自動跳轉到登錄頁面,具體結果如下圖4.1、圖4.2所示,從登錄界面登錄失敗后將出現(xiàn)圖4.3的頁面,當用戶名和密碼正確時,將出現(xiàn)圖4.4所示頁面。圖4.1訪問控制圖圖4.4主界面圖4.2客房類型管理測試及分析 點擊主界面右側的數(shù)據編輯按鈕,將進入如圖4.5所示的頁面,出現(xiàn)功能選擇按鈕,然后單擊確定按鈕,將出現(xiàn)如圖4.6所示界面。點擊表中的修改,將跳轉到修改頁面,可以修改客房的類型,如圖4.8所示。點擊表中的刪除,可以刪除所在行的客房,限于篇幅就不貼出結果圖了。圖4.5房間類型管理界面圖4.6搜索結果圖4.7新增客房類型圖4.8客房類型更新4.3客房信息管理測試及分析點擊主界面上的客房信息管理按鈕將進入如圖4.9所示的頁面,在圖4.9中,可以同表上的搜索框,按客房狀態(tài)進行搜索。點擊表中的添加新房間按鈕將進入如圖4.10所示的頁面,可以進行新客房的添加,客房類型可以通過下列類表進行選擇,客房的初始狀態(tài)為“空”。表中的“修改”和“刪除”分別對應不同的功能,限于篇幅,就不截圖了。4.4客房經營管理測試及分析點擊主界面的添加酒店信息按鈕,將進入如圖4.10所示界面,然后點擊表中的添加可以進行客房的預定,如圖4.11所示,客房的預定和直接入住都需要登錄信息。在進行客房預定或直接入住時,如果入住日期或離開日期錯誤,將給出錯誤提示信息,如圖4.12所示。當客房被預定之后,預定按鈕將變成退訂按鈕,當客房已經入住時,將不能被預定。點擊退訂按鈕時將進入圖4.13的確定是否退訂的頁面,當點擊退房是將進入圖4.14所示的確定是否退房并結賬的頁面。點擊服務記錄查詢,可以看到旅客的住房和預定信息,如圖4.15所示。圖4.10客房經營管理圖4.11客房預定4.5用戶管理測試及分析 點擊主界面中的添加用戶按鈕,將會顯示如圖4.12所示界面,輸入錯誤時,將顯示如圖4.13所示錯誤提示信息,當輸入正確,打印出添加正確,圖4.13所示的錯誤提示信息,當修改成功時將顯示圖4.14所示信息。圖4.12添加用戶圖4.13添加失敗提示圖4.14添加用戶成功總結通過這次的數(shù)據庫與程序設計課程設計的訓練,初步了解了數(shù)據庫的設計方法和Java如何訪問數(shù)據庫并進行數(shù)據庫的后臺編程。這次設計我用到了MVC模式的設計和JSTL標簽的使用,還有課堂上沒有講過的Java,雖然一開始感覺很陌生,但是到最后還是都慢慢掌握了。通過參照老師所給的例子,了解了很多Java方面的知識,比如如何訪問打開數(shù)據庫使用JDBC,如何運用Elicpsec等,這些知識都是第一次接觸,經過多次運用之后,對它們都有所深入的了解,掌握如何運用它們。另外數(shù)據庫設計方面,通過此次訓練能力也得到了稍微的提高,這也是第一次獨立設計數(shù)據庫,所以一開始有好多設計不完善的地方,有幾次都是不得不重新來過,后來經過老師的指點后,數(shù)據庫表的設計才有所完善,同時也積累了些數(shù)據庫設計的經驗。此次設計的酒店管理系統(tǒng)實現(xiàn)的功能還很有限,都是些基本的功能,還有很多改進完善的地方,比如分頁查詢,頁面美化等,這些功能等以后再添加了,因為這次課程設計時間有限,所以完成的功能也就很有限,但感覺收獲很大,很有成就感! 致謝非常感謝學院領導和老師給我們安排這一次的課程設計,這一次的課程設計鍛煉了我的編程能力,讓我熟悉了對數(shù)據庫的操作。通過本次課程設計,讓我熟悉了C/S模式的應用開發(fā),學會了客戶服務設計思路和JSTL標簽的使用。這次課程設計也讓我認識到,計算機其實也是一門注重實踐的課程,因為很多東西只有通過自己親手去實現(xiàn),才會體會其中的奧妙和樂趣。參考文獻[1]五金舟等.Java程序設計.北京:清華大學出版社,2014.[2]孫宇霞等.JavaWeb編程從基礎到應用.北京:清華大學出版社,2014.[3]向勁松,韓最蛟等.Java程序設計基礎與實訓教程.成都:西南財經大學出版社,2013.[4][美]RogersCadenhead.Java編程入門經典.4版.梅興文譯.北京:人民郵電出版社,2007.[5]陳軼,姚.Java程序設計實驗指導.北京:清華大學出版社,2006.[6]王路群.Java高級程序設計.北京:中國水利水電出版社,2006.[7]吳其慶.Java程序設計實例教程.北京:冶金工業(yè)出版社,2006.[8]施霞萍等.Java程序設計教程.2版.北京:機械工業(yè)出版社,2006.附錄:主要程序代碼sql.javapackagedb;importjava.sql.*;publicclasssql{ publicstaticStringdriverName; publicstaticStringdbURL; publicstaticStringuserName; publicstaticStringuserPwd; publicstaticConnectiondbconn; publicbooleanflag=false; publicsql() { driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; dbURL="jdbc:sqlserver://:1433;DatabaseName=HOTEL"; } publicConnectionSqlOpen(Stringname,Stringpass)//建立連接 { userName=name; userPwd=pass; try { Class.forName(driverName); System.out.println("加載驅動成功!"); }catch(Exceptione){ e.printStackTrace(); System.out.println("加載驅動失?。?); returnnull; } try{ dbconn=DriverManager.getConnection(dbURL,userName,userPwd); this.flag=true; System.out.println("連接數(shù)據庫成功!"); }catch(Exceptione) { e.printStackTrace(); System.out.print("SQLServer連接失??!"); this.flag=false; returnnull; } returndbconn; } publicbooleanSqlClose()//關閉數(shù)據庫連接 { try{ dbconn.close(); }catch(Exceptione) { System.out.println("關閉失敗"); returnfalse; } returntrue; }}main.jsp<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@tagliburi="/jsp/jstl/core"prefix="c"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><basehref="<%=basePath%>"><title>MyJSP'main.jsp'startingpage</title> <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"> <!-- <linkrel="stylesheet"type="text/css"href="styles.css"> --></head><c:iftest="${requestScope.flag}"> <script>alert("登錄成功");</script></c:if><c:choose> <c:whentest="${sessionScope.flag==null||sessionScope.flag==false}"> <script>alert("請先登錄");</script> </c:when></c:choose><body><tablewidth="100%"height="100%"border="0"> <tr> <tdcolspan="2"align="center"><h1>酒店管理系統(tǒng)后臺</h1></td> </tr> <tr> <td> <table> 歡迎<fontsize="5"color="red">${sessionScope.username}</font>登陸<br> <hrsize="1px"> <strong>數(shù)據庫關系圖</strong><hrsize="1px"> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/show_picture.jsp';"value="數(shù)據庫關系圖"><br> </tr><hrsize="1px"> <strong>客房類型</strong><hrsize="1px"> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/RoomTypeSer?Status=firstRoomtype';"value="客房類型管理"><br> </tr><hrsize="1px"> <strong>客房信息</strong><hrsize="1px"> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/RoomSer?Status=firstRoom';"value="客房信息管理"><br> </tr><hrsize="1px"> <strong>客房經營</strong><hrsize="1px"> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/RecordSer?Status=first';"value="客房經營管理"><br> </tr> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/RecordSer?Status=second';"value="服務記錄查詢"><br> </tr><hrsize="1px"> <strong>用戶管理</strong><hrsize="1px"> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/changePass.jsp';"value="修改密碼"><br> </tr> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="alert('登出成功');window.location.href='/Hotel/LoginOutSer?Status=Logout';"value="登出"><br> </tr> <hrsize="1px"> <br><br><br><br><br><br><br><br><br> </table> </td> <tdwidth="90%"height="100%"> <iframeid="f1"src="/Hotel/show_picture.jsp"height="100%"width="100%"align="center"scrolling="yes"

溫馨提示

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

評論

0/150

提交評論