基于Java的酒店客房網(wǎng)上管理系統(tǒng)設(shè)計與實現(xiàn)_第1頁
基于Java的酒店客房網(wǎng)上管理系統(tǒng)設(shè)計與實現(xiàn)_第2頁
基于Java的酒店客房網(wǎng)上管理系統(tǒng)設(shè)計與實現(xiàn)_第3頁
基于Java的酒店客房網(wǎng)上管理系統(tǒng)設(shè)計與實現(xiàn)_第4頁
基于Java的酒店客房網(wǎng)上管理系統(tǒng)設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計(論文)基于Java的酒店客房網(wǎng)上管理系統(tǒng)設(shè)計與實現(xiàn)教學(xué)系:信息工程系二0一三年六月畢業(yè)設(shè)計(論文)任務(wù)書學(xué)生姓名專業(yè)班級計算機(jī)1092班指導(dǎo)教師陳劍鋒工作單位華夏學(xué)院信息工程系設(shè)計(論文)題目基于Java的酒店客房網(wǎng)上管理系統(tǒng)設(shè)計與實現(xiàn)設(shè)計(論文)主要內(nèi)容:在如下的開發(fā)環(huán)境:Windows7、開發(fā)工具:MyEclipse,tomcat,JAVA開發(fā)環(huán)境及數(shù)據(jù)庫設(shè)計工具M(jìn)ySQL上開發(fā)一個酒店客房網(wǎng)上管理系統(tǒng)。酒店客房網(wǎng)上管理系統(tǒng)在現(xiàn)代酒店運營中,是一個重要的管理項目,實現(xiàn)酒店客房管理的規(guī)范化和自動化是十分必要的,本系統(tǒng)要求:使酒店客房管理變得簡單、高效;信息維護(hù)方便;運行穩(wěn)定、圖形用戶界面符合用戶的日常使用習(xí)慣,數(shù)據(jù)處理正確無誤。其主要功能包括:1.開房、退房:前臺能夠在線給顧客辦理開房與退房、續(xù)?。?.客房信息維護(hù):管理員能夠維護(hù)客房信息(添加、修改、刪除等);3.帳務(wù)匯總:按要求完成酒店客房銷售資金的統(tǒng)計;4.系統(tǒng)管理:完成用戶管理,如添加新用戶、修改用戶密碼等;要求完成的主要任務(wù)及其時間安排:要求完成的主要任務(wù):1.查閱資料,寫出不低于10篇參考文獻(xiàn)(其中至少有2篇外文文獻(xiàn))的參考文獻(xiàn)摘要;2.進(jìn)行方案論證;寫出開題報告;3.進(jìn)行總體設(shè)計和詳細(xì)設(shè)計;完成軟、硬件設(shè)計4.完成系統(tǒng)的聯(lián)調(diào);按系統(tǒng)設(shè)計要求,能獨立運行演示程序5.撰寫論文并準(zhǔn)備答辯;要求論文語言通順,整篇論文不少于10000漢字;時間安排:1、3月6日(第二周周三)前下設(shè)計任務(wù)書。2、3月22日(第四周末)前完成開題報告并提交開題報告給指導(dǎo)教師審閱、批復(fù)。3、3月18日~5月24日(第4至13周)為系統(tǒng)設(shè)計與撰寫論文時間。其間:(1)畢業(yè)設(shè)計的期中檢查定第8~9周;(2)文獻(xiàn)摘要的提交時間在4月12日(第7周)前;(3)5月20日~24日(第13周)指導(dǎo)教師初閱論文,學(xué)生修改論文;4、5月27日~5月31日(第14周)答辯小組內(nèi)交換評閱論文,學(xué)生制作PPT做答辯準(zhǔn)備。5、6月3日~6月6日(第15周)畢業(yè)答辯,具體時間再通知。必讀參考資料(至少給出3篇)Java編程思想(第4版)(美)??藸栔愱基i譯機(jī)械工業(yè)出版社Java從入門到精通魔力科技(MLDN)軟件實訓(xùn)中心人民郵電出版社輕量級JavaEE企業(yè)應(yīng)用實戰(zhàn)(第3版):Struts2+Spring3+Hibernate整合開發(fā)李剛電子工業(yè)出版社4、JavaScript權(quán)威指南弗蘭納根著機(jī)械工業(yè)出版社指導(dǎo)教師簽名:陳劍鋒教研室主任簽名:畢業(yè)設(shè)計(論文)開題報告系:信息工程系專業(yè):計算機(jī)科學(xué)與技術(shù)1、題目:基于Java的酒店客房網(wǎng)上管理系統(tǒng)設(shè)計與實現(xiàn)設(shè)計(論文)目的及意義(含國內(nèi)外的研究現(xiàn)狀分析)設(shè)計(論文)的目的:在這個信息發(fā)展飛速的社會,酒店客房網(wǎng)上管理系統(tǒng)是一個酒店經(jīng)營不可缺少的一個部分。它的功能對于酒店的經(jīng)營者和管理者來說都非常重要,酒店客房網(wǎng)上管理系統(tǒng)能夠讓用戶更加方便快捷的訂退房和續(xù)費,信息更加透明和豐富。本系統(tǒng)的主要目的是充分利用信息技術(shù)提高酒店客房網(wǎng)上管理水平、服務(wù)水平。酒店客房網(wǎng)上管理系統(tǒng)要實現(xiàn)住宿登記、退房結(jié)賬、續(xù)住、查詢統(tǒng)計等功能。將動態(tài)實時的住宿登記、續(xù)住等有機(jī)地聯(lián)系在一起,對酒店客房進(jìn)行全方位的管理,提高經(jīng)濟(jì)效益、提高服務(wù)質(zhì)量、提高工作效率及全面了解營業(yè)情況。設(shè)計(論文)的意義是(理論或?qū)嶋H):一直以來酒店客房管理人員使用傳統(tǒng)人工的方式管理酒店客戶資料,這種管理方式存在著許多缺點,如:效率低、保密性差,產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難,作為現(xiàn)代化的酒店是集客房、餐飲、通訊、娛樂,商務(wù)文化及其他各種服務(wù)與設(shè)施為一體化的消費場所,酒店組織龐大,服務(wù)項目多,信息量大,要想提高勞動生產(chǎn),降低成本,提高服務(wù)質(zhì)量和管理水平,進(jìn)而促進(jìn)經(jīng)濟(jì)效益,必須借助計算機(jī)來進(jìn)行現(xiàn)代化的信息管理,作為計算機(jī)應(yīng)用的一部分,使用計算機(jī)對酒店客戶信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高酒店客戶信息管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情。酒店客房網(wǎng)上管理信息系統(tǒng)面對強(qiáng)大的信息量可以輕松的管理,減少了在管理上面物力和人力,有利于酒店提高工作效率和酒店效益。面對龐大的信息量,酒店在正常運營中需要對客房資源、顧客信息、結(jié)算信息進(jìn)行管理,利用酒店客房管理信息系統(tǒng)及時了解保個環(huán)節(jié)中信息的變更,有利于提高管理的效率.通過這樣的系統(tǒng),可以做到信息的規(guī)范管理、需要統(tǒng)計和快速的查詢,從而減少在管理方面的工作量。提高經(jīng)濟(jì)效益、提高服務(wù)質(zhì)量、提高工作效率、全面了解營業(yè)情況、完善酒店內(nèi)部管理體制。3、設(shè)計(論文)任務(wù)、重點研究內(nèi)容、技術(shù)方案及進(jìn)度安排設(shè)計(論文)的任務(wù)是:本系統(tǒng)主要完成以下功能:開房、退房:前臺能夠在線給顧客辦理開房與退房、續(xù)住??头啃畔⒕S護(hù):管理員能夠維護(hù)客房信息(添加、修改、刪除等)。帳務(wù)匯總:按要求完成酒店客房銷售資金的統(tǒng)計。系統(tǒng)管理:完成用戶管理,如添加新用戶、修改用戶密碼等。系統(tǒng)功能模塊圖如下:酒店客房管理系統(tǒng)酒店客房管理系統(tǒng)開房退房系統(tǒng)管理客房信息管理續(xù)住開房退房系統(tǒng)管理客房信息管理續(xù)住數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計(論文)需要重點解決的問題是:本系統(tǒng)重點解決的內(nèi)容是:數(shù)據(jù)庫里面,表的結(jié)構(gòu)的設(shè)計,數(shù)據(jù)的調(diào)用、存取和修改的實現(xiàn)。服務(wù)器端,對前臺請求的處理,功能模塊的調(diào)用,頁面跳轉(zhuǎn)的實現(xiàn)。系統(tǒng)的開發(fā)環(huán)境,前臺頁面編寫。技術(shù)方案為:(1)關(guān)于數(shù)據(jù)庫的開發(fā)。數(shù)據(jù)庫用Mysql5.5服務(wù)器,它優(yōu)化的SQL查詢算法,有效地提高查詢速度,可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫,相當(dāng)?shù)姆奖?,與此同時,用JDBC來連接數(shù)據(jù)庫。建表包括系統(tǒng)用戶表、客房信息表、資金統(tǒng)計表等。用Myeclipse在后臺編寫Dao類操作數(shù)據(jù)庫,封裝添加、查詢、刪除數(shù)據(jù)的方法。(2)此方案的關(guān)鍵即是servlet。Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。它擔(dān)當(dāng)客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。這個過程為:客戶端發(fā)送請求至服務(wù)器端,服務(wù)器將請求信息發(fā)送至Servlet,Servlet生成響應(yīng)內(nèi)容并將其傳給服務(wù)器。響應(yīng)內(nèi)容動態(tài)生成,通常取決于客戶端的請求。然后服務(wù)器將響應(yīng)返回給客戶端。。所以應(yīng)該編寫servlet,處理請求,跳轉(zhuǎn)頁面,調(diào)用方法實現(xiàn)該有的功能。(3)本系統(tǒng)用java語言來編寫酒店客房管理系統(tǒng),數(shù)據(jù)庫用MySQL5.5服務(wù)器,網(wǎng)站用tomcat作為服務(wù)器,通過B/S模式完成整個設(shè)計工作。本系運用了JavaWeb技術(shù),前臺頁面用jsp、JavaScript技術(shù)來編寫。設(shè)計(論文)的進(jìn)度安排是(應(yīng)具體到哪一周):1、3月6日(第二周周三)前下設(shè)計任務(wù)書。2、3月22日(第四周末)前完成開題報告并提交開題報告給指導(dǎo)教師審閱、批復(fù)。3、3月18日~5月24日(第4至13周)為系統(tǒng)設(shè)計與撰寫論文時間。其間:(1)畢業(yè)設(shè)計的期中檢查定第8~9周;(2)文獻(xiàn)摘要的提交時間在4月12日(第7周)前;(3)5月20日~24日(第13周)指導(dǎo)教師初閱論文,學(xué)生修改論文;4、5月27日~5月31日(第14周)答辯小組內(nèi)交換評閱論文,學(xué)生制作PPT做答辯準(zhǔn)備。5、6月3日~6月6日(第15周)畢業(yè)答辯,具體時間再通知。4、參考文獻(xiàn):[1]《JAVA編程思想》BruceEckel著;機(jī)械工業(yè)出版社[2]《Tomcat與JavaWeb開發(fā)技術(shù)詳解》孫衛(wèi)琴,李洪成著;電子工業(yè)出版社[3]《Java網(wǎng)編程原理與JSPWeb開發(fā)核心技術(shù)》馬曉敏,肖明,姜遠(yuǎn)明,齊永波著;中國鐵道出版社[4]《JavaWeb開發(fā)詳解》孫鑫著;電子工業(yè)出版社5、指導(dǎo)老師意見指導(dǎo)教師簽名:目錄摘要 1ABSTRACT 21緒論 31.1研究背景 31.2系統(tǒng)開發(fā)的意義 31.3可行性分析 32技術(shù)介紹及開發(fā)環(huán)境 52.1JDBC技術(shù) 52.2Servlet技術(shù) 52.3JSP技術(shù) 52.4JavaBean應(yīng)用組件技術(shù) 62.5面向?qū)ο蠓治鲈O(shè)計思想 62.6設(shè)計模式和框架結(jié)構(gòu) 72.7mysql簡介 73系統(tǒng)設(shè)計 83.1需求分析 83.2模塊設(shè)計 93.2.1前臺模塊 103.2.2后臺模塊 113.3數(shù)據(jù)庫設(shè)計 123.4首頁設(shè)計 153.5前臺設(shè)計 163.5.1客戶信息及客房類型的查詢 173.5.2客房信息操作 173.6后臺設(shè)計 173.6.1客房管理系統(tǒng)后臺概述 173.6.2客房管理系統(tǒng)后臺實現(xiàn)過程 174系統(tǒng)調(diào)試 204.1功能測試 204.2可用性測試 204.3安全性試 215結(jié)束語 23致謝 24參考文獻(xiàn) 25附錄 26摘要在這個信息發(fā)展飛速的社會,酒店客房網(wǎng)上管理系統(tǒng)是一個酒店經(jīng)營不可缺少的一個部分。它的功能對于酒店的經(jīng)營者和管理者來說都非常重要,酒店客房網(wǎng)上管理系統(tǒng)能夠讓用戶更加方便快捷的訂退房和續(xù)費,信息更加透明和豐富。酒店客房管理系統(tǒng)可以實現(xiàn)對客房的科學(xué)化、規(guī)范化、查詢顧客情況、定房信息、以及結(jié)算信息等。有助于提高管理的效率,客房管理系統(tǒng)是根據(jù)某酒店對客房管理的實際情況進(jìn)行編寫的,主要目的是為了方便酒店對客房的實際情況進(jìn)行集中的查詢與管理工作,以提高整個酒店的工作。本系統(tǒng)用JAVAWEB技術(shù)來編寫,前臺頁面用jsp技術(shù)實現(xiàn),后臺數(shù)據(jù)庫則用mysql服務(wù)器,并編寫servlet處理頁面的請求,查詢數(shù)據(jù)庫,跳轉(zhuǎn)到頁面實現(xiàn)功能。該系統(tǒng)主要實現(xiàn)客房的預(yù)定、退房、續(xù)住、后臺客房信息的管理、系統(tǒng)信息管理等。關(guān)鍵詞:酒店客房;JAVAWEB;管理ABSTRACTIn

