HotelSystem

2025-12-07 0 561

Xhotel


?Introduction

TopView工作室一轮考核项目:酒店管理系统(黄钰朝

xhotel是一个酒店管理系统,提供查看房间,预订房间,个人信息管理,房间和酒店信息管理(管理员)等功能
后台技术:Java,tomcat,mysql,servlet,jsp

✔️Quick Start

点击这里立即体验

Information

开发者:黄钰朝
联系邮箱:kobe524348@gmail.com
项目开发时间:2019-04-04至2019-04-25
版本号:1.0.0
开源许可:Apache License 2.0

运行环境:

  • tomcat 9.0.17
  • mysql 5.7.29
  • jdk 1.8

☀️Features

1.登陆页面

2.首页

3.模糊查询房间

4.留言板

实现的功能

1.用户模块

  • 注册功能
  • 登陆功能
  • 记住登陆状态,下次自动登陆
  • 退出登陆
  • 用户查看个人信息,修改自己的个人信息
  • 用户上传自己的头像,修改自己的头像
  • 用户修改自己的登陆密码
  • 用户修改自己的支付密码
  • 搜索房间,查看房间信息,预订房间
  • 订单中可以选择入住时间,离开时间
  • 订单中可以填写备注信息
  • 用户查看自己的订单,取消自己的订单
  • 可以在留言板中留言,查看别人的留言

2.管理员模块

  • 管理员可以添加新用户
  • 管理员可以添加新房间
  • 管理员可以修改房间信息,删除房间

3.超级管理员

  • 对酒店增删查改(无界面展示,仅完成到Dao层)

⚡代码特色

安全性

  • 使用正则进行输入检查,不允许不合法数据进入数据库
  • PrepareStatement防止sql注入
  • 过滤标签注入
  • 使用md5加密用户密码
  • 使用uuid保证全局唯一性
  • 空指针检查

代码复用性

  • 所有Dao都是BaseDao的子类,子类只负责处理对应Service层传入的数据
    和书写部分sql语句,所有数据库操作都在BaseDao的两个方法中
  • po层使用继承体系,所有实体都(直接或间接)继承BaseEntity,存储数据库表的id,status,gmt_create,和gmt_modified信息,
    并且房间和服务都继承Product类,房间和服务订单都继承Order
  • md5加密,获取uuid,等等功能放到工具类复用
  • 重复代码抽取重构,使用模板方法和策略模式等优化代码

可维护性

  • 代码注释:绝大部分代码都提供了类注释,方法注释,属性注释
  • 接口文档:使用javadoc注释,提供API文档
  • 面向接口编程:Dao层和Service层都向上提供接口,与实现类分离
  • 封装性:po,vo层只有getter和setter方法
  • 健壮性:绝大多数类都有对应的测试类,并且经过多轮测试
  • 规范性: 统一前端请求参数规范,使用枚举类管理请求参数
  • 使用配置文件,数据库配置,连接池配置,工厂配置全部与代码分离
  • MVC设计模式:servlet中没有页面输出,jsp中没有java代码,数据处理
    都下放到service层
  • 几乎没有“魔法值”:绝大多数的常量使用枚举类,极少数使用final变量,
    剩下的是前端部分请求参数中的常量
  • 避免代码污染:将CheckException封装成RuntimeException再向
    上层抛出,避免各层之间出现耦合
  • 单一职责:每个Service都有自己对应的Dao层实现类,每个Service和Dao可以单独完成自己的功能

封装数据的入口和出口:

  • 前端数据:所有的请求参数通过BeanUtils映射成实体类对象,在此过程统一过滤标签注入
  • 持久化数据:所有的数据库更新操作和数据库查询操作都封装在BaseDaoImpl的executeUpdate和executeQuery
    方法中,只有这两个方法中向数据库连接池取连接,资源统一获取和释放
  • 查询结果集数据:BaseDaoImpl封装了所有的数据库更新操作和大部分的查询操作,只有少数查询
    通过子类传入sql语句执行,结果集的处理全部由BaseDaoImpl封装
  • 状态和处理结果:service层返回的转台码和处理后的数据,全部放在Result中返回
  • 页面数据:所有返回前端的数据都放在PageVo中返回

性能

  • 手写数据库连接池,提高访问数据库性能

设计模式

  • 工厂模式
  • 单例模式
  • 策略模式
  • 装饰模式
  • 模板方法
  • MVC模式

?项目开发日志:

4月20日更新:构建基本的jsp页面

4月17日更新:构建房间,订单等服务

4月14日更新:构建控制层,UserService实现

4月12日更新:构建房间,订单Dao实现

4月11日更新:构建UserDao

4月10日更新:构建基础Dao层

4月9日更新:初步构建Dao层

4月8日更新:构建数据库连接池

4月7日更新:建立项目

4月3日更新:提交项目需求分析(项目命名:Xhotel)

4月1日更新:目前处于需求分析,建立数据模型和业务流程初步设计阶段

3月30日更新:刚刚完成CAT工作室的项目,加上QG训练营有任务,暂未开始动手

准备先好好总结一下CAT项目的经验,并且把一些遇到的问题理解清楚再动手写这个项目

License

本软件仅供交流学习,不得用于商业用途

Copyright 黄钰朝

Licensed under the Apache License, Version 2.0 (the \”License\”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.***apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an \”AS IS\” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

下载源码

通过命令行克隆项目:

git clone https://github.com/misterchaos/HotelSystem.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 HotelSystem https://www.zuozi.net/31509.html

draco2
下一篇: draco2
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务