基于JSP的酒店客房管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于JSP的酒店客房管理系统
摘要
酒店是服务与销售同步的一类企业,给住店客人提供方便快捷的服务,降低营业成本,是各个酒店追求的目标。
一般来说,酒店主要靠出租房间及以此产生的各种消费作为收入来源。
所以酒店客房部的管理水平,直接影响到整个酒店的经济效益。
计算机网络的飞速发展给酒店自动化、网络化管理带来了蓬勃发展的机遇。
使用管理软件来管理酒店的客房信息,也正逐步成为众多酒店管理者的需求。
采用全新的计算机网络和管理系统,将成为提高酒店管理效率,改善服务水准的重要手段之一。
所以酒店客房管理系统是酒店经营不可缺少的现代工具。
酒店客房管理系统是根据某酒店对客房管理的实际情况编写的,主要目的是为了方便酒店对客房的实际情况进行集中的查询与管理工作。
本次毕业设计开发一个酒店客房管理系统,整个系统分为前台和后台两部分,主要功能包括:会员信息管理模块、管理员信息管理模块、客房信息管理模块、预订信息管理模块、入住信息管理模块、特色菜品信息管理模块、餐饮消费信息管理模块等功能模块。
前台主要使用JSP作为开发语言,后台使用SQLServer作为数据库管理系统,开发环境是MyEclipse 6.0,对整个系统进行设计与开发,服务器采用Tomcat,开发一个基于Web技术的B/S结构的酒店客房管理系统。
关键词客房管理;B/S结构;JSP
JSP-based Hotel Room Management System
Abstract
The target of each hotel is to provide hotel guests with convenient and quick service and reduce the operating cost, as hotel is sync services and sales of enterprises. In general, it mainly depends on renting hotel rooms and producing all kinds of consumption as a source of income. So the level of hotel guest room management can directly affect the whole economic benefit of hotel.
The rapid development of computer network has brought automated and networked management of hotels the opportunity of booming, which makes using management software to manage information of hotel guest rooms also gradually becomes the multitudinous hotels managers' demand. Using new computer network and management system will be one of the important means of improving the hotel management’s efficiency and the service level. So the hotel guest room management system is indispensible mordern hotel management tool. Hotel guest room management is according to the actual situation of some hotels’guest room management, whose main purpose is to facilitate the actual situation of central query and work’s management.
This guaduate design develops a system of hotel guest room management, which is divided into two parts, the front desk and the background, its main functions include: the member information management module, administrator information management module, guest room information management module, reservation information management module, the check-in information management module, the dishes with information management module, food consumption information management module. The front desk which mainly use JSP as a development language, while the background which use SQLServer as a database management system. Use MyEclipse6.0 as development
server. Finally develop a web technology which is based B/S structure of the hotel guest room management system.
Keywords Room management; B/S structure; JSP
目录
摘要 (I)
Abstract (II)
第1章绪论 (1)
1.1 课题背景 (1)
1.2 目的和意义 (1)
1.3 本文结构 (2)
第2章技术及工具介绍 (3)
2.1 SQLServer简介 (3)
2.2 JSP简介 (4)
2.3 J2EE简介 (7)
第3章需求分析 (10)
3.1 系统需求分析 (10)
3.2 用例分析 (10)
3.2.1 管理员用例图 (10)
3.2.2 会员用例图 (10)
3.3 系统E-R图 (11)
3.4 设计的基本思想 (11)
3.5 性能需求 (12)
3.6 界面需求 (12)
第4章系统概要设计 (14)
4.1 设计的原则 (14)
4.2 项目规划 (14)
4.3 系统工作流程 (16)
4.4 系统模块划分 (18)
4.4.1 用户登录模块 (18)
4.4.2 管理员操作模块 (19)
4.4.3 会员操作模块 (20)
4.5 系统UML类图 (21)
4.6 数据库设计 (21)
4.6.1 数据库的概念结构设计 (21)
4.6.2 数据库的逻辑结构设计 (24)
第5章系统实现 (28)
5.1 数据库的连接原理 (28)
5.2 系统登录页面实现 (29)
5.3.1 注册会员管理 (30)
5.3.2 客房信息管理 (31)
5.3.3 预订信息管理 (32)
5.3.4 菜品信息管理 (34)
5.3.5 订菜信息管理 (36)
5.3.6 新闻信息管理 (37)
5.3.7 留言信息管理 (39)
5.3.8 修改个人密码 (39)
5.4 网站前台模块 (40)
5.4.1 网站首页界面 (40)
5.4.2 用户注册 (41)
5.4.3 查看客房信息 (41)
5.4.4 客房预订 (42)
5.4.5 菜品信息查看 (43)
5.4.6 菜品预订 (43)
5.4.7 系统留言功能 (44)
5.4.8 会员信息 (45)
5.4.9 中文乱码处理 (46)
5.5 测试过程 (47)
5.5.1 主页面的登录模块测试 (47)
5.5.2 其他错误 (47)
结论 (49)
致谢 (50)
参考文献 (51)
附录 (52)
第1章绪论
1.1课题背景
现代社会,大量人员不断流动,人们生活水平不断提高,比如,很多地方把旅游业作为本地经济发展的重要支柱之一,酒店数量急剧增加,人们对酒店的要求也越来越高。
面对庞大的酒店业务信息量,酒店客房建设进一步规范化、复杂化,就需要酒店客房管理系统来提高客房管理工作的效率。
通过这样的系统,可以做到信息的系统管理和快速查询,从而减少了管理方面的工作量,为酒店的经营增加竞争力。
利用先进的科学技术,将成为提高酒店管理效率,改善服务水准的重要手段之一。
然而现在绝大多数的中小型酒店、宾馆由于资金、人员等多方面原因不易使用酒店管理类软件,同时,市场上出现的各类酒店入住信息管理软件基本上都是为大型酒店专业设计的,有很多功能对于一般酒店、宾馆根本用不上。
全面提高酒店客房管理系统的水准,已是酒店业发展的当务之急。
虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的服务管理提供强有力的支持。
本系统的出发点是强调通用性和实用性。
本系统的设计应符合日常办公运作的需求,功能完备使用,界面友好清晰,简单易学,网络结构简单,层次清楚,便于管理。
所以B/S结构的城市酒店信息管理系统是酒店经营不可缺少的现代工具。
1.2目的和意义
开发酒店客房管理系统的目的是用来收集、处理、存储和宣传客房、菜品、顾客等酒店业务方面的信息,以信息管理为核心的计算机应用系统。
建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平,又能满足管理人员决策分析的需要,提高酒店管理层对酒店经营反馈信息的响应速度。
从而大幅度提高工作效率,提高实施管理的准确性、科学性,使负担管理的工作人员从繁杂的手工劳动中解脱出来。
这次所开发的酒店客房管理系统应该具有的优点是,它可以深入到酒店日常工作,为酒店管理者提供方便。
想入住酒店的客人可以通过在线的形式,当注册为会员后可以自由使用本系统的前台,浏览与酒店业务方面的信息,前台的预订信息与后台的预订管理信息同步,并保存至数据库。
酒店管理者登录后,也可以以在线的方式,对会员的预订信息统一管理,并保存至数据库,克服了人为管理中人为失误因素给企业管理带来的诸多不便,大大提高了酒店的工作效率,为企业创造了更大的利润。
本文前半部分介绍,通过设计开发,本系统可以为会员提供客房预订,购买菜品等服务的网上平台,会员、管理员只要在任何一台上网的计算机上就可以浏览要了解的客房信息,并通过登录验证后,找到合适的客房进行预约、查询等。
本系统为管理员提供在线查看客房情况,修改客房、菜品信息,查看客房记录等。
后半部分结合酒店客房管理系统的开发和运行,认真地分析和研究当前比较实用的JSP项目开发技术。
最后本文总结了整个开发中出现的问题,以及对未来酒店客房管理系统的应用的展望。
第2章技术及工具介绍
2.1SQLServer简介
酒店客房管理系统选用的是SQLServer数据库,SQLServer数据库具有更高的可扩展性,可用性,这符合了酒店管理系统的准确运用及呈现。
其他数据库的扩展性不如SQLServer,性能也没有SQLServer突出,所以选择用SQLServer做数据库。
Microsoft SQLServer 2005是Microsoft公司开发的优秀企业级网络数据库,它是把多线程作为基础结构,显著的优点有:所需的资源少、同时又能够把数据库合并起来管理,并能够保证数据的完整性,又能够保证数据的安全性。
SQLServer 2005标准版最多支持四个CPU和2GB内存,而SQLServer 2005企业版可支持的CPU数量和内存数仅受操作系统的限制,如在Windows Server 2003 Datacenter Edition(32位)上,最多可支持64个CPU和64GB内存。
此外,SQLServer 2005企业版中还提供了标准版中没有的联合数据库服务器功能,可以将数据库负载分布到多个独立的服务器上。
SQLServer 2005企业版中提供了很多标准版中所没有的OLAP高级分析特性,这对于商业智能(BI)应用有很大的价值。
几年来,关系数据库系统以多种不同的方式提供了对XML的支持。
这些系统所支持的主要应用场景是信息交换,该信息交换是在XML作为“牵线格式”并且关系模式和XML模式相互独立地预定义的情况下进行的。
为了适用于这种场景,微软SQL Server 2005提供并扩展了大量最早在SQL Server 2000中引入的功能,比如针对XML的发布行集聚集器、OpenXML行集提供程序以及基于带注解模式的XML视图技术。
对于大规模的数据库应用来说,企业版的以上特性是非常重要的。
通过在SQLServer中提供对可靠的信息队列机制的支持,服务代理能够帮助开发人员创建松耦合的分布式应用。
许多数据库应用使用异步处理的方式来提高可扩展性和交互型会话的响应时间。
一个常用的异步处理的方法是使用工作表。
与把一个业务流程中的所有工作放在一个数据库事务中完全不同,一个应用程序进行修改来指示存在未完成的工作,然后,向工作表中插入一条接下来要执行的工作的记录。
只要资源允许,应用程序处理工作表并完成业务流程。
服务代理是数据库服务器的一部分,为应用开发直接提供对该方法的支持。
以前的消息队列技术集中于单个的消息。
在服务代理中,通信的基本单元是会话——一个持久的、可靠的全双工消息流。
SQLServer保证一个会话中的消息按顺序刚好向一个应用分发一次。
每个会话是一个会话组的一部分。
相关的会话能够与同一个会话组相关联。
会话出现在两个服务之间。
一个服务是会话的一个命名的端点。
会话和消息都是强类型的。
每个消息都有一个指定的类型。
SQLServer可以选择验证消息格式是否是良好的XML,消息是
消息类型,以及哪些会话参与者能够发送这种类型的消息。
SQLServer提供了一个默认的协定和消息类型,以满足只需要可靠流的应用。
企业版中提供了两种实现数据库可用性高的方法,故障转移群集(Failover clustering)和日志传送(Log shipping),这些都是标准版中所没有的,但对于很多实用性很强的关键业务系统来说往往的必不可少的。
和标准版相比,SQLServer 2005企业版处理可以利用更多的硬件资源来增强性能,还提供了联合数据库、索引视图、并行DBCC及增强的预读和扫描等特性来提高数据库的服务性能。
SQLServer的数据仓库和商务智能组件包含:SQLServer集成服务,SQLServer分析服务,SQLServer报表服务。
它们分别在独立的服务器中实现,并且能彼此独立的安装在一台或多台机器上。
它们能通过本地连接器、OLE-DB或者ODBC驱动链接多种数据源,比如文本文件、电子表格或者各种关系数据库系统。
它们一起提供了一个端到端的解决方案,进行抽取、转换和加载数据,然后对数据建模和添加分析功能,并最后建立和分析数据的报表。
分析服务器的各个组件能够集成并相互辅助。
SQL Server 2005集成服务是一个企业数据转换和数据集成的解决方案,可以用它从分散的源抽取、转换、聚集和合并数据,并把它转移到单个或多个目的地。
SQLServer分析服务组件包含针对商务智能应用的联机分析处理和数据挖掘功能。
分析服务支持瘦客户架构。
计算引擎在服务器端,查询在服务器端解析,避免了在客户端和服务器端之间传输大量的数据。
SQLServer还支持数据挖掘扩展,用来与数据挖掘模型交互的语言,就像SQL是用来与表和视图交互的语言一样,可以创建和训练模型,并将其存储在分析服务数据库中。
然后,可以浏览模型中的模式,或者通过使用特殊的语法,将其应用于新的数据执行预测。
SQL Server 2005中的数据挖掘能够用于存储在关系或多维的数据源上。
通过特定的任务和转换,其他数据源也能够支持,使得数据挖掘直接作用于集成服务的操作型数据的流水线上。
报表服务是一个新的基于服务器的报表平台,它可以用来创建和管理包含来自关系和多维数据源的数据的表格、矩阵、图形和自由格式的报表。
创建的报表能够通过基于Web的连接查看和管理。
矩阵报表能够为高层次的查看汇总数据,同时也支持下钻报表的细节。
参数化报表可用来在运行时基于提供的值进行数据过滤。
用户可以随时从大量的查看格式中选择喜欢的格式来显示报表,并用来操纵数据和打印。
2.2JSP简介
JSP是Sun Microsystems公司倡导,许多公司参与一起建立的一种动态网页技术标准。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和
计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
JSP技术的优点如下。
1.一次编写,到处运行。
在这一点上,Java比PHP更出色,除了系统之外,代码不用做任何更改。
2.系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比的局限性是显而易见的。
3.强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
4.多样化和功能强大的开发工具支持。
Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
5.支持服务器端组件。
Web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供Web页面调用,以增强系统性能。
JSP可以使用成熟的Java Beans组件来实现复杂商务功能。
内部对象说明:Request客户端请求,此请求会包含来自Get/Post请求的参数;Response网页传回客户端的响应;pageContext网页的属性是在这里管理;session 与请求有关的会话;application servlet正在执行的内容;out用来传送响应的输出流;config代码片段配置对象;page JSP网页本身;exception针对错误网页,未捕捉的例外。
JSP的运行方式是在服务器启动后,当Web浏览器端发送过来一个页面请求时,Web服务器先判断是否是JSP页面请求。
如果该页面只是一般的HTML/XML页面请求,则直接将HTML/XML页面代码传给Web浏览器端。
如果请求的页面是JSP页面,则由JSP引擎检查该JSP页面,如果该页面是第一次被请求、或不是第一次被请求但已被修改,则JSP引擎将此JSP页面代码转换成Servlet代码,然后JSP引擎调用服务器端的Java
然后再调用Java虚拟机执行该字节码文件,将执行结果传给Web浏览器端。
如果该JSP页面不是第一次被请求,且没有被修改过,则直接用JSP 引擎调用Java虚拟机执行已编译过的字节码.class文件,然后将结果传送给Web浏览器端。
从上面的叙述中我们不难看出JSP和Servlet的关系。
JSP引擎负责把JSP页面翻译成Servlet,因此JSP在底层完全就是Servlet(指原始概念上的Servlet,而不是HttpServlet)。
JSP编程对应javax.servlet.jsp,更确切地讲,这个包是供JSP引擎使用的,它在做翻译的时候需要用到这个包,我们在编写JSP页面的时候是不需要涉及这个包的。
为什么有了Servlet还要在高层实现一个JSP呢?这个问题是跟Servlet本身编写的烦杂程度有关,如果用Servlet来控制页面外观的话,将是一件十分繁琐的事情,使用JSP 就把烦杂的打印任务交给了JSP引擎,程序员可以把精力集中到逻辑控制上面。
一般来说,支持JSP的服务器总是支持Servlet的,因为JSP本身需要Servlet的支持。
Tomcat其实是一个JSP引擎,对Servlet的支持只是其功能的一部分。
在使用JSP技术开发网站时,并不强调使用Servlet。
Servlet的应用是没有问题的,它非常适合服务器端的处理和编程。
但是如果用Servlet处理大量的HTML文本,那么将是一件极其繁琐的事情,这种事情更适合机器去做,否则,就是浪费程序员的体力。
所以Servlet更适合处理后端的事物,前端效果用JSP来实现更为合适。
早期的JSP标准给出了两种使用JSP。
这些方式都可以归纳为JSP模式1和JSP模式2,主要差别在于处理大量请求的位置不同。
在模式1中,JSP页面独自响应请求并将处理结果返回客户。
这里仍然有视图和内容的分离,因为所有的数据都依靠bean来处理。
尽管模式1可以很好地满足小型应用的需要,但却不能满足大型应用的需要。
大量使用模式1可以很好地满足小型应用的需要,但却不能满足大型应用的需要。
大量使用模式1,常常会导致页面被嵌入大量的Script和Java代码。
特别是,当需要处理的商业逻辑很复杂时,情况会变得很严重。
也许这对于Java程序员来说,这不是大问题。
但是如果开发者是前台界面设计人员,在大型项目中,这是很常见的,则代码的开发和维护将出现困难。
在任何项目中,这样的模式多少总是会导致定义不清的响应和项目管理的困难。
JSP模式2是一种面向动态内容的实现,结合了Servlet和JSP技术。
它利用两种技术原有的优点,采用JSP来表现页面,采用Servlet来完成大量的处理,Servlet扮演一个控制者的角色,并负责影响客户请求。
接着,Servlet创建JSP需要的bean和对象,在根据用户的行为,决定将哪个JSP 页面发送给用户。
特别要注意的是,JSP页面中没有任何商业处理逻辑,它只是简单的检索Servlet先前创建的bean或者对象,再将动态内容插入预定义的模板。
从开发的观点来看,这一模式具有更清晰的页面表现,清
上,越是复杂的项目,使用模式2的好处就越突出。
例如,Struts技术框架就是模式2最好的实现。
在模式2中,JSP和Servlet可以在功能上最大幅度地分开。
正确使用模式2,将会有一个中心化的控制器(Servlet),以及只完成显示的JSP页面。
另一方面,模式2的实现很复杂。
因此,在简单应用中,可以考虑使用模式1。
2.3J2EE简介
J2EE平台规范是一个由SUN公司定义的用于简化分布式企业级应用开发与部署的基于组件的模式(The J2EE Platform Specification defines a component-based model that simplifies enterprise development and deployment)。
它是一整套功能非常健壮的开发企业级中间件的规范,旨在为支持Java语言服务器端部署而提供平台无关的、可移植的、多用户的、安全的和标准的企业级平台。
它为企业级服务器端应用的开发人员提供了巨大的便利。
为企业级Java应用的部署创造了一个一致的平台。
基于层次化组件模式的J2EE平台把业务逻辑和底层网络技术分离开来,具有可伸缩性、扩展性、易开发性和易维护性,己经成为企业级商业分布式网络计算的事实标准。
J2EE是大量业内技术专家、教育专家集体智慧和经验设计出来的一套先进、完美、实用的规范,从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。
学习Java,与其说是学一种技术,还不如说是在学习一种编程思想,而J2EE 系统平台的思想是通过一个基于组件的应用程序模式为分布式应用程序提供一个统一的标准。
J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBC API,CORBA技术以及能够在Internet 应用中保护数据的安全模式等等,同时还提供了对EJB (Enterprise JavaBeans ),Java Servlet API,JSP (Java Server Pages)以及XML技术的全面支持。
其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。
通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。
J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:保留现存的IT资产;高效的开发;支持异构环境;可伸缩性;稳定的可用性等。
结构来作为系统的实现载体。
J2EE 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个
应用组件根据它们所在的层分布在不同的机器上。
其有四个层次和相应的容器:运行在客户端机器上的客户端层(Client Tier)、运行在Web 服务器上的Web 层(Web Tier)、运行在EJB 服务器上的业务层(Business Tier)和运行在EIS 服务器上企业信息系统层(Enterprise Information System Tier)。
其中Web 层和业务层共同组成了三层J2EE 应用的中间层,其它两层是客户端层和存储层或企业信息系统层。
一般情况下,许多开发商把Web 服务器和EJB 服务器产品结合在一起发布,称为应用服务器或J2EE 服务器。
J2EE 组件和层次如图2-1所示。
Client Presentation Logic
Business Logic Back-end System 图2-1 J2EE 组件和层次图 J2EE 各层的组件如下。
1.客户端层组件:包括应用客户端程序和浏览器。
2.Web 层组件:包括Java Servlet 和Java Server Pages(JSP)。
3.业务层组件:包括Enterprise JavaBeans(EJB),包含业务层代码的逻
辑,用来满足银行、零售和金融等特殊商务领域的需要。
4.企业信息系统层组件:包括企业基础建设系统例如企业资源计划
(ERP),大型机事务处理,数据库系统,及其它的遗留信息系统等。
J2EE 应用程序的一个主要优点是中间层的多层应用程序。
在J2EE 平
组件使电子商务开发者从烦琐的系统设计中解脱出来,将精力主要放在商业逻辑上,提高了应用的质量和加快了开发的速度,而让EJB Server处理底层复杂的各种系统级任务,如事务处理、组件的生命周期、状态维持、并发控制、安全检测、资源共享等。
需要这些服务的代价并不高,不用编程,只要通过简单的配置就行。
如上所述,J2EE的分层结构把Web层与企业信息系统分开,使开发人员能集中精力分别进行商务逻辑或企业信息系统的设计,从而使大型的商务应用软件的设计成为可能。
系统功能模块清晰,可读性强,维护和升级方便,各层开发人员分工明确,使J2EE成为企业建立自己的信息管理系统的最佳选择之一。