the

rapid

development

of

information

society,

hotel

rooms

online

management

system

plays

an

essential

role

in

hotel

operating

.Its

function

is

very

important

for

hotel

operators

and

managers,and

hotel

rooms

online

management

system

makesset-out

and

renewalmore

convenient

and

efficient

,information

more

transparent

and

rich

for

users.

Hotel

management

system

can

achieve

scientific

and

standardized

management

of

rooms,

and

makes

it

possible

to

query

the

customer

situation,

given

room,

as

well

as

billing

information,which

helps

to

improve

management

efficiency.

Room

manage-ment

system

is

compiled

according

to

the

actual

situation

of

a

hotel's

room

manage-ment

,and

the

main

purpose

is

to

facilitate

Centralized

tracking

and

management

workof

the

actual

situation

of

the

hotel

rooms

in

order

to

improve

theworkefficiency

of

the

entire

hotel

.

The

system

is

writen

through

Java

Web

technology,

the

front

page

is

achieved

by

JSP

technology

and

the

back-end

database

is

achieved

by

my

SQL

server,

and

it

complies

servlet

to

handle

the

page

request,

querys

the

database

,jumps

to

page

to

achieve

function.

The

system

is

mainly

to

achieve

room

reservations,

check-out,

renewals

and

information

management

of

backstage

room

and

