基于eclipsetomcat的酒店管理系统房间预订模块含源文件.docx
- 文档编号:16693236
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:23
- 大小:389.68KB
基于eclipsetomcat的酒店管理系统房间预订模块含源文件.docx
《基于eclipsetomcat的酒店管理系统房间预订模块含源文件.docx》由会员分享,可在线阅读,更多相关《基于eclipsetomcat的酒店管理系统房间预订模块含源文件.docx(23页珍藏版)》请在冰点文库上搜索。
基于eclipsetomcat的酒店管理系统房间预订模块含源文件
大理学院数学与计算机学院
综合性实验报告
学年学期:
课程名称:
J2EE
专业:
班级:
学号:
姓名:
成绩评定:
一、项目名称:
酒店管理系统——房间预订模块
二、功能性需求
1、系统描述
随着信息的迅速发展,信息化管理已经引入并且应用到各行各业的管理领域中去,而一个大型的机电将管理信息化也是势在必行的,大量的客流量,同时还要存储各项业务的信息不断更换的客流信息,员工个人信息和工资发配等任务,若要时还是用人力管理不仅将会影响到盈利的同时无异于又给每一位员工带来了很大的工作量!
从系统安全可靠性,系统功能,软件运行环境等方面对酒店管理系统进行需求分析,说明系统的合理性与可行性,阐述了系统的运行情况。
本文采用MVC模式设计并实现了一个酒店管理系统,该系统包括系统设置、日常管理、库存管理、客户房间预定管理、订餐管理等。
这里主要描述客户房间预订管理。
2、软件功能详细描述
本系统主要是开发一个酒店管理系统,该系统包括系统设置、日常管理、库存管理、客户房间预定管理、订餐管理等功能。
本系统可应用于小型的酒店管理,本次综合性作业完成的是酒店管理系统中的一个小功能模块——房间预订模块。
用户可以在网上申请注册个人或企业用户,进行网上客房预订和查询办理等。
系统功能架构的用户房间预订模块功能结构图,如图所示。
3、业务流程(业务逻辑)分析
(1)注册:
用户进入酒店网页首页,如果是老顾客,直接输入用户名密码进行登录,如果是新顾客,进行注册过再进行登录。
(2)浏览酒店客房状态信息:
顾客通过查寻可以看到空闲房间剩余列表。
(3)预订:
选择房间点击预订,填写相关信息,如选择到店日期、离店日期、联系方式等进行预订。
(4)查看预订信息:
从预订房间查看,可以看到客户自己当前订单,已入住用户可以查看到自己的入住单。
4、数据流分析
该系统数据流程比较简单,管理员可以添加酒店客房信息,然而这些信息用户是可以浏览的,但是用户没有权限对这些信息进行修改,这些信息对于用户而言是单向的。
对于预定信息,管理员可以增删改查预定信息。
3、系统总体设计
1.MVC设计思想
MVC模式全名是ModelViewController,是模型(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各组成部份及调用关系
4、系统实现
(1)关键代码
1.登陆界面Login.html
登陆页面
如果你没有账号可以点击
2.注册页面Register.html
姓名:
年龄:
性别:
地址:
电话:
用户类型:
3.房间列表页面RoomList.jsp
<%List
Maproom0=newHashMap();
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);
Maproom1=newHashMap();
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);
Maproom2=newHashMap();
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);
Maproom3=newHashMap();
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);
Maproom4=newHashMap();
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);
Maproom5=newHashMap();
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);
Maproom6=newHashMap();
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);
Maproom7=newHashMap();
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);
%>
request.setCharacterEncoding("utf-8");
String[]selectedRooms=request.getParameterValues("selectedrooms");
for(inti=0;i Maproom=roomList.get(i); //introomid=Integer.valueOf(room.get("roomName").toString()); out.println(" +" } <%}session.setAttribute("selectedRooms",selectedRooms);%> 4.订单预定页面Order.jsp <%request.setCharacterEncoding("utf-8"); String[]selectedRooms=request.getParameterValues("selectedrooms"); for(inti=0;i Maproom=roomList.get(Integer.valueOf(selectedRooms[i]));%> <%}session.setAttribute("selectedRooms",selectedRooms);%> 5.预定结果页面OrderResult.jsp <%request.setCharacterEncoding("utf-8"); Stringtime1=request.getParameter("arrive"); Stringtime2=request.getParameter("leave"); Stringname=request.getParameter("name"); Stringshouji=request.getParameter("shouji"); Stringdizhe=request.getParameter("dizhe");%> 尊敬的用户您已经成功预订! 您的信息如下! 预计到店日期: <%out.println(time1);%> 预计离店日期: <%out.println(time2);%> 姓名: <%out.println(name);%> 手机号码: <%out.println(shouji);%> 地址: <%out.println(dizhe);%> 6.Failure.jsp——订单预订失败页面,可返回房间列表页面重新预订 尊敬的用户您的预订失败! 请重新预订! 如果你没有预订可以点击 7.User.java——用户实体类,包括姓名、年龄、性别、地址、电话等属性 packageedu.dali; publicclassUser{ privateStringname; privateStringage; privateStringsex; privateStringadress; privateStringphone; privateStringusertype; publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetAge(){ returnage; } publicvoidsetAge(Stringage){ this.age=age; } publicStringgetSex(){ returnsex; } publicvoidsetSex(Stringsex){ this.sex=sex; } ………… } 注: 8、9、10这几个实体类属性定义与6相类似,不再一一列举。 8.Room.java——房间实体类,包括编号、名称、床型、价格等属性。 9.Order.java——订单实体类,包括联系人姓名、联系方式、到店时间等信息。 10.OrderDetail.java——订单明细实体类,包括房间编号、数量等信息。 11.JdbcDao.java——数据库操纵通用类,处理与数据库连接的相关操作。 packageDao; importjava.sql.Connection; importjava.sql.ResultSet; publicclassJdbcDao{ staticpublicConnectiongetConnection(Stringurl,Stringroot,Stringpwd){ returncon; } staticpublicintinsert(Stringsql){ return1; } staticpublicResultSetselect(Stringsql){ } } 12.UserServlet.java——用户信息控制器,处理用户登录 13.RoomServlet.java——房间信息控制器,处理预订信息 packageedu.dali.hotel.servlet; importjava.io.IOException; importjava.util.List; importjavax.servlet.ServletException; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.*; importjavax.servlet.*; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importjavax.servlet.http.HttpSession; importedu.dali.hotel.model.Room; importedu.dali.hotel.service.RoomService; protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。"+" "+room.get("roomName").toString()+" "+""+room.get("zc").toString()+" "+""+room.get("cx").toString()+" "+""+room.get("wlan").toString()+" "+""+room.get("msj").toString()+" "+""+room.get("price").toString()+" ""+" ");下面是预订房间信息
早餐 床型 宽带 预订价 房价 <%out.println(room.get("food"));%> <%out.println(room.get("bed"));%> <%out.println(room.get("web"));%> <%out.println(room.get("money1"));%>元 <%out.println(room.get("money2"));%>元 联系方式(请认真填写)
预计到店日期: 预计离店日期: 姓名: 手机号码: 固定号码: 电子邮箱: