《JSP酒店管理系统论文25334.pdf》由会员分享,可在线阅读,更多相关《JSP酒店管理系统论文25334.pdf(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 摘 要 现代化的酒店组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。酒店管理系统正是为此而设计的,毕业设计中采用Java 开发,使用Mysql 数据库。继承Java 的“Write Once,Run Anywhere”的优点,可以在任何一个系统下运行,该系统采用Jsp 应用开发技术,具有一些预订客房,查询,退房等功能,尤其依靠java 的优点来为酒店更好的进行管理,稳定性,可扩展性,安全性,健壮性,都是该酒店管理的优势所在。关键词:酒店管理系统、Mysql、Java Abstract Large-sc
2、ale modernization of the hotel,services and more informative,in order to improve the labor and production,reduce costs,improve service quality and management level,thus promoting economic efficiency,to use the computer to carry out the modernization of information anagement.Hotel Management System i
3、s designed for this purpose.I graduated in the design using JAVA development mode,use the MYSQL database.JAVA succession of Write Once,Run Anywhere the advantages of a system in any run.The site using jsp development technology,with Room reservation,query information,check-out,in particular,rely on
4、the advantages of java to better manage the hotel,stability,calability,security,robustness,is the hotel management the advantage.Key words:Hotel Management System、Mysql、Java 目 录 第 1 章 前 言.1 1.1 选题背景.1 1.2 课题研究的目的和意义.1 1.3 本文的研究内容.1 1.4 国内外现状.1 第 2 章 开发环境及工具介绍.3 2.1 Eclipse简介.3 2.2 数据库开发工具.3 2.3 Tomc
5、at 服务器.4 第 3 章 系统分析.5 3.1 可行性分析.5 3.2 需求分析.5 3.2.1 酒店管理部分.6 第 4 章 数据库与系统总体设计.7 4.1 数据库分析.7 4.2 数据库设计与实现.7 4.2.1 创建数据库表结构.7 4.2.2 创建表.7 4.3 系统总体设计.10 第 5 章 详细设计.11 5.1 数据库设计与实现.11 5.2 用户登陆.11 5.3 客户预定模块.13 5.4 查询模块.18 5.5 入住模块.20 5.6 退房模块.22 结 论.26 1.课题研究过程中难点与解决方案:.26 2.系统存在的问题和进一步的工作.26 参考文献.27 致 谢
6、.28 第 1 章 前 言 1.1 选题背景 酒店业是一个前景广阔而又竞争激烈的行业。改革开放以来,我国的酒店业迅速发展,已经成为一个具有相当规模的产业。由于我国的旅游业迅速发展,通过调查,我国在2020 年将成为世界上第四大旅游国家;同时我国加入世界贸易组织,酒店业将完全开放,这个时候,我国的酒店业将面临着前所未有的机遇和挑战。但是,现在甚至还有一些酒店还停留在由人工操作和管理阶段,这样已经无法适应当前的发展趋势。因此,要想使酒店的工作质量和效率提高,采用先进的计算机网络 通信技术改变酒店业务模式,实现酒店业务管理的自动化已经成为一种必然。酒店管理系统采用B/S 结构。按照按国家星级宾馆标准
7、化业务程序流式设计,会采用主流开发工具来开发,搭建比较稳定可靠安全的服务端来辅佐客户管理,并且还采用数据库mysql,会通过测试用例来达到测试效果,技术支持会采用轻量级框架struts 和 hibernate持久化来完成,服务器采用tomcat,通过powerdesigner 来设计数据模型为最初业务流程的概念设计阶段和详细设计阶段打好基础 1。1.2 课题研究的目的和意义 对酒店整个来说,对酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算机
8、管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的业务管理提供强有力的支持。因此,采用全新的计算机网络和酒店业务管理系统,已成为提高酒店的管理效率,使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行业务管理,释放最大价值。酒店业务管理系统在达到在节省人力资源成本的同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求 2。1.3 本文的研究内容 毕业设计选题酒店管理系统,主要研究了:酒店业务的管理(划分为,登陆界面部分,查询界面部分,入住界面部分,退房界面部分)。1.4 国内外现状 随着我国经济体制改革的不断深化和我
9、国经济的快速发展,我国人民的收入不断提高,消费观念也有提高,对服务质量的要求也有很大的提高。各地把旅游业当作本 地经济发展的重要支柱之一。酒店作为人们食宿、娱乐、休闲的场所而得到了快速的发展。社会上也成立了各种类型,不同规模的酒店服务企业。如何为客户提供更 加准确及时的服务,成为各个酒店竞争关键。所以酒店业务信息化建设就成为了客户衡量酒店提供商服务标准的一个准则,信息系统成为了基础。随着Internet 技术的进一步发展和普及,不能很好的适应世界经济发展的形式和我国国民经济建设的需要,市场现有的产品化的酒店业务软件系统在不断发 展中的酒店的需求。基于 WEB 的酒店管理系统的总体设计目标能够建
10、立完善、高效、可靠的酒店业务信息系统,为酒店提供良好的信息环境 3。第2章 开发环境及工具介绍 2.1 Eclipse简介 目前,市场上计算机语言和开发工具有很多,但是Eclipse 的以其稳定和与平台无关的特性,从众多编程工具中脱颖而出,成为很多Java 程序员的首选。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。虽然大多数用户很乐于将 Eclipse 当作 Java
11、IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+
12、、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java 差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle 在内的许多 大公司也纷纷加入了该项目,并宣称Eclipse 将来能成为可进行任何语言开发的IDE 集大成者,使用者只需下载各种语言的插件即可 4。2.2 数据库开发工具 由于MySQL 是开放源代码的,因此任何人都可以在General Public Li
13、cense 的许可下下载并根据个性化的需要对其进行修改。MySQL 因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL 是管理内容最好的选择。MySQL 关系型数据库于1998 年1 月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C+、Eiffel、Java、Perl、PHP、Python 以及Tcl 等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT 和WHERE 操作。MySQL 开发组计划于2001 年中期公布MySQL4.0 版本。在这个版本中将有以下新的特性
14、被提供:新的表定义文件格式、高性能的数据复制功能、更加强大的全文搜索功能。在此之后,MySQL 开发着希望提供安全的数据复制机制、在BeOS 操作系统上的MySQL实现以及对延时关键字的定期刷新选项。随着时间的推进,MySQL 将对ANSI 92/ANSI 99标准完全兼容。时至今日 mysql 和 php 的结合绝对是完美,很多大型的网站也用到mysql 数据库.mysql 的发展前景是非常光明的 5!2.3 Tomcat服务器 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,最新的Servlet 和 JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的
15、Servlet 2.4 和 JSP 2.0 规范。因为 Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
16、这里的诀窍是,当配置正确时,Apache 为 HTML 页面服务,而 Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat 和 IIS、Apache 等 Web 服务器一样,具有处理HTML 页面的功能,另外它还是一个Servlet 和 JSP 容器,独立的Servlet 容器是Tomcat 的默认模式。不过,Tomcat 处理静态HTML 的能力不如Apache 服务器 6。第3章 系统分析 3.1 可行性分析 随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行。同时,酒店和餐厅娱乐业引入电脑服务和管理也取得了优良的经济 效益和社会效益。
17、为此,国家建设部已于最近作出明确规定:凡星级酒店在项目审批时,其设计方案必须包括电脑管理系统,否则不予立项。可见,酒店管理电脑化 势在必行。酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念的服务和管理方式。一个成熟的酒店管理系统不仅仅是记录酒店客人的信息,提供查询,报表打印等一系列简单的工作,它能让工作人员从烦琐的手工操作中解脱,并且酒店管理系统本 身就代表着一种管理方法。随着它的深入,将带动企业的运做,为管理和决策提供支持。为了达到这个要求,它必须依靠高起点的硬件环境和软件开发工具来保证系 统的稳定和正常运行。酒店电脑系统要求24 小时连续运行,数
18、据量大,可靠性要求高,因此整个电脑系统供电采用专线方式,加配UPS(不间断供电系统),并合理接地,以便保障整套系统的正常运行 7。3.2 需求分析 系统需对用户登录进行管理。使用各功能模块时,系统应验证用户身份的有效性,否则要求用户登录。另外,允许用户对自己的密码进行修改。系统应提供客房的分类管理功能,可分类制订客房面积、价格、是否配备空调等客房类型,对不同标准的客房进行有效管理。系统可实现对客房信息的添加、删除以及修改。在进行入住/退房管理时,系统可以根据客房当前的状态自动提示可用服务(入住/退房)。如果客房没有客人入住,则该客房的可用服务为“入住”;否则,可用服务为“退房”。系统的客户端在
19、Windows 平台下运行,服务器端可在Windows 平台或UNIX 平台下运行。系统还需要有较好的安全性和可扩展性 8。需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。整个系统可以分为2 大部分。酒店网站部分(客户服务网站)和酒店管理部分(管理员部分)。本系统只做了有关酒店管理的一部分。3.2.1 酒店管理部分 1.客房管理:预订客房管理、客房查询、退房管理。前台服务员的主要职能是负责订房和退房,以及查询入住的客户信息。所有该角色只可以使用部分功能,包括预定管理
20、、客户信息查询,入住管理,退房管理功能。第 4 章 数据库与系统总体设计 4.1 数据库分析 数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。这个问题是数据库在应用领域的主要研究课题。按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段 7:需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库运行和维护 4.2 数据库设计与实现 数据库分析完成后,我们就可以对
21、数据库进行设计了。在酒店客房管理系统中,数据库的设计工作主要包括建立管理系统的数据库,创建所需要的表,也可以设计相关的视图及存储过程。这些设计工作都在powerdesigner 环境下操作并实现导入到Mysql。4.2.1 创建数据库表结构 通过Powerdesigner 设计完酒店预订系统数据库表结构后,可以导入到Mysql 中,由于PowerDesigner 的导出到mysql 中出现“”问题所以需要进行手工调节错误。PL/SQL 已经更新过,登陆PL/SQL 用户名localhaost 密码123456 数据库名称是project 4.2.2 创建表 数据库表结构:管理员表(user)客
22、户信息表(client),客房信息表(room),其他消费表(consumer)。下面分别介绍下这些表的结果。1.管理员表 管理员表(user)用来保存操作员登陆的基本信息,表user 的结构如表所示。表 4-1 管理员表 列名 数据类型 长度 主键 是否为空 说明 ID INTEGER 是 NOT NULL 编号 username VARCHAR(20)20 NOT NULL 管理员用户名 password VARCHAR(20)20 NOT NULL 密码 2.客户信息表 客户信息表(client)用来保存使用该系统的酒店员工的基本信息,表client 的结构如下。表 4-2 客户信息表
23、列名 数据类型 长度 主键 是否为空 说明 ID INTEGER 是 NOT NULL 编号 cleintname VARCHAR(20)20 NOT NULL 客户名字 sex VARCHAR(20)20 NOT NULL 性别 Age int NULL 年龄 shenfenzheng int NOT NULL 身份证 minzhu VARCHAR(20)20 NOT NULL 民族 dianhua int NULL 电话 roomno int NOT NULL 房间号 Yuding int NOT NULL 预定状态 3.客房信息表 客房信息表(room)用来保存酒店所有客房基本信息,表r
24、oom 的结构如表所示。表 4-3 客房信息表 列名 数据类型 长度 主键 是否为空 说明 roomno INTEGER 是 NOT NULL 房间号 statue INTEGER NOT NULL 房间入住状态 startdate datetime 20 NULL 入住时间 enddate datetime 20 NULL 退房时间 4.消费信息表 消费信息表(consumer)用来保存酒店所有预订客房的基本信息,表consumer 的结构如表所示。表 4-4 消费信息表 列名 数据类型 长度 主键 是否为空 说明 Id INTEGER 11 NOT NULL 编号 consumerno I
25、NTEGER 11 是 NOT NULL 顾客编号 food float NULL 食物消费 Dianhua float null 电话消费 fruit float NULL 水果消费 4.3 系统总体设计 在本系统中,管理系统模块主要实现对酒店预定添加,修改,修改的管理;客房与用户信息的查询管理;入住管理;退房的管理。该模块中存在4 个子模块,他们为平行结构,关系如下列图。图 4-5 系统模块图 系统管理 客户 预定模块 查询信息模块 入住模块 退房模块 修改登记 预定登记 显所有客户信息 显示房间状态 取消登记 查询房间 预定入住 登记入住 退房 第 5 章 详细设计 5.1 数据库设计与
26、实现 数据库通用类由 DAO 部分来实现,它是应用程序通过数据池访问数据的基础类,也是应用程序实现上层业务逻辑的基础。该类主要封装了创建访问数据库的一些对象或方法,如数据库连接对象等,以及执行数据库操作的对象或方法。数据库连接是连接数据库的必要对象,在该类定义了连接对象 CON,该对象在整个类中都 可以使用。数据库连接代码实现如下:DataSource ds=null;Context context;try context=new InitialContext();ds=(DataSource)context.lookup(java:/comp/env/jdbc/mysqlds);catch(
27、NamingException e)e.printStackTrace();System.out.println(获取数据源错误!);5.2 用户登陆 在本次系统中,用户登陆模块与普通应用系统的用户登陆是基本相同的。因此当一个用户登陆管理系统之后,管理员的操作流程如以下图所示。否 是 图 5-1 管理员登陆操作流程 登陆界面 输入用户名和密码 查询成功 登陆管理界面 图 5-2 系统登陆界面截图 登陆模块主要思想为:当输入用户名和密码提交后到logincheck 控制模块进行处理,当输入正确时转到jiemian.jsp;否则回到login.jsp 页面重新输入,同时提醒登陆错误。Loginch
28、eck 代码如下:request.setCharacterEncoding(utf-8);String username=request.getParameter(username);String password=request.getParameter(password);DataSource ds=null;String message=null;Context context;try context=new InitialContext();ds=(DataSource)context.lookup(java:/comp/env/jdbc/mysqlds);catch(NamingEx
29、ception e)e.printStackTrace();System.out.println(获取数据源错误!);try String sql=select username,password from user where username=?and password=?;QueryRunner run=new QueryRunner(ds);String str=username,password;List list=(List)run.query(sql,str,new BeanListHandler(room.class);if(list.isEmpty()message=登陆失败
30、!请重新输入;request.setAttribute(message,message);request.getRequestDispatcher(/login.jsp).forward(request,response);else request.getRequestDispatcher(/jiemian.jsp).forward(request,response);catch(SQLException e)e.printStackTrace();5.3 客户预定模块 预定模块有三个子功能实现:预定登记,修改登记和取消登记;各子模块实现如下:在本系统中,预定系统模块主要实现对酒店预定添加,修
31、改,取消的管理,关系如下列图。添加是为预定客户保留预定信息,流程如下:否 是 图 5-3“添加”流程 点击“添加”按钮 显示空房列表 输入客户信息,点击确定 是否有空房 选择房间 弹出预定客户客户信息表 显示空列表 提示操作成功 图 5-4 预登记模块界面截图 预定登记设计思想:当登记时首先经过getallroom 控制块处理,获得还有的空房在roomseachnull.jsp 界面显示,然后选择预定的房间进行预定,接着转到addclient.jsp 进行客户信息填写,最后经过insertroom 到数据库添加。getallroom代码实现如下:request.setCharacterEnco
32、ding(utf-8);String leixing=request.getParameter(leixing);String yuding=request.getParameter(yuding);int i=Integer.parseInt(leixing);/i!=1;为预定登记操作 try if(i=1)sql=select roomno,statue,startdate,enddate from room;else sql=select roomno,statue,startdate,enddate from room where statue=0;QueryRunner run=n
33、ew QueryRunner(ds);List list=(List)run.query(sql,new BeanListHandler(room.class);request.setAttribute(list,list);if(i=1)request.getRequestDispatcher(/main/roomseach.jsp).forward(request,response);elserequest.setAttribute(yuding,yuding);request.getRequestDispatcher(/main/roomseachnull.jsp).forward(re
34、quest,response);catch(SQLException e)e.printStackTrace();选择预定房间,点击“预定”后;预定客户信息表设计界面如下:图 5-5 预定客户信息表界面 提交到insertroom 对数据库操作:当leixing=0 时是预定操作,leixing=1 时是入住操作,当leixing=2 时是退房操作。Insertroom 代码如下:request.setCharacterEncoding(utf-8);ServletContext application=getServletContext();String leixing=(String)ap
35、plication.getAttribute(leixing);String roomno=(String)application.getAttribute(roomno);System.out.println(roomno);System.out.println(leixing);int i=Integer.parseInt(leixing);DataSource ds=null;Context context;try context=new InitialContext();ds=(DataSource)context.lookup(java:/comp/env/jdbc/mysqlds)
36、;catch(NamingException e)e.printStackTrace();System.out.println(获取数据源错误!);int result=0;String message=null;String sql=null;try switch(i)case 0:sql=update room set statue=1 where roomno=?;break;case 1:sql=update room set statue=2,startdate=now()where roomno=?;break;case 2:sql=update room set enddate=
37、now()where roomno=?;break;String sr=roomno;QueryRunner run=new QueryRunner(ds);result=run.update(sql,sr);if(i=1)sql=update client set yuding=2 where roomnumber=?;QueryRunner run1=new QueryRunner(ds);run1.update(sql,sr);if(i=2)ServletContext application1=getServletContext();application1.setAttribute(
38、roomno,roomno);RequestDispatcher rs=request.getRequestDispatcher(/servlet/seachall);try rs.forward(request,response);return;catch(Exception e)elseif(result=1)message=操作成功!;else message=操作失败!;request.setAttribute(message,message);request.getRequestDispatcher(/addResult.jsp).forward(request,response);
39、catch(SQLException e)e.printStackTrace();“修改”操作为预定客户提供修改相关信息的功能,流程图如下:否 是 图 5-6“修改”流程 点击“修改”按钮 输入用户身份证号 是否存在 显示修改客户信息列表 修改信息,点击确定 提示修改成功 显示空列表 图 5-7“修改”流程 设计思想:输入身份证号后提交经trueroom 查找客户信息,在xiugai.Jsp 页面显示客户的信息,修改后提交update 对数据库进行修改.Truroom 代码如下:request.setCharacterEncoding(utf-8);ServletContext applica
40、tion=getServletContext();String leixing=(String)application.getAttribute(leixing);String roomno=(String)application.getAttribute(roomno);DataSource ds=null;Context context;try context=new InitialContext();ds=(DataSource)context.lookup(java:/comp/env/jdbc/mysqlds);catch(NamingException e)e.printStack
41、Trace();System.out.println(获取数据源错误!);try String sql=select*from room where statue=?and roomno=?;QueryRunner run=new QueryRunner(ds);String str=leixing,roomno;List list=(List)run.query(sql,str,new BeanListHandler(room.class);if(list.isEmpty()request.getRequestDispatcher(/servlet/insertroom).forward(r
42、equest,response);elseServletContext application1=getServletContext();application1.setAttribute(roomno,roomno);application1.setAttribute(leixing,leixing);RequestDispatcher rs=request.getRequestDispatcher(/servlet/insertroom);tryrs.forward(request,response);return;catch(Exception e)catch(SQLException
43、e)e.printStackTrace();“取消”操作为客户提供取消预定的功能,方便客户改变计划,流程图如下:否 是 图 5-8“取消”流程 5.4 查询模块 在本系统中,查询系统模块主要实现对酒店房间状态查询,客户查询和所有客户信息查询的管理,查询设计主要包括:房间入住情况查询,客户查询和显示所有客户;关系如下列图。查询房间状态能更好的了解酒店入住情况,为客户修改房间号提供依据,流程如下:图 5-9“房间状态”查询流程 点击“取消”按钮 输入身份证号 是否存在 提示不存在信息 显示客户列表,点击取消 提示取消成功 点击“房间状态显示”显示所有房间入住情况 图 5-10 房间入住情况”查询界
44、面截图 房间查询的思想为:先到getallroom 控制块对条件进行处理,将满足条件的房间号的数组放到room.Class 中,再到Roomseach.Jsp 页面将数组显示出来。getallroom 代码实现如下:try sql=select roomno,statue,startdate,enddate from room;QueryRunner run=new QueryRunner(ds);List list=(List)run.query(sql,new BeanListHandler(room.class);request.setAttribute(list,list);reque
45、st.getRequestDispatcher(/main/roomseach.jsp).forward(request,response);catch(SQLException e)e.printStackTrace();客户查询为其他人员查找客户提供方便快捷的功能,提高效率,其流程图如下:否 是 图 5-11“客户”查询流程 点击“客户查询”输入身份证号 是否存在 显示客户信息 显示空列表 设计思想与gatallroom 基本相同,只是SQL 语句中的查询表不同。显示所有客户信息是客户查询的进一步扩展,可以查看所有的客户,并提供修改的功能,其流程图如下:图 5-12“显示所有客户”流程 图
46、 5-13“显示所有客户”查询界面截图 设计思想与gatallroom 基本相同,只是SQL 语句中的查询表不同。5.5 入住模块 在本系统中,入住系统模块主要实现对预定客户入住和散客登记入住的管理,关系如下列图。预定入住是为预定客户提供入住手续的模块,为预定客户提供方便,其流程图如下:点击“显示所有客户信息”显示所有客户的信息列表 否 是 图 5-14“预定入住”流程 图 5-15“预定入住”模块界面截图 预定入住设计思想为:首先到getclient 控制块中查询已经预定的客户信息,到Yudingruzu.Jsp 页面显示出来,然后选择客户进行入住。getclient代码实现如下:try S
47、tring sql=select clientname,sex,shenfenzheng,roomnumber from client where yuding=1;QueryRunner run=new QueryRunner(ds);List list=(List)run.query(sql,new BeanListHandler(dbcommen.class);request.setAttribute(list,list);request.getRequestDispatcher(/main/yudingruzhu.jsp).forward(request,response);catch
48、(SQLException e)e.printStackTrace();点击“预定入住”显示所有预定客户信息 选择预定入住客户,点击“入住”提示操作成功 是否有预定客户 显示空列表 登记入住是为散客提供入住的操作,其流程如下:否 是 图 5-16“登记入住”流程 5.6 退房模块 在本系统中,退房模块主要实现对入住客户退房的管理,关系如下列图。否 是 图 5-17“退房”操作流程 点击“登记入住”显示“空房信息列表”选择房间,点击“入住”填写客户信息,点击“确定”提示操作成功 是否有空房 显示空列表 点击“退房”输入房间号,点击确定 是否有入住 显示客户信息及消费情况 结账,点击“退房”提示操
49、作成功 不存在 输入房间号:302 后:图5-18 客户退房模块设计是:输入房间号后查询客户信息及消费情况;在输出之前首先要预先查询房间号是否有人入住,再修改数据库信息,最后显示客户的信息及消费情况。退房设计思想为:当输入房间号后到trueroom2 控制块中查询该房间是否已经入住,到满足条件时,到insertroom 对数据库插入退房时间,然后再到getall 控制块查询:客户信息,房间入住,退房时间以及客户消费信息。最后到all.Jsp 页面显示所有信息。然后结账,退房。trueroom2 预先查询代码如下:request.setCharacterEncoding(utf-8);Strin
50、g roomno=request.getParameter(roomno);String leixing=request.getParameter(leixing);try String sql=select*from room where statue=?and roomno=?;QueryRunner run=new QueryRunner(ds);String str=leixing,roomno;List list=(List)run.query(sql,str,new BeanListHandler(room.class);ServletContext application1=ge