system.Keywords:hotelrooms;JAVAWEB;management1緒論1.1研究背景酒店數(shù)量的急劇增加,有關(guān)客房管理的各種信息量也在不斷成倍增長。面對龐大的信息量,就需要有酒店客房訂購管理系統(tǒng)來提高客房管理工作的效率。通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,從而減少了管理方面的工作量。傳統(tǒng)手工的客房信息管理,管理過程繁瑣而復(fù)雜,執(zhí)行效率低,并且易于出錯。通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,實現(xiàn)了客房信息管理的系統(tǒng)化、規(guī)范化和自動化,這樣不僅減少了管理工作量,還提高了管理效率,降低了管理成本。酒店客房系統(tǒng)系統(tǒng)對酒店加強(qiáng)客房信息管理有著極其重要的作用,就一所客房數(shù)量較大的酒店來說,它的設(shè)計內(nèi)容非常復(fù)雜而且繁多,比如擁有客房信息管理、客房類別信息管理、預(yù)定信息管理等功能,而且設(shè)計的模塊也很多,比如用戶信息管理模塊、客房類型管理模塊、客房信息管理模塊、客房經(jīng)營管理模塊、客戶信息查詢模塊等等。1.2系統(tǒng)開發(fā)的意義一直以來酒店客房管理人員使用傳統(tǒng)人工的方式管理酒店客戶資料,這種管理方式存在著許多缺點,如:效率低、保密性差,產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難,作為現(xiàn)代化的酒店是集客房、餐飲、通訊、娛樂,商務(wù)文化及其他各種服務(wù)與設(shè)施為一體化的消費場所,酒店組織龐大,服務(wù)項目多,信息量大,要想提高勞動生產(chǎn),降低成本,提高服務(wù)質(zhì)量和管理水平,進(jìn)而促進(jìn)經(jīng)濟(jì)效益,必須借助計算機(jī)來進(jìn)行現(xiàn)代化的信息管理,作為計算機(jī)應(yīng)用的一部分,使用計算機(jī)對酒店客戶信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高酒店客戶信息管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情。酒店客房網(wǎng)上管理信息系統(tǒng)面對強(qiáng)大的信息量可以輕松的管理,減少了在管理上面物力和人力,有利于酒店提高工作效率和酒店效益。面對龐大的信息量,酒店在正常運營中需要對客房資源、顧客信息、結(jié)算信息進(jìn)行管理,利用酒店客房管理信息系統(tǒng)及時了解保個環(huán)節(jié)中信息的變更,有利于提高管理的效率.通過這樣的系統(tǒng),可以做到信息的規(guī)范管理、需要統(tǒng)計和快速的查詢,從而減少在管理方面的工作量。提高經(jīng)濟(jì)效益、提高服務(wù)質(zhì)量、提高工作效率、全面了解營業(yè)情況、完善酒店內(nèi)部管理體制。1.3可行性分析Javaweb技術(shù)的飛速發(fā)展使得網(wǎng)頁編程越來越豐富。本系統(tǒng)采用Javaweb,Jsp技術(shù)開發(fā)。依照B/S架構(gòu)設(shè)計,網(wǎng)上進(jìn)行編輯信息、查詢信息、刪除信息。前臺頁面用jsp可以輕松實現(xiàn)。數(shù)據(jù)庫用mysql建立,將用戶信息,客房信息,管理員信息存入數(shù)據(jù)庫的表中,方便管理。中間起銜接作用的是servlet,銜接數(shù)據(jù)庫和前臺界面,處理前臺界面的請求,訪問數(shù)據(jù)庫,修改或者查詢數(shù)據(jù),返回信息到別的界面,實現(xiàn)功能。2技術(shù)介紹及開發(fā)環(huán)境2.1JDBC技術(shù)在JavaWeb應(yīng)用開發(fā)中,數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的使用是不可缺少的。JDBC(JavaDatabaseConnectivity)是一種用于執(zhí)行

SQL語句的JavaAPI。它由一組用Java編程語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,使他們能夠用純JavaAPI來編寫數(shù)據(jù)庫應(yīng)用程序。簡單地說,JDBC可做三件事:(1)與數(shù)據(jù)庫建立連接;(2)發(fā)送

SQL語句;(3)處理結(jié)果。2.2Servlet技術(shù)Servlet是運行在服務(wù)器端的程序,可以被認(rèn)為是服務(wù)器端的applet。servlet被Web服務(wù)器(例如Tomcat)加載和執(zhí)行,就如同applet被瀏覽器加載和執(zhí)行一樣。servlet從客戶端(通過Web服務(wù)器)接收請求,執(zhí)行某種操作,然后返回結(jié)果。

Servlet的主要優(yōu)點包括:(1)Servlet是持久的。servlet只需Web服務(wù)器加載一次,而且可以在不同請求之間保持服務(wù)(例如一次數(shù)據(jù)庫連接)。(2)

Servlet是與平臺無關(guān)的。如前所述,servlet是用Java編寫的,它自然也繼承了Java的平臺無關(guān)性。(3)

Servlet是可擴(kuò)展的。由于servlet是用Java編寫的,它就具備了Java所能帶來的所有優(yōu)點。Java是健壯的、面向?qū)ο蟮木幊陶Z言,它很容易擴(kuò)展以適應(yīng)你的需求。servlet自然也具備了這些特征。(4)Servlet是安全的。從外界調(diào)用一個servlet的惟一方法就是通過Web服務(wù)器。這提供了高水平的安全性保障,尤其是在你的Web服務(wù)器有防火墻保護(hù)的時候。(5)Servlet可以在多種多樣的客戶機(jī)上使用。由于servlet是用Java編寫的,所以你可以很方便地在HTML中使用它們。2.3JSP技術(shù)JSP是從Servlet上分離出來的一小部分,簡化了開發(fā),加強(qiáng)了界面設(shè)計。JSP定位在交互網(wǎng)頁的開發(fā)。運用Java語法,但功能較Servlet弱了很多,并且高級開發(fā)中只充當(dāng)用戶界面部分。JSP容器收到客戶端發(fā)出的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式響應(yīng)給客戶端。其中程序片段可以是:操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-Mail等等,這些都是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,與客戶端的瀏覽器無關(guān),因此,JSP稱為Server-SideLanguage。JavaServerPages的主要優(yōu)點包括:(1)一次編寫,各處執(zhí)行(WriteOnce,RunAnywhere)特性。作為Java平臺的一部分,JavaServerPages技術(shù)擁有Java語言“一次編寫,各處執(zhí)行”的特點。隨著越來越多的供貨商將JavaServerPages技術(shù)添加到他們的產(chǎn)品中,您可以針對自己公司的需求,做出審慎評估后,選擇符合公司成本及規(guī)模的服務(wù)器,假若未來的需求有所變更時,更換服務(wù)器平臺并不影響之前所投下的成本、人力所開發(fā)的應(yīng)用程序。(2)搭配可重復(fù)使用的組件。JavaServerPages技術(shù)可依賴于重復(fù)使用跨平臺的組件(如:JavaBean或EnterpriseJavaBean組件)來執(zhí)行更復(fù)雜的運算、數(shù)據(jù)處理。開發(fā)人員能夠共享開發(fā)完成的組件,或者能夠加強(qiáng)這些組件的功能,讓更多用戶或是客戶團(tuán)體使用?;谏萍永媒M件的方法,可以加快整體開發(fā)過程,也大大降低公司的開發(fā)成本和人力。(3)采用標(biāo)簽化頁面開發(fā)。Web網(wǎng)頁開發(fā)人員不一定都是熟悉Java語言的程序員。因此,JSP技術(shù)能夠?qū)⒃S多功能封裝起來,成為一個自定義的標(biāo)簽,這些功能是完全根據(jù)XML的標(biāo)準(zhǔn)來制訂的,即JSP技術(shù)中的標(biāo)簽庫(TagLibrary)。因此,Web頁面開發(fā)人員可以運用自定義好的標(biāo)簽來達(dá)成工作需求,而無須再寫復(fù)雜的Java語法,讓W(xué)eb頁面開發(fā)人員亦能快速開發(fā)出一動態(tài)內(nèi)容網(wǎng)頁。今后,第三方開發(fā)人員和其他人員可以為常用功能建立自己的標(biāo)簽庫,讓W(xué)eb網(wǎng)頁開發(fā)人員能夠使用熟悉的開發(fā)工具,如同HTML一樣的標(biāo)簽語法來執(zhí)行特定功能的工作。2.4JavaBean應(yīng)用組件技術(shù)Application是Java應(yīng)用程序,在WEB項目和一些開發(fā)中主要應(yīng)用JavaBean。它就是Application的一部分,邏輯運算能力很強(qiáng),能極大的發(fā)揮Java語言的優(yōu)點。JavaBean被稱為是Java組件技術(shù)的核心。JavaBean的結(jié)構(gòu)必須滿足一定的命名約定。JavaBean能提供常用功能并且可以重復(fù)使用,這使得開發(fā)人員可以把某些關(guān)鍵功能和核心算法提取出來封裝成為一個組件對象,這樣就增加了代碼的重用率和系統(tǒng)的安全性。

高級的WEB項目會應(yīng)用到以上所有技術(shù),它們之間聯(lián)合使用和協(xié)作開發(fā)會提高開發(fā)的效率和系統(tǒng)的性能。2.5面向?qū)ο蠓治鲈O(shè)計思想Java語言是完全面向?qū)ο蟮恼Z言,所以在項目設(shè)計時會有很大的幫助,在設(shè)計時應(yīng)盡量舍棄以往的面向過程的設(shè)計方式。

