基于eclipse、tomcat的酒店管理系统――房间预订模块(含源文件)
大理学院数学与计算机学院
综合性实验报告
学年学期:
课程名称: J2EE 专业:
班级:
学号:
姓名:
成绩评定:
一、项目名称:酒店管理系统——房间预订模块 二、功能性需求 1、系统描述
随着信息的迅速发展,信息化管理已经引入并且应用到各行各业的管理领域中去,而一个大型的机电将管理信息化也是势在必行的,大量的客流量,同时还要存储各项业务的信息不断更换的客流信息,员工个人信息和工资发配等任务,若要时还是用人力管理不仅将会影响到盈利的同时无异于又给每一位员工带来了很大的工作量!
从系统安全可靠性,系统功能,软件运行环境等方面对酒店管理系统进行需求分析,说明系统的合理性与可行性,阐述了系统的运行情况。本文采用MVC 模式设计并实现了一个酒店管理系统,该系统包括系统设置、日常管理、库存管理、客户房间预定管理、订餐管理等。这里主要描述客户房间预订管理。 2、软件功能详细描述
本系统主要是开发一个酒店管理系统,该系统包括系统设置、日常管理、库存管理、客户房间预定管理、订餐管理等功能。本系统可应用于小型的酒店管理,本次综合性作业完成的是酒店管理系统中的一个小功能模块——房间预订模块。用户可以在网上申请注册个人或企业用户,进行网上客房预订和查询办理等。系统功能架构的用户房间预订模块功能结构图,如图所示。
3、业务流程(业务逻辑)分析
(1)注册:用户进入酒店网页首页,如果是老顾客,直接输入用户名密码进行登录,如果是新顾客,进行注册过再进行登录。
(2)浏览酒店客房状态信息:顾客通过查寻可以看到空闲房间剩余列表。 (3)预订:选择房间点击预订,填写相关信息,如选择到店日期、离店日期、联系方式等进行预订。
(4)查看预订信息:从预订房间查看,可以看到客户自己当前订单,已入住用户可以查看到自己的入住单。
用户房间预订模块
客房预订情况查询
客房预订
4、数据流分析
该系统数据流程比较简单,管理员可以添加酒店客房信息,然而这些信息用户是可以浏览的,但是用户没有权限对这些信息进行修改,这些信息对于用户而言是单向的。对于预定信息,管理员可以增删改查预定信息。 三、系统总体设计 1.MVC 设计思想
MVC 模式全名是Model View Controller ,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,把Web 应用的输入、输出和处理流程按照Model 、View 和 Controller 分成三层,最典型的MVC 就是JSp +servlet +javabean 的模式。Event(事件)导致Controller 改变Model 或View ,或者同时改变两者。只要Controller
开 始
进入酒店管理系统
进入房间预订模块 用户登录 用户名是否存在
判断用户是否存在
是
新用户注册
否,点击链接
显示用户注册信息
房间列表页面
房间预订
填写相关预订信息
显示预订成功信息
预订是否成功
判断预订是否成功
返回
登陆成功 是
否
显示预订失败信息
点击链接
结束本次预订
改变了Models 的数据或者属性,所有依赖的View 都会自动更新。类似的,只要
Controller 改变了View ,View 会从潜在的Model 中获取数据来刷新自己。
Model (模型)是应用程序中用于处理应用程序数据逻辑的部分。用于与用户交互,可以用HTML 、JSP 、FreeMarker 等实现。
View (视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。用于表示业务数据和实现业务逻辑,通常可以用JavaBean 或EJB 来实现
Controller (控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。控制层可以用Servlet 实现。
Web 开发中的MVC 请求——响应模型:
本功能模块采用Model2实现房间的预订,按照MVC 分层设计的思想,共需要编写14个文件,对应的文件名及功能描述如下表所示: 层 文件名
描述
视图层
Login.html 登录页面,注册过的用户直接登录,进入系统 Register.html 用户信息注册页面,包括姓名、性别、年龄、用户类型等信息
RoomList.jsp
房间列表信息,用户可选择(多选)房间
Order.jsp
订单填写页面,显示预订房间信息 OrderResult.jsp 订单预订成功页面,显示预订信息
Failure.jsp
订单预订失败页面,可返回房间列表页面重新预订 控制器层 UserServlet.java
用户信息控制器,处理用户登录 RoomServlet.java 房间信息控制器,处理预订信息 OrderServlet.java 订单信息控制器
模型层 User.java 模型部分JavaBean,包括姓名、性别、密码等属性 Room.java
房间实体类,包括编号、名称、床型、价格等属性 Order.java
订单实体类,包括联系人姓名、联系方式、到店时间等信息
OrderDetail.java 订单明细实体类,包括房间编号、数量等信息 JdbcDao.java
数据库操纵通用类,处理与数据库连接的相关操作
2.MVC各组成部份及调用关系
四、系统实现
(一)关键代码
1.登陆界面Login.html
登陆页面
3.房间列表页面RoomList.jsp
<%List
Map room0=new HashMap();
room0.put("roomName","精致山景房");
room0.put("roomNo","0");
room0.put("zc","双早");
room0.put("cx","大/双");
room0.put("wlan","免费");
room0.put("msj","¥1788");
room0.put("price","¥558");
roomList.add(room0);
Map room1=new HashMap();
room1.put("roomName","商务山景房");
room1.put("roomNo","1");
room1.put("zc","双早");
room1.put("cx","大/双");
room1.put("wlan","免费");
room1.put("msj","¥1988");
room1.put("price","¥608");
roomList.add(room1);
Map room2=new HashMap();
room2.put("roomName","商务山景房");
room2.put("roomNo","2");
room2.put("zc","双早");
room2.put("cx","大/双");
room2.put("wlan","免费");
room2.put("msj","¥1788");
room2.put("price","¥658"); roomList.add(room2);
Map room3=new HashMap();
room3.put("roomName","商务海景房"); room3.put("roomNo","3");
room3.put("zc","双早");
room3.put("cx","大/双");
room3.put("wlan","免费");
room3.put("msj","¥1788");
room3.put("price","¥608"); roomList.add(room3);
Map room4=new HashMap();
room4.put("roomName","精致海景房"); room4.put("roomNo","4");
room4.put("zc","双早");
room4.put("cx","大/双");
room4.put("wlan","免费");
room4.put("msj","¥1788");
room4.put("price","¥608"); roomList.add(room4);
Map room5=new HashMap();
room5.put("roomName","精致海景房"); room5.put("roomNo","5");
room5.put("zc","双早");
room5.put("cx","大/双");
room5.put("wlan","免费");
room5.put("msj","¥1788");
room5.put("price","¥608"); roomList.add(room5);
Map room6=new HashMap();
room6.put("roomName","精致海景房"); room6.put("roomNo","6");
room6.put("zc","双早");
room6.put("cx","大/双");
room6.put("wlan","免费");
room6.put("msj","¥1788");
room6.put("price","¥608");
roomList.add(room6);
Map room7=new HashMap();
room7.put("roomName","行政山景房");
room7.put("roomNo","7");
room7.put("zc","双早");
room7.put("cx","大/双");
room7.put("wlan","免费");
room7.put("msj","¥2688");
room7.put("price","¥888");
roomList.add(room7);
%>