基于javaweb+mysql的酒店预定管理系统(前台、后台)

这是一个基于JavaWeb和MySQL的酒店预定管理系统,支持用户在线浏览客房、预订客房和个人信息管理等功能。管理员可以管理客房信息、活动信息及客房评论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于javaweb+mysql的酒店预定管理系统(前台、后台)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

(1)用户在线浏览客房,管理自己的个人信息,预订客房。

(2)管理员对酒店的客房信息、活动信息进行管理,同时对客房评论进行管理。

前台

后台:

技术框架

JavaBean MVC JSP SSM(Spring SpringMVC MyBatis) MySQL EasyUI JavaScript


                	$("#add-leaveDate").datebox('setValue',selectedOrder.leaveDate);
                	$("#add-idCard").val(selectedOrder.idCard);
                	$("#add-mobile").val(selectedOrder.mobile);
                	$("#add-bookOrderId").val(selectedOrder.id);
                	$("#add-status").combobox('setValue',selectedOrder.status);
                	$("#add-roomTypeId").combobox('setValue',selectedOrder.roomTypeId);
                	$("#add-remark").val(selectedOrder.remark);
                	
                	$("#edit-name").val(selectedOrder.name);
                	$("#edit-arriveDate").datebox('setValue',selectedOrder.arriveDate);
                	$("#edit-leaveDate").datebox('setValue',selectedOrder.leaveDate);
                	$("#edit-idCard").val(selectedOrder.idCard);
                	$("#edit-mobile").val(selectedOrder.mobile);
                	$("#edit-bookOrderId").val(selectedOrder.id);
                	$("#edit-status").combobox('setValue',selectedOrder.status);
                	$("#edit-roomTypeId").combobox('setValue',selectedOrder.roomTypeId);
                	$("#edit-remark").val(selectedOrder.remark);
                	
                	$('#show-order-dialog').dialog('close'); 
                }
            }, {
			<div class="code">&amp;#xe66c;</div>
			<div class="fontclass">.Hui-iconfont-zhongzuo</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe640;</i>
			<div class="name">下载</div>
			<div class="code">&amp;#xe640;</div>
			<div class="fontclass">.Hui-iconfont-down</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe63d;</i>
			<div class="name">切换器右</div>
			<div class="code">&amp;#xe63d;</div>
			<div class="fontclass">.Hui-iconfont-slider-right</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe67d;</i>
			<div class="name">切换器左</div>
			<div class="fontclass">.Hui-iconfont-tel2</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe696;</i>
			<div class="name">电话</div>
			<div class="code">&amp;#xe696;</div>
			<div class="fontclass">.Hui-iconfont-phone</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe64c;</i>
			<div class="name">平板电脑</div>
			<div class="code">&amp;#xe64c;</div>
			<div class="fontclass">.Hui-iconfont-pad</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe64f;</i>
			<div class="name">PC</div>
			<div class="code">&amp;#xe64f;</div>
			<div class="fontclass">.Hui-iconfont-xianshiqi</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe650;</i>
			<div class="name">照相机</div>
			<div class="code">&amp;#xe650;</div>
			<div class="fontclass">.Hui-iconfont-zhaoxiangji</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe651;</i>
			<div class="name">单反相机</div>
			<div class="code">&amp;#xe651;</div>
            </tr>
            <tr>
                <td align="right">入住人姓名:</td>
                <td><input type="text" id="edit-name" name="name" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入姓名'" /></td>
            </tr>
            <tr>
                <td align="right">身份证号:</td>
                <td><input type="text" id="edit-idCard" name="idCard" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入身份证号'"  /></td>
            </tr>
            <tr>
                <td align="right">手机号码:</td>
                <td><input type="text" id="edit-mobile" name="mobile" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入手机号'" /></td>
            </tr>
            <tr>
                <td align="right">入住日期:</td>
                <td><input type="text" id="edit-arriveDate" name="arriveDate" class="wu-text easyui-datebox easyui-validatebox"  /></td>
            </tr>
            <tr>
                <td align="right">离店日期:</td>
		if(StringUtils.isEmpty(bookOrder.getMobile())){
			ret.put("type", "error");
			ret.put("msg", "预定订单联系人手机号不能为空!");
			return ret;
		}
		if(StringUtils.isEmpty(bookOrder.getIdCard())){
			ret.put("type", "error");
			ret.put("msg", "联系人身份证号不能为空!");
			return ret;
		}
		if(StringUtils.isEmpty(bookOrder.getArriveDate())){
			ret.put("type", "error");
			ret.put("msg", "到达时间不能为空!");
			return ret;
		}
		if(StringUtils.isEmpty(bookOrder.getLeaveDate())){
			ret.put("type", "error");
			ret.put("msg", "离店时间不能为空!");
			return ret;
		}
		bookOrder.setCreateTime(new Date());
		if(bookOrderService.add(bookOrder) <= 0){
			ret.put("type", "error");
		return true;
	}
}
package com.demo.controller.admin;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.demo.entity.admin.Menu;
		<li> <i class="icon Hui-iconfont">&#xe693;</i>
			<div class="name">朋友圈</div>
			<div class="code">&amp;#xe693;</div>
			<div class="fontclass">.Hui-iconfont-share-pengyouquan</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe694;</i>
			<div class="name">微信</div>
			<div class="code">&amp;#xe694;</div>
			<div class="fontclass">.Hui-iconfont-share-weixin</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe67b;</i>
			<div class="name">QQ</div>
			<div class="code">&amp;#xe67b;</div>
			<div class="fontclass">.Hui-iconfont-share-qq</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe6c8;</i>
			<div class="name">QQ空间</div>
			<div class="code">&amp;#xe6c8;</div>
		$('#edit-dialog').dialog({
			closed: false,
			modal:true,
            title: "编辑入住信息",
            buttons: [{
                text: '确定',
                iconCls: 'icon-ok',
                handler: edit
            }, {
                text: '取消',
                iconCls: 'icon-cancel',
                handler: function () {
                    $('#edit-dialog').dialog('close');                    
                }
	 * @param ids
	 * @return
	 */
	@RequestMapping(value="/delete",method=RequestMethod.POST)
	@ResponseBody
	public Map<String, String> delete(String ids){
		Map<String, String> ret = new HashMap<String, String>();
		if(StringUtils.isEmpty(ids)){
			ret.put("type", "error");
			ret.put("msg", "选择要删除的数据!");
			return ret;
		}
		if(ids.contains(",")){
			ids = ids.substring(0,ids.length()-1);
		}
		if(userService.delete(ids) <= 0){
			ret.put("type", "error");
			ret.put("msg", "用户删除失败,请联系管理员!");
			return ret;
		}
		ret.put("type", "success");
		ret.put("msg", "用户删除成功!");
		return ret;
	}
@RequestMapping("/admin/book_order")
@Controller
public class BookOrderController {
	
	@Autowired
	private AccountService accountService;
	@Autowired
	private RoomTypeService roomTypeService;
	@Autowired
	private BookOrderService bookOrderService;
	
	
	/**
	 * 预定订单管理列表页面
		</li>
		<li> <i class="icon Hui-iconfont">&#xe66c;</i>
			<div class="name">重做</div>
			<div class="code">&amp;#xe66c;</div>
			<div class="fontclass">.Hui-iconfont-zhongzuo</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe640;</i>
			<div class="name">下载</div>
			<div class="code">&amp;#xe640;</div>
			<div class="fontclass">.Hui-iconfont-down</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe63d;</i>
			<div class="name">切换器右</div>
			<div class="code">&amp;#xe63d;</div>
			<div class="fontclass">.Hui-iconfont-slider-right</div>
		</li>
		<li> <i class="icon Hui-iconfont">&#xe67d;</i>
			<div class="name">切换器左</div>
		var validate = $("#edit-form").form("validate");
		if(!validate){
			$.messager.alert("消息提醒","请检查你输入的数据!","warning");
			return;
		}
		var data = $("#edit-form").serialize();
		$.ajax({
			url:'edit',
			dataType:'json',
			type:'post',
			data:data,
			success:function(data){
				if(data.type == 'success'){
					$.messager.alert('信息提示','修改成功!','info');
					$('#edit-dialog').dialog('close');
					$('#data-datagrid').datagrid('reload');
				}else{
					$.messager.alert('信息提示',data.msg,'warning');
				}
			}
	*/
	function remove(){
		$.messager.confirm('信息提示','确定要删除该记录?', function(result){
			if(result){
				var item = $('#data-datagrid').datagrid('getSelections');
				if(item == null || item.length == 0){
					$.messager.alert('信息提示','请选择要删除的数据!','info');
					return;
				}
				var ids = '';
				for(var i=0;i<item.length;i++){
					ids += item[i].id + ',';
				}
				$.ajax({
					url:'delete',
					dataType:'json',
					type:'post',
					data:{ids:ids},
					success:function(data){
						if(data.type == 'success'){
				}
			});
		}
		
		$('#select-icon-dialog').dialog({
			closed: false,
			modal:true,
            title: "选择icon信息",
            buttons: [{
                text: '确定',
                iconCls: 'icon-ok',
                handler: function(){
                	var icon = $(".selected a").attr('class');
            		fitColumns:true,
            		idField:'id',
            	    treeField:'name',
            	    queryParams:{status:0},
            		fit:true,
            		columns:[[
            			{ field:'chk',checkbox:true},
            			{ field:'roomTypeId',title:'房型',width:150,formatter:function(value,row,index){
            				var roomTypeList = $("#search-roomType").combobox('getData');
            				for(var i=0;i<roomTypeList.length;i++){
            					if(roomTypeList[i].value == value){
            						return roomTypeList[i].text + '(¥:' + $("#search-roomType option[value='"+value+"']").attr('price') + ')';
            					}
            				}
            				return value;
	 * 分页查询入住信息
	 * @param name
	 * @param page
	 * @return
	 */
	@RequestMapping(value="/list",method=RequestMethod.POST)
	@ResponseBody
	public Map<String,Object> list(
			@RequestParam(name="name",defaultValue="") String name,
			@RequestParam(name="roomId",defaultValue="") Long roomId,
			@RequestParam(name="roomTypeId",defaultValue="") Long roomTypeId,
			@RequestParam(name="idCard",defaultValue="") String idCard,
			@RequestParam(name="mobile",defaultValue="") String mobile,
			@RequestParam(name="status",required=false) Integer status,
			Page page
			){
		Map<String,Object> ret = new HashMap<String, Object>();
		Map<String,Object> queryMap = new HashMap<String, Object>();
		queryMap.put("name", name);
		queryMap.put("status", status);
		queryMap.put("roomId", roomId);
		queryMap.put("roomTypeId", roomTypeId);
            <tr>
                <td align="right">入住价格:</td>
                <td><input type="text" id="add-checkinPrice" name="checkinPrice" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入姓名'" /></td>
            	<td></td>
            </tr>
            <tr>
                <td align="right">入住人姓名:</td>
                <td><input type="text" id="add-name" name="name" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入姓名'" /></td>
            	<td></td>
            </tr>
            <tr>
                <td align="right">身份证号:</td>
                <td><input type="text" id="add-idCard" name="idCard" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入身份证号'"  /></td>

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

酒店管理系统分为前台后台两个部分,其中后台供管理员管理系统之用,包括客房类型设置模块、客房设置模块以及操作员设置三个子模块,具体的功能模块如下。 客房类型设置模块:该模块用来管理酒店的所有客房类型,包括新增客房类型、编辑已有客房类型、删除客房类型等功能。 客房设置模块:该模块用来管理酒店的所有客房信息,包括新增客房、编辑已有客房、删除客房等功能。 操作员设置模块:该模块用来管理酒店的操作员信息,包括新增操作员、编辑已有操作员信息、删除操作信息等功能。 系统前台酒店所有工作人员使用,包括入住登记模块、结账模块、预定模块、客户管理模块以及业务统计五个模块。具体的功能模块如下。 入住登记模块:该模块用来登记客户的入住信息,其中入住信息包括登记信息、客人信息以及费用信息三部分。 结账模块:该模块用来处理客户的退房信息,只需要知道客户所住的房间号码,就能进行退房结账。 预定模块:该模块用来处理客户的预定信息,除了可以新增预定信息外,还可以对已有的预定信息进行管理。 客户管理模块:该模块用来管理客户的登记信息,包括新增客户信息、编译已有客户信息、删除客户信息等功能。 业务统计模块:该模块用来统计酒店的客房出租率,并且已图形报表的形式来显示出租率信息。 本系统的开发工具具体如下。 系统开发平台:MyEclipse 6.5。 数据库管理系统软件:MySQL 5.0。 java开发包:JDK 5.0以上。 Web服务器:Tomcat 6.0。 本系统采用MVC架构模式开发,具体技术如下。 AJAX框架:使用ExtJS技术开发 显示层:使用JSP技术开发 数据访问层:使用DAO模式开发 持久层:使用Hibernate框架开发 首页访问地址 :http://localhost:8080/JavaPrj_9/首页配置 页面 修改 打开web.xml 修改 即可 /WEB-INF/pages/userLogin.jsp 复制代码 数据库配置 为hotel-hibernate.xml 文件 测试了将近2个小时 系统跑的还不错 一下小细节 bug 大家可以自己去调整下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值