在分析項目業(yè)務(wù)關(guān)系的時候,應(yīng)用一些UML(UnifiedModelingLanguage)圖,例如常用的用例圖(usecasediagram),類圖(classdiagram),時序圖(sequencediagram)等等,會有很大的幫助,這樣能盡快找出業(yè)務(wù)邏輯主要面對的對象,然后對每個對象進(jìn)行行為劃分,最后再實現(xiàn)對象之間的集成和通信。2.6設(shè)計模式和框架結(jié)構(gòu)Java從語言角度來講不是很難,但是從整體設(shè)計角度來講我們還需要了解一些高級應(yīng)用框架。如果要設(shè)計一個良好的框架結(jié)構(gòu),單單只掌握J(rèn)ava語言遠(yuǎn)遠(yuǎn)不夠。這就涉及到一個設(shè)計模式,還有和設(shè)計模式相關(guān)的一些知識。

設(shè)計模式在Java項目實施過程更是重中之重。主要在與兩層的設(shè)計模式、三層的設(shè)計模式和N層的設(shè)計模式。它直接決定著項目的應(yīng)用、部署和實際開發(fā)設(shè)計。

在普通的WEB項目中很多采用兩層的開發(fā)結(jié)構(gòu)。JSP+Servlet或JSP+JavaBean。當(dāng)對開發(fā)要求高的項目中使用很多的還是MVC的三層開發(fā)結(jié)構(gòu),也就是JSP+Servlet+JavaBean。它能分有效的分離邏輯開發(fā),使開發(fā)人員能專注于各自的開發(fā)。同時也能時整個開發(fā)結(jié)構(gòu)流程更清晰,但是需要比較高的開發(fā)配合度。

在項目中,我們經(jīng)常使用著名的Model-View-Controller(MVC)架構(gòu)。MVC架構(gòu)是隨著smalltalklanguage語言的發(fā)展提出的,它是一個著名的用戶界面設(shè)計架構(gòu)。經(jīng)典的MVC架構(gòu)把一個組件(可認(rèn)為是整個應(yīng)用程序的一個模塊)劃分成三部分組Model管理這個模塊中所用到的數(shù)據(jù)和業(yè)務(wù)邏輯。而View管理模塊如何顯示給用戶,Controller決定如何處理用戶和該模塊交互式時候產(chǎn)生的事件如用戶點擊一個按鈕等。

2.7mysql簡介MySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。圖2.1mysql界面3系統(tǒng)設(shè)計3.1需求分析酒店客房管理系統(tǒng)采用Web方式,由前臺和后臺管理兩個部分組成。前臺作為與用戶直接交互的可視化界面,由于使用方便,能將系統(tǒng)的各個功能提供給用戶,以幫助用戶進(jìn)行客房管理。為了確??蛻艉途频甑男畔⒕哂懈玫陌踩裕芭_管理和后臺管理是分離的。前臺的各管理模塊需要經(jīng)過權(quán)限授權(quán)才可以使用,我們?yōu)榇嗽O(shè)計了兩個角色:一是酒店管理員,二是前臺服務(wù)員。其中:(1)酒店管理員享有最高權(quán)限,可以使用酒店客房管理系統(tǒng)所提供的所有功能,包括員工信息管理、客房類型管理、客房信息管理、客房經(jīng)營管理、客戶信息查詢、個人密碼修改等功能。(2)前臺服務(wù)員的主要職能是負(fù)責(zé)訂房和退房,以及查詢?nèi)胱〉目蛻粜畔ⅰK性摻巧豢梢允褂貌糠止δ?,包括客房?jīng)營管理、客戶信息查詢、個人密碼修改以及注銷功能。具體需求:本系統(tǒng)主要由數(shù)據(jù)庫系統(tǒng)作為支持,后臺管理的維護(hù)工作主要由系統(tǒng)管理員進(jìn)行,包括完成對各個數(shù)據(jù)表單的維護(hù)、數(shù)據(jù)庫的備份及恢復(fù)等工作,本實例我們選用的數(shù)據(jù)庫系統(tǒng)為MYSQL5.5。系統(tǒng)界面采用Web方式,界面應(yīng)簡潔明了,用戶可方便瀏覽和查找客房信息。該系統(tǒng)的用戶有兩種類型:一是管理員,二是服務(wù)員,兩者應(yīng)具有不同的權(quán)限。系統(tǒng)需對用戶登錄進(jìn)行管理。使用各功能模塊時,系統(tǒng)會驗證用戶身份的有效性,否則要求用戶重新登錄。另外,允許用戶對自己的密碼進(jìn)行修改。系統(tǒng)應(yīng)提供客房的分類管理功能,可分類制訂客房面積、價格、是否配備空調(diào)等客房類型,對不同標(biāo)準(zhǔn)的客房進(jìn)行有效管理。系統(tǒng)可實現(xiàn)對客房信息的查詢,添加、刪除以及修改。在進(jìn)行離開/住房管理時,系統(tǒng)可以根據(jù)客房當(dāng)前的狀態(tài)自動提示可用服務(wù)。如果客房客人已離開,則該客房的信息顯示為“離開”;否則,該客房的信息顯示為“住”。系統(tǒng)的客戶端在Windows平臺下運行,服務(wù)器端可在Windows平臺下運行。系統(tǒng)還需要有較好的安全性和可擴(kuò)展性。業(yè)務(wù)類圖如下圖:圖3.1業(yè)務(wù)類圖3.2模塊設(shè)計本系統(tǒng)是根據(jù)酒店日常管理的需求進(jìn)行開發(fā)設(shè)計的,主要實現(xiàn)以下目標(biāo):(1)開房、退房:前臺能夠在線給顧客辦理開房與退房、續(xù)住。(2)客房信息維護(hù):管理員能夠維護(hù)客房信息(添加、修改、刪除等)。(3)帳務(wù)匯總:按要求完成酒店客房銷售資金的統(tǒng)計。(4)系統(tǒng)管理:完成用戶管理,如添加新用戶、修改用戶密碼等。業(yè)務(wù)流程圖如下圖:圖3.2模塊流程圖3.2.1前臺模塊該流程系統(tǒng)前臺部分,客房信息頁面主要是負(fù)責(zé)所有客房信息的查詢號及維護(hù)。如果需要修改客房信息,可以在列表中點擊該客房的“修改”鏈接,系統(tǒng)會顯示客房修改頁面;如果需要刪除客房信息,點擊“刪除”鏈接即可。同樣要增加客房信息,點擊對應(yīng)的“增加”鏈接然后填寫要增加的信息??蛻粜畔⒑涂头款愋晚撁嬷饕糜谇芭_服務(wù)員對于客戶信息和客房類型的查詢。個人信息管理是前臺和后臺都是有在模塊,默認(rèn)顯示在導(dǎo)航欄的右側(cè)—個人信息管理中心。主要用于密碼的修改,這樣是為了保證用戶使用的安全性。前臺模塊流程圖如圖3.3所示;用例圖如圖3.4所示。前臺服務(wù)員登錄前臺服務(wù)員登錄客房信息客房類型個人信息管理顧客信息修改查詢修改增加刪除修改查詢查詢圖3.3前臺模塊流程圖圖3.4前臺服務(wù)員用例圖3.2.2后臺模塊該流程系統(tǒng)后臺部分,是由酒店管理員負(fù)責(zé)管理的,分為用戶信息,客房類型,客房信息,業(yè)務(wù)記錄,個人信息管理幾個模塊,其中個人信息模塊前后臺都是有在3.3.2中已給出說明。用戶信息模塊主要的操作有:增,刪,改,查??头款愋湍K的主要操作有:增,改,查。客房信息模塊的主要操作有:刪,改,查。而業(yè)務(wù)記錄模塊主要用于管理員對于業(yè)務(wù)的查詢。對于增,刪,改的具體鏈接方法與前臺相同。流程圖如圖3.5所示;用例圖如圖3.6所示。酒店管理員登錄查詢酒店管理員登錄查詢修改增加增加查詢業(yè)務(wù)記錄刪除修改個人信息管理用戶信息客房類型客房信息業(yè)務(wù)記錄修改查詢查詢刪除圖3.6后臺管理員用例圖3.3數(shù)據(jù)庫設(shè)計本系統(tǒng)數(shù)據(jù)庫采用MYSQL5.5數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫中包含7張數(shù)據(jù)表。下面分別給出數(shù)據(jù)庫E-R圖和主要數(shù)據(jù)表的結(jié)構(gòu)。從讀者角度出發(fā),為使讀者對本系統(tǒng)后臺的數(shù)據(jù)庫中數(shù)據(jù)表有一個更清晰的認(rèn)識,在此特別制作了一個數(shù)據(jù)類型的表格,其中包含了對系統(tǒng)中所有數(shù)據(jù)表的相關(guān)描述。以下給出數(shù)據(jù)庫的E-R圖:圖3.7顧客E-R圖圖3.8前臺服務(wù)員E-R圖圖3.9后臺管理員E-R圖數(shù)據(jù)庫包含以下7個表:用戶信息表(UsersInfo)、客戶信息表(CustomerInfo)、客房類型表(RoomCategory)、客房信息表(RoomInfo)、客房狀態(tài)表(RoomStatus)、客房業(yè)務(wù)表(RoomOperation)、業(yè)務(wù)記錄表(History)。(1)用戶信息表(UserInfo)用來保存使用該系統(tǒng)的酒店員工的基本信息,如用戶編號,用戶姓名,用戶性別,地址,用戶電話,所在部門,用戶類型等。表3.1用戶信息表UserInfo列名數(shù)據(jù)類型及長度允許空UserIDvarchar(50)noNamevarchar(50)noPasswordvarchar(50)noGendervarchar(50)yesEmalvarchar(50)yesAddressvarchar(50)yesTelephonevarchar(50)yesDepartmentvarchar(50)yesTypevarchar(50)yes(2)客戶信息表(CustomerInfo)用來保存在酒店訂房的客戶的基本信息,如身份證號,客戶姓名,聯(lián)系電話,客房號,客房位置等。如表3.2所示。表3.2客戶信息表CustomerInfo列名數(shù)據(jù)類型及長度允許空CIdentityIDvarchar(50)noCNamevarchar(50)yesCPhonevarchar(50)yesRoomIDvarchar(50)noRoomPositonvarchar(50)yes(3)客房類型表(RoomType)用來保存酒店所有客房類型的基本信息,如客房類型編號,類型名,客房面積,配置床位,客房價格,配置空間,電視的配置等。如表3.3所示。表3.3客房類型表RoomType列名數(shù)據(jù)類型及長度允許空TypeIDvarchar(50)noRoomTypevarchar(50)noTypeNamevarchar(50)noAreavarchar(50)yesBedNumvarchar(50)yesPricevarchar(50)yesAirConditionvarchar(50)yesTVvarchar(50)yes(4)客房信息表(RoomInfo)用來保存酒店所有客房的相關(guān)信息,如客房號,客房類型編號,客房位置,描述,狀態(tài)等。如表3.4所示。表3.4客房信息表RoomInfo列名數(shù)據(jù)類型及長度允許空RoomIDvarchar(50)noRoomeTypevarchar(50)noRoomPositonvarchar(50)yesRoomDescripvarchar(50)CheckedRoomStatusvarchar(10)no(5)客房業(yè)務(wù)表(RoomOperation)用來保存目前酒店正有客戶入住的客房的相關(guān)信息,如客房編號,入住時間,客戶身份證號,備注等。如表3.5所示。表3.5客房業(yè)務(wù)表RoomOperation列名數(shù)據(jù)類型及長度允許空RoomIDvarchar(50)noBeginTimevarchar(50)noCIdentityIdvarchar(50)noRemarksvarchar(50)yes(6)業(yè)務(wù)記錄表(History)用來保存酒店里所有入住過客戶的客房的業(yè)務(wù)信息,如編號,客房編號,入住時間,退房時間,金額,客戶身份證號,備注等。如表3.6所示。表3.6業(yè)務(wù)記錄表History列名數(shù)據(jù)類型及長度允許空IDvarchar(50)noRoomIDvarchar(50)noBeginTimevarchar(50)noEndTimevarchar(50)noTotalPricevarchar(50)noCIdentityIdvarchar(50)noRemarksvarchar(50)yes3.4首頁設(shè)計前面已介紹過系統(tǒng)共分兩類用戶:酒店管理員和前臺服務(wù)員。當(dāng)用戶進(jìn)入酒店管理系統(tǒng)首頁后,首先需要進(jìn)行密碼驗證,系統(tǒng)在驗證通過后,將使用Type變量記錄其用戶類型,并根據(jù)用戶類型確定用戶的使用權(quán)限,以及所要跳轉(zhuǎn)的頁面。以下為酒店管理系統(tǒng)的首頁。圖3.10酒店管理首頁(1)進(jìn)入系統(tǒng)首頁后,首先需要在主顯示區(qū)輸入用戶類型,用戶名及密碼,然后單擊“登錄”按鈕,系統(tǒng)驗證通過后,會跳到相應(yīng)的頁面。仍停留在本頁面,要求用戶再次登錄。以下為首頁代碼:(2)連接數(shù)據(jù)庫:在開發(fā)項目中以類的形式來組織,封裝一些常用的方法和事件,不僅可以提高代碼的重用率,也大大方便了代碼的管理。本系統(tǒng)中創(chuàng)建了一個公共類Dao_up類,主要用來訪問MYSQL5.5數(shù)據(jù)庫,數(shù)據(jù)庫操作類主要的功能是連接數(shù)據(jù)庫。我們是在MyEclipse開發(fā)平臺下,使用JSP+JAVA語言進(jìn)行系統(tǒng)開發(fā)的。系統(tǒng)采用對數(shù)據(jù)庫配置進(jìn)行統(tǒng)一管理的方法,將程序中用到的所有連接字符串信息統(tǒng)一放于Web.config配置文檔中,在程序中對該文檔的這一配置進(jìn)行調(diào)用,方便系統(tǒng)移植時對系統(tǒng)數(shù)據(jù)庫的統(tǒng)一配置修改。對于數(shù)據(jù)庫調(diào)用字符串,由于本實例中所使用的數(shù)據(jù)庫是本地數(shù)據(jù)庫,所以DataSource(數(shù)據(jù)源)設(shè)置為(local),UserID(用戶ID)賦值為系統(tǒng)默認(rèn)的sa,Password(連接密碼)賦值為數(shù)據(jù)庫出示安裝時設(shè)定的sa,Datebase(數(shù)據(jù)庫名稱)設(shè)為我們上一節(jié)中創(chuàng)建的test。3.5前臺設(shè)計客房管理系統(tǒng)前臺頁面,如圖3.5所示,當(dāng)前臺服務(wù)員正確登錄時即要跳轉(zhuǎn)到該頁面。個人信息管理是前臺和后臺都是有在模塊,默認(rèn)顯示在導(dǎo)航欄的右側(cè)—個人信息管理中心。主要用于密碼的修改,這樣是為了保證用戶使用的安全性。圖3.5前臺頁面點擊導(dǎo)航菜單的上的客房信息可跳轉(zhuǎn)到如圖3.6的客房信息表,點擊備注中的修改也可跳轉(zhuǎn)到相應(yīng)的修改頁面。點擊刪除時會刪除相應(yīng)的記錄,然后再顯示,修改或刪除成功時跳轉(zhuǎn)到如圖3.5的頁面。點擊導(dǎo)航菜單上的客戶信息或客房類型可查相應(yīng)的信息。3.5.1客戶信息及客房類型的查詢點擊導(dǎo)航菜單的上的客戶信息可跳轉(zhuǎn)到房信息的查詢頁面如圖3.6的客房信息。圖3.6客房信息的查詢結(jié)果3.5.2客房信息操作客房信息查詢的結(jié)果,客房信息頁面主要是負(fù)責(zé)所有客房信息的查詢號及維護(hù)。如果需要修改客房信息,可以在列表中單擊該客房的“修改”鏈接,系統(tǒng)會顯示客房修改頁面;如果需要刪除客房信息,單擊“刪除”鏈接即可。操作員可以根據(jù)客房號查詢或修改客房的信息??蛻粜畔⒑涂头款愋晚撁嬷饕?fù)責(zé)客戶信息的客房信息的查詢。3.6后臺設(shè)計3.6.1客房管理系統(tǒng)后臺概述客房管理系統(tǒng)后臺頁面,如圖3.7所示,當(dāng)酒店管理員正確登錄時即可跳轉(zhuǎn)到該頁面。個人信息管理是前臺和后臺都是有在模塊,默認(rèn)顯示在導(dǎo)航欄的右側(cè)—個人信息管理中心。主要用于密碼的修改,這樣是為了保證用戶使用的安全性。3.6.2客房管理系統(tǒng)后臺實現(xiàn)過程導(dǎo)航菜單上的客房信息,客房類型以及個人信息管理是前后臺都是有的,用戶信息和業(yè)務(wù)記錄是后臺專有的。用戶信息是酒店管理員管理酒店員工用的,可實現(xiàn)信息的增加,刪除,修改,查詢。增加、修改、刪除成功時跳轉(zhuǎn)到圖3.6的頁面。客房業(yè)務(wù)和客房記錄主要用于管理員對于業(yè)務(wù)和客房的查詢。在查詢結(jié)果頁面有返回按鈕來返回到上一頁面。修改頁面如圖3.7所示圖3.7客房管理系統(tǒng)的后臺頁面當(dāng)點擊導(dǎo)航菜單上的用戶信息,則顯示如圖3.8用戶信息表的頁面。顯示用戶的信息。點擊修改會跳轉(zhuǎn)到相應(yīng)的頁面。點擊刪除時會刪除相應(yīng)的信息,然后跳轉(zhuǎn)到圖3.7的頁面。最后一列的查詢是由于系統(tǒng)編程時的失誤,點擊查詢時會跳轉(zhuǎn)到查詢的頁面。圖3.8用戶信息管理圖3.9的業(yè)務(wù)記錄表主要用于業(yè)務(wù)記錄的查詢,列出業(yè)務(wù)房間號、入住日期、入住時間、結(jié)賬金額等。圖3.9業(yè)務(wù)記錄信息圖3.10是客房信息的修改頁面。先要獲取數(shù)據(jù)庫中相應(yīng)的信息并顯示出來,然后填寫要修改的新信息,點擊提交,成功則跳轉(zhuǎn)到管理員登陸后界面。圖3.10客房信息的修改4系統(tǒng)調(diào)試軟件測試是軟件開發(fā)過程的重要組成部分,是用來確認(rèn)一個程序的品質(zhì)或性能是否符合開發(fā)之前所提出的一些要求。軟件測試就是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。本系統(tǒng)是單機(jī)板的所以沒在酒店客房預(yù)訂和客戶評價等功能。在Web或IE瀏覽器上瀏覽所做網(wǎng)頁的內(nèi)容及所能實現(xiàn)的功能。,我對所做的程序采取邊做邊運行測試的方法,做完一個功能模塊就對其進(jìn)行測試驗證,看看能不能讀或?qū)憯?shù)據(jù)庫。4.1功能測試(1)鏈接測試:鏈接測試可分為三個方面。首先,測試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;其次,測試所鏈接的頁面是否存在;最后,保證Web應(yīng)用系統(tǒng)上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。鏈接測試必須在集成測試階段完成。(2)表單測試:當(dāng)用戶或系統(tǒng)管理員登錄時,就需要使用表單操作,例如用戶登錄、信息提交等。在這種情況下,我們必須測試提交操作的完整性,以校驗提交信息的正確性。如果表單只能接受指定的某些值,則也要進(jìn)行測試。例如:只能接受某些字符,測試時可以跳過這些字符,看系統(tǒng)是否會報錯。(3)數(shù)據(jù)庫測試:在Web應(yīng)用技術(shù)中,數(shù)據(jù)庫起著重要的作用,數(shù)據(jù)庫為應(yīng)用系統(tǒng)的管理、運行、查詢和實現(xiàn)用戶對數(shù)據(jù)存儲的請求等提供空間。最常用的數(shù)據(jù)庫類型是關(guān)系型數(shù)據(jù)庫,可以使用SQL對信息進(jìn)行處理。一般情況下,可能發(fā)生兩種錯誤,分別是數(shù)據(jù)一致性錯誤和輸出錯誤。數(shù)據(jù)一致性錯誤主要是由于用戶提交的表單信息不正確而造成的,而輸出錯誤主要是由于網(wǎng)絡(luò)速度或程序設(shè)計問題等引起的,針對這兩種情況,可分別進(jìn)行測試。4.2可用性測試(1)導(dǎo)航測試。導(dǎo)航描述了用戶在一個頁面內(nèi)操作的方式,在不同的用戶接口控制之間,例如按鈕、對話框、列表和窗口等;或在不同的連接頁面之間。系統(tǒng)的導(dǎo)航幫助要盡可能地準(zhǔn)確。導(dǎo)航的另一個重要方面是應(yīng)用系統(tǒng)的頁面結(jié)構(gòu)、導(dǎo)航、菜單、連接的風(fēng)格是否一致。確保用戶憑直覺就知道Web應(yīng)用系統(tǒng)里面是否還有內(nèi)容,內(nèi)容在什么地方。應(yīng)用系統(tǒng)的層次一旦決定,就要著手測試用戶導(dǎo)航功能。(2)圖形測試。在應(yīng)用系統(tǒng)中,適當(dāng)?shù)膱D片和動畫既能起到廣告宣傳的作用,又能起到美化頁面的功能。一個應(yīng)用系統(tǒng)的圖形可以包括圖片、邊框、顏色、字體、背景、按鈕等。圖形測試的內(nèi)容有:(a)要確保圖形有明確的用途。(b)驗證所有頁面字體的風(fēng)格是否一致。(c)背景顏色應(yīng)該與字體顏色和前景顏色相搭配。(d)圖片的大小和質(zhì)量也是一個很重要的因素,一般采用JPG或GIF壓縮。(3)瀏覽器測試瀏覽器是Web客戶端最核心的構(gòu)件,框架和層次結(jié)構(gòu)風(fēng)格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示。不同的瀏覽器對安全性和Java的設(shè)置也不一樣。測試瀏覽器兼容性的一個方法是創(chuàng)建一個兼容性矩陣。在這個矩陣中,測試不同廠商、不同版本的瀏覽器對某些構(gòu)件和設(shè)置的適應(yīng)性。4.3安全性試系統(tǒng)的安全性測試區(qū)域主要有:測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以登錄而直接瀏覽某個頁面等。當(dāng)?shù)卿浘频昕头抗芾硐到y(tǒng)時,須要用戶輸入用戶名和密碼若用戶名或密碼輸入的不正確則顯示如圖4.1的信息。用戶需重新輸入,只有正確的才可進(jìn)入系統(tǒng)。圖4.1戶名或密碼不正確提示信息當(dāng)?shù)卿浘频昕头抗芾硐到y(tǒng)時,若沒有輸入用戶名就點擊登錄,則顯示如圖4.2的信息。圖4.2沒有輸入用戶名的提示信息當(dāng)?shù)卿浘频昕头抗芾硐到y(tǒng)時,若輸入了用戶名而沒有輸入密碼就登錄,則顯示如圖4.3的信息。圖4.3沒有輸入密碼的提示信息當(dāng)?shù)卿浘频昕头抗芾硐到y(tǒng)后,要修改個人信息時,在填寫密碼時需要輸入再次新密碼,若兩次密碼輸入的不一致則顯示如圖4.4的信息。圖4.4修改的密碼不一致的提示信息5結(jié)束語本論文簡要介紹了酒店客房管理系統(tǒng)的主要功能及體系結(jié)構(gòu),重點討論了系統(tǒng)數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)庫的邏輯結(jié)構(gòu)分析、JSP與前后臺數(shù)據(jù)庫鏈接等關(guān)鍵技術(shù)。這些技術(shù)的實現(xiàn),滿足了系統(tǒng)的需要,優(yōu)化了系統(tǒng)的性能。目前基于該模型的系統(tǒng)處于試運行階段,還存在許多問題與不足,如安全性能還不完善,缺少客戶評價,退房及換房等。因此在今后的工作里,這些功能與技術(shù)還需要加以提高和實現(xiàn)。酒店客房管理系統(tǒng)無論是在開發(fā)過程中,還是建成后的日常維護(hù)過程中,都需要進(jìn)行嚴(yán)格的檢測,以保證酒店客房管理的服務(wù)質(zhì)量。建議酒店客房管理系統(tǒng)應(yīng)注意以下3點:(1)把握好酒店客房質(zhì)量和宣傳內(nèi)容環(huán)節(jié)。提供的物品必須是優(yōu)質(zhì)到位,使每個客人都能滿意。產(chǎn)品宣傳廣告內(nèi)容應(yīng)健康真實,既要反映客觀事又要有欣賞價值。(2)管理功能的檢測,一個良好的管理方案對于一個酒店客房管理系統(tǒng)是很重要的,因此對于員工的管理就是合理并嚴(yán)格的,對于客人信息應(yīng)做到合理的管理,使客人住得放心住得安心??头恳矐?yīng)根據(jù)不同的配置,不同的環(huán)境給分成不同的檔次。(3)用戶身份確認(rèn)用戶身份的確認(rèn)對酒店來說是一個非常關(guān)鍵的環(huán)節(jié),稍有疏漏將會造成巨大的損失。而這里的用戶應(yīng)包括酒店管理員和前臺服務(wù)員。不同的用戶他們的權(quán)限也是有所不同的。隨著酒店客房管理系統(tǒng)技術(shù)的日趨成熟、大多酒店客房都使用了客房管理系統(tǒng),來解決酒店客房管理難,易出錯等問題,使酒店的客房服務(wù)更上一個臺階!致謝在論文完成之際,我首先向關(guān)心幫助和指導(dǎo)我的指導(dǎo)老師陳劍鋒表示衷心的感謝并致以崇高的敬意!在論文工作中,遇到了設(shè)計與論文無從下手,資料欠缺,軟件故障等問題,一直得到陳劍鋒老師的親切關(guān)懷和悉心指導(dǎo),使我從中學(xué)到了許多平時課堂上學(xué)不到的知識陳劍鋒老師以其淵博的學(xué)識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、求實的工作作風(fēng)和他敏捷的思維給我留下了深刻的印象,我將終生難忘他對我們好,對我們存在的問題總是及給予幫助再一次向他表示衷心的感謝,感謝他為學(xué)生營造的濃郁學(xué)術(shù)氛圍,以及學(xué)習(xí)、生活上的無私幫助!值此論文完成之際,謹(jǐn)向陳劍鋒老師致以最崇高的謝意!在設(shè)計過程中,還得到了本班許多同學(xué)的幫助,使我能夠順利完成畢業(yè)設(shè)計,在此表示真摯的謝意。在學(xué)校的學(xué)習(xí)生活即將結(jié)束,回顧四年多來的學(xué)習(xí)經(jīng)歷,面對現(xiàn)在的收獲,我感到無限欣慰。為此,我向熱心幫助過我的所有老師和同學(xué)表示由衷的感謝!在我即將完成學(xué)業(yè)之際,我深深地感謝我的家人給予我的全力支持!參考文獻(xiàn)[1]譚浩強(qiáng)Java編程技術(shù)[M].北京:人民郵電出版社,2003年3月.[2]BruceEckelThinkinginJava[M].

