基于JSP技術的酒店客房管理系統設計與實現
(1)客人-房間表crooms的表結構,如表1所示。
關于字段oldflag取值:零表示該客人是在住客人;為正整數時表示該客人已離店(本系統中稱為歷史客人)。如果一個客人在一天之內多次入住、離店,其最大值即表示了該客人在當日的離店次數。為保持數據庫中數據的一致性和完整性約束,在日結清理數據時,針對該客人的消費記錄、住店記錄等數據采取的處理方法如下:
假如該客人是歷史客人,則先查詢出與此客人相關的oldflag字段上的最大值(設為X),然后刪除oldflag≤X的消費記錄、oldflagX的住店記錄,最后將余下的住店記錄中的oldflag字段值復位為1。
(2) 房間-消費匯總表rctotal的表結構,如表2所示。
3 系統實現
為客人提供快捷的服務、為酒店用戶提供人性化的操作界面是本系統的設計目標。在系統實現時,采用酒店行業的術語、按照酒店用戶的使用習慣,提高界面的友好性。
根據作者的項目實踐經驗,酒店一般都是在服務臺用一個Hub集線器將若干主機連接起來形成一個局域網。在該局域網內使用客房管理系統。若無特別需要,基本是不需連接Internet的。在這種環境下,軟件架構采用B/S、C/S均可。但酒店客房部的營業活動具有較為明顯的“旺季和淡季”。采用B/S結構開發,酒店用戶可根據需要,基本不受限制地自行增添、更換非服務器主機。
基于成本、安全性、可擴展性3個因素進行考慮,本系統的架構是B/S結構,具體采用JSP為開發技術(選用“JSP+JavaBean”模式)、Tomcat為Web服務器、SQL Server 2000為后臺數據庫。
在“JSP+JavaBean”模式下[2],將與數據庫連接池相關的操作、讀寫數據庫的操作、需經常使用的數據庫的數據進行的操作分別定義成一個類。考慮到某個功能可能需要用到上述建立的多個類,而JSP動作元素中的jsp:useBean>標簽每次只能創建一個Bean實例。為避免出現JSP頁面中多次重復使用jsp:useBean>標簽的情況,在開發時單獨建立一個JSP文件,在該JSP文件中,用若干條jsp:useBean>標簽將上述類的實例一起創建好。這樣就可以在各個JSP頁面中僅用一條JSP指令元素中的include指令即可透明地讀寫數據庫,也便于修改和統一管理。
各個角色經統一的登錄頁面成功登錄后,界面均是一個被拆分為常見的“左窄右寬型”的框架集,其中左側是功能選擇區,右側是具體操作區。
本系統實現了一對一的個性化服務,已被地跨廣東省佛山和江門兩市的柏麗酒店連鎖集團的八家分店使用,現在已經進入穩定運行期。從運行效果看,本系統體現了更加系統化、規范化、自動化,實現操作簡便、靈活性強、安全性好等特點,更為廣大客戶提供了方便的信息查詢平臺。
評論