PrenticeHallPress,2007.5.[3]馬曉敏等Java網(wǎng)絡(luò)編程原理與JSPWeb開發(fā)核心技術(shù)[M].北京:中國鐵道出版社,2010年1月[4]孫衛(wèi)琴Tomcat與Java.Web開發(fā)技術(shù)詳解[M].北京:電子工業(yè)出版社,2004年4月[5]曹廣鑫Java企業(yè)級開發(fā)項目實踐[M].北京:清華大學(xué)出版社,2004年7月[6]孫鑫JavaWeb開發(fā)詳解[M].北京:電子工業(yè)出版社,2006年4月[7]李芝興等JavaEEWeb編程(Eclipse平臺)[M].北京:機(jī)械工業(yè)出版社,2007年11月[8]DhrubojyotiKayal.JavaEE設(shè)計模式:Spring企業(yè)級開發(fā)最佳實踐[M].北京:人民郵電出版社,2010年2月[9]黃彬華.大話Java:從零基礎(chǔ)到數(shù)據(jù)庫、Web開發(fā)[M].北京:科學(xué)出版社。2009年[10]RobertVierra.ProfessionalSQLServer2000Programming[M].Washington:WroxPress,2000:110-112.附錄主要代碼:首頁:<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@taglibprefix="c"uri="/jsp/jstl/core"prefix="c"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/><title>登錄頁</title></head><bodybackground="<%=request.getContextPath()%>/img/hotel2.jpg"><center><divalign="center"> <divclass="align"> <divclass="container"> <divclass="top"> <divclass="topl"></div> <divclass="topr"><c:outvalue="${requestScope.msg}"/></div> </div><h1>酒店客房管理系統(tǒng)</h1> <divclass="center"> <divclass="centerl"></div> <dir> <center> <formstyle="margin:0px;padding:0px;"action="${pageContext.request.contextPath}/login/loginServlet"method="post"> <divclass="center"> <divclass="lgc">  <!--登錄框信息欄開始--> <divstyle="float:middle"> <table> <tr> <td>用戶名:</td> <td><inputtype="text"name="uname"/> </td> </tr> <tr> <td>密碼:</td> <td><inputtype="password"name="psw"/> </td> </tr> <divclass="rsr"><inputtype="radio"name="select"value="0"/>用戶<inputtype="radio"name="select"value="1"/>管理員</div> <tr> <td><inputtype="submit"value="確定"class="submit"/><inputtype="reset"value="重置"class="reset"/> </td> </tr> </table> </div> <!--登錄框信息欄結(jié)束--> </div> </div> </form> </center> </dir> </div> <divclass="bottom"> <divclass="bottoml"></div> <divclass="bottomr"></div> </div> </div> <divstyle="clear:both;height:0px;"></div> </div> </center></body></html>首頁發(fā)起請求:publicclassLoginServletextendsHttpServlet{ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); Stringselect=request.getParameter("select"); Stringuname=request.getParameter("uname"); Stringpass=request.getParameter("psw");//// if(uname==null||pass==null||"".equals(uname)||"".equals(pass)){ request.setAttribute("msg","請將信息填寫完整!"); request.getRequestDispatcher("/login/login.jsp").forward(request,response); return; } /* Useruser=newUser(); user.setSname(uname); user.setUserPassword(pass); */ try{ if("0".equals(select)){ Employeeu=newEmployee(uname,pass); if(newUserDAO().findEmployee(u)){ request.setAttribute("roomlist",RoomDAO.searchRoom()); request.getRequestDispatcher("/login/roomManager.jsp").forward(request,response); }else{ request.setAttribute("msg","用戶名或密碼錯誤!"); request.getRequestDispatcher("/login/login.jsp").forward(request,response); } }elseif("1".equals(select)){ Employeeu=newEmployee(uname,pass); if(newUserDAO().findEmployee(u)){ request.setAttribute("roomlist",RoomDAO.searchRoom()); request.getRequestDispatcher("/login/roomManager2.jsp").forward(request,response); }else{ request.setAttribute("msg","用戶名或密碼錯誤!"); request.getRequestDispatcher("/login/login.jsp").forward(request,response); } } return; }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }}鏈接數(shù)據(jù)庫:publicclassDBConnection{ staticStringurl="jdbc:mysql://localhost:3306/test"; staticStringuser="root"; staticStringpwd="123"; /** *連接數(shù)據(jù)庫到mysql5.5 *@return */ publicstaticConnectiongetCon(){ Connectioncon=null; try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection(url,user,pwd); }catch(ClassNotFoundExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("ClassNotFound!"); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("getConnectionisworong!"); } returncon; }}查詢數(shù)據(jù)庫:publicclassUserDAO{ publicbooleanfindEmployee(Employeeemp)throwsException{ booleanflag=false; Connectionconn=DBConnection.getCon(); Stringsql="selectidfromuserwhereuserName=?andpassWord=?"; PreparedStatementpstmt=conn.prepareStatement(sql); pstmt.setString(1,emp.getSname()); pstmt.setString(2,emp.getPassword()); ResultSetrs=pstmt.executeQuery(); while(rs.next()){ emp.setRname(rs.getString(1)); flag=true; } rs.close(); pstmt.close(); conn.close(); returnflag; }}增加數(shù)據(jù):publicclassAddRoom{ publicstaticbooleanaddRoom(RoomDtoroom)throwsException{ booleanflag=false; Connectionconn=null; PreparedStatementpstmt=null; PreparedStatementpstmt2=null; ResultSetrs=null; try{ conn=DBConnection.getCon(); conn.setAutoCommit(flag); Stringsql="selectidfromroomwhereroomNum=?"; pstmt=conn.prepareStatement(sql); pstmt.setInt(1,room.getRoomNum()); rs=pstmt.executeQuery(); if(rs.next()){ rs.close(); pstmt.close(); conn.close(); returnfalse; } Stringsql2="insertintoroom(roomNum,type,status,pirce,oprate)values(?,?,?,?,?)"; pstmt2=conn.prepareStatement(sql2); pstmt2.setInt(1,room.getRoomNum()); pstmt2.setString(2,room.getType()); pstmt2.setString(3,room.getStatus()); pstmt2.setString(4,room.getPrice()); pstmt2.setString(5,"開房"); pstmt2.executeUpdate(); mit(); flag=true; }catch(Exceptione){ conn.rollback(); throwe; }finally{ if(rs!=null) rs.close(); if(pstmt!=null) pstmt.close(); if(pstmt2!=null) pstmt2.close(); if(conn!=null) conn.close(); } returnflag; }}參考文獻(xiàn)摘要基于Java的酒店客房網(wǎng)上管理系統(tǒng)設(shè)計與實現(xiàn)教學(xué)系:信息工程系2013年4月16日參考文獻(xiàn)1參考文獻(xiàn)題目Java編程技術(shù)[M].參考文獻(xiàn)的相關(guān)信息[1]譚浩強(qiáng)Java編程技術(shù)[M].北京:人民郵電出版社,2003年3月.摘要:Java編程語言具有面向?qū)ο蟆⒚嫦蚓W(wǎng)絡(luò)、簡單性、魯棒性、結(jié)構(gòu)中立性、可移植性、高性能、平臺獨立性、安全性、多線程、動態(tài)性等多個方面的特點。本書對面向?qū)ο?、多線程、異常處理、Applet程序設(shè)計、數(shù)據(jù)庫編程及網(wǎng)絡(luò)編程做了重點闡述。前10章大篇幅的介紹了Java標(biāo)準(zhǔn)版J2SE的基礎(chǔ)編程知識,后面又介紹了J2EE和J2ME。J2EE介紹了體系結(jié)構(gòu)、組件、平臺服務(wù)器、容器等內(nèi)容,組件包括EJB、jsp以及最重要的servlet。J2ME則是為了滿足手機(jī)開發(fā)的需要,介紹了其體系結(jié)構(gòu)、時間處理、與wap的關(guān)系、其配置、J2ME簡表、MIDP等。參考文獻(xiàn)2英文題目ThinkinginJava中文題目Java編程思想?yún)⒖嘉墨I(xiàn)的相關(guān)信息[2]BruceEckelThinkinginJava[M].

PrenticeHallPress,2007.5.Abstract:Javaisanobject-orientedlanguage,thebookdescribesthecontentsoftheexplainwhatistheobjectandabouttheinterfaceandimplementation,abstractionandencapsulation,newsandfunctionintegratedinthesynthesisaswellasaveryimportantconceptofpleomorphic;controlprogramflow;initializationandclear;hideimplementationprocess,isthepackage;classregeneration,thatisinherited;pleomorphic;objectaccommodate;theunauthorizederrorcontrol;JavaIOsystem;run-timetypeidentification;passingandreturningobjects;createwindowsandprogramspiece;multi-threading,threadingmechanismcanprovidesupportformultipleconcurrentsubtasks;networkprogramming,databaseconnectivity,remotemethodinvocation;designparadigm;designoftheprojectistoachieve.摘要的中文翻譯:Java是一門面向?qū)ο蟮恼Z言,本書介紹的內(nèi)容有解釋什么是對象,并講述接口與實現(xiàn)、抽象與封裝、消息與函數(shù)、集成于合成以及非常重要的多形性的概念;控制程序流程;初始化和清除;隱藏實現(xiàn)過程,就是封裝;類再生,即繼承;多形性;對象的容納;違例差錯控制;JavaIO系統(tǒng);運行期類型鑒定;傳遞和返回對象;創(chuàng)建窗口和程序片;多線程,線程機(jī)制可以提供對多個并發(fā)子任務(wù)的支持;網(wǎng)絡(luò)編程、數(shù)據(jù)庫連接、遠(yuǎn)程方法調(diào)用;設(shè)計范式;項目的設(shè)計與是實現(xiàn)。參考文獻(xiàn)3參考文獻(xiàn)題目Java網(wǎng)絡(luò)編程原理與JSPWeb開發(fā)核心技術(shù)參考文獻(xiàn)的相關(guān)信息[3]馬曉敏等Java網(wǎng)絡(luò)編程原理與JSPWeb開發(fā)核心技術(shù)[M].北京:中國鐵道出版社,2010年1月摘要:Java對于B/S模式和C/S模式的應(yīng)用開發(fā)提供了簡單卓有成效的解決方案,Java技術(shù)逐漸成為網(wǎng)絡(luò)編程開發(fā)的主流技術(shù)之一。本書第一部分是Java網(wǎng)絡(luò)編程原理與

技術(shù)。JavaAPI提供了TCP協(xié)議套接字、UDP協(xié)議套接字和組播套接字等多種用于網(wǎng)絡(luò)通信的類,也包括數(shù)據(jù)包和數(shù)據(jù)流,可以用來實現(xiàn)SMTP和POP3、FTP、HTTP

等高層應(yīng)用協(xié)議以及C/S模式。第二部分是JSPWeb開發(fā)核心技術(shù),包括JSP、

JavaServlet、JavaBean、JSP數(shù)據(jù)庫技術(shù)、JSP擴(kuò)展技術(shù)、MVC模式、JavaEE

以及JavaME等技術(shù)。本書將Java網(wǎng)絡(luò)編程與JSPWeb開發(fā)技術(shù)有機(jī)地結(jié)合起來進(jìn)行介紹,使讀者對于在Internet上從底層通信、數(shù)據(jù)傳輸、應(yīng)用協(xié)議實現(xiàn),到高級應(yīng)用層面的JSPWeb開發(fā)的核心技術(shù)有一個全面的了解。參考文獻(xiàn)4參考文獻(xiàn)題目Tomcat與Java.Web開發(fā)技術(shù)詳解參考文獻(xiàn)的相關(guān)信息[4]孫衛(wèi)琴Tomcat與Java.Web開發(fā)技術(shù)詳解[M].北京:電子工業(yè)出版社,2004年4月摘要:Tomcat服務(wù)器是一個優(yōu)秀的JavaWeb應(yīng)用容器,它可以和目前大部分的主流HTTP服務(wù)器一起工作,而且運行穩(wěn)定、可靠、效率高。本書包括Tomcat的基礎(chǔ)知識,有Tomcat服務(wù)器結(jié)構(gòu)、JavaWeb應(yīng)用的結(jié)構(gòu)和發(fā)布、配置虛擬主機(jī);JavaServlet、JavaServerPage以及JavaWeb應(yīng)用的基礎(chǔ)知識,有Servlet的原理、創(chuàng)建Servlet的步驟、JSP語法、在JavaWeb應(yīng)用中訪問數(shù)據(jù)庫、訪問JavaBean、使用Session、使用ant工具管理Web應(yīng)用;JavaWeb開發(fā)高級技術(shù),有過濾器、自定義標(biāo)簽、網(wǎng)站模板設(shè)配置MailSession;Tomcat與當(dāng)前其他通用軟件的集成,有Tomcat與Jboss、ApacheSOAP、ApacheAXIS、其他HTTP服務(wù)器等的集成;Tomcat的高級功能,有持久性會話管理、Tomcat的控制、安全域、Tomcat閥、創(chuàng)建嵌入式Tomcat、在Tomcat中配置SSL。參考文獻(xiàn)5參考文獻(xiàn)題目Java企業(yè)級開發(fā)項目實踐參考文獻(xiàn)的相關(guān)信息[5]曹廣鑫Java企業(yè)級開發(fā)項目實踐[M].北京:清華大學(xué)出版社,2004年7月摘要:隨著計算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,以Java作為平臺的Web應(yīng)用程序越來越被廣泛地應(yīng)用了。本書以Struts為核心,還引入了MVC、Tiles等概念,主要介紹了Java企業(yè)級的編程,包括Struts的基礎(chǔ)知識、Web應(yīng)用服務(wù)器和Java開發(fā)工具、開發(fā)流程等;介紹使用JBuilder開發(fā)Struts程序的具體過程及在Struts程序中調(diào)用數(shù)據(jù)庫

的方法;講解Struts的布局控制和驗證;介紹按照MVC過程開發(fā)Struts程序的方法;闡述DataAccessObject設(shè)計模式的開發(fā)過程和實現(xiàn);講解了Struts的控制器

的設(shè)計、開發(fā)和實現(xiàn)。這些都通過系統(tǒng)的設(shè)計和實現(xiàn)來具體地講解,包括企業(yè)門

戶系統(tǒng)(系統(tǒng)管理)、企業(yè)門戶系統(tǒng)(內(nèi)容管理)、客戶關(guān)系系統(tǒng)、客戶服務(wù)支

持系統(tǒng)、電子商務(wù)系統(tǒng)。參考文獻(xiàn)6參考文獻(xiàn)題目JavaWeb開發(fā)詳解參考文獻(xiàn)的相關(guān)信息[6]孫鑫JavaWeb開發(fā)詳解[M].北京:電子工業(yè)出版社,2006年4月摘要:JavaWeb開發(fā)已經(jīng)成為Java企業(yè)級開發(fā)中不可缺少的一部分。本書總共分為四個部分:XML篇、S

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論