框架:SSM
数据库:MySQL
语言:Java
下载链接:
https://download.csdn.net/download/yw1990128/87853243
B站演示链接:
基于SSM框架的酒店管理系统_哔哩哔哩_bilibili
1.1 课题研究背景及意义
随着我国改革开放的不断推进,国内人民生活水平的不断提高,旅游出行的人民越 来越多,商务活动也相当的活跃;再加上入境旅游的人也越来越多,入境从事商务活动 的外宾也越来越多。传统的手工己不适应现代酒店管理的需要,及时、准确、全方位的 网络化信息管理成为必需。在酒店的管理及业务日益复杂、要求在不断提高的现状下, 利用高科技、现代化的电脑自动化管理系统来处理日益繁重的酒店业务,对于大型的酒 店是必须具备的管理方式。
因此,随着计算机技术的广泛应用,在酒店客房管理中引入计算机管理技术,成为 -个值得深入研究的问题。经济的飞速发展正促使酒店向着大型化、现代化发展,而对 于中、小型酒店来说,客房、顾客等有关信息的管理随之急剧增加。在酒店管理的过程 中管理者开始大量运用电脑自动化管理,利用酒店客房管理系统,来实现由计算机来代 替人工执行-系列诸如增加新客房、删除客房、客户管理、领导决策管理等操作,从而 使中小型客房信息管理变得简单、快捷、安全,为社会的发展产生无形的效益:(1)经 济效益,该系统虽然无法直接产生经济来源,却能通过减少劳动力,提高劳动效率,节 约劳动成本支出来产生隐形经济效益;(2)社会效益,该系统对大量信息进行快捷、安 全处理,有利于促进酒店行业现代化发展,提升竞争优势,提高信息的保密性和安全性。
1.2 研究现状
目前,基于web的酒店管理系统已经成为了酒店管理的主流方式,许多酒店都在采用此类系统。下面是关于基于web的酒店管理系统的研究现状:
1. 基础功能已经成熟:许多基于web的酒店管理系统已经具备了基本的客户管理、订单管理、房态管理等功能,可以实现酒店日常运营管理的要求。
2. 数据分析功能越来越受重视:现在的基于web的酒店管理系统也开始着重发展数据分析功能,帮助酒店管理者深入了解经营状况,以便调整经营策略。
3. 移动端应用趋势明显:随着移动设备的普及,基于web的酒店管理系统也开始向移动端方向扩展,开发出移动版应用程序,以方便酒店管理者随时随地管理酒店。
4. 数据安全是必须考虑的问题:酒店管理系统中包含了大量敏感信息,数据安全问题已成为必须考虑的问题,许多基于web的酒店管理系统开始加强数据加密、访问权限控制等安全性设计。
总的来说,基于web的酒店管理系统在发展过程中已经取得了一定的成果,但是在安全性、用户体验等方面仍需不断完善。
1.3开发技术简介
1、idea
在开发本平台中所有的开发软件是idea, IDEA全称IntelliJ IDEA,是java编程 语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代 码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit. CVS 整合、代码分析、创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧 程序员为主。它的旗舰版本还支持HTML, CSS, PHP, MySQL, Python等。免费版只支持 Java, Kotlin等少数语言。
2、jsp
JSP全称Java Server Pages,是-种动态网页开发技术。它使用JSP标签在HTML 网页中插入Java代码。标签通常以〈%开头以%〉结束。它是-种Java servlet,主要用 于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML 代码、XML元素以及嵌入JSP操作和命令来编写JSP, JSP通过网页表单获取用户输入数 据、访问数据库及其他数据源,然后动态地创建网页。3、 3、数据库
数据库使用的是MySOL开源数据库。MySQL使用C和C++编写,并使用了多种编译 器进行测试,保证源代码的可移植性。
MySQL与其他的大型数据库例如Oracle DB2. SQLServer等相比,自有它的不足之 处,如规模小、功能有限(MSQLCluster的功能和效率都相对比较差)等,但是这丝毫 也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySOL提供的 功能己经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体成本。
4、Tomcat
Tomcat是-个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下 被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当 在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上 Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它 实际上作为-个与Apache独立的进程单独运行的。
5、SSM框架
SSM (Spring+SpringMVC+MyBatis)框架集由 Spring、SpringMVC、MyBatis)三个开源框架整合而成,常作为数据源较简单的web项目的框架。
其中spring是一个轻呈级的控制反转(IoC)和面向切面(AOP)的容器框架。
SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离 让它们更容易进行定制。
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
第二章 需求分析
需求分析主要是为了更好的了解用户需求,它是系统设计的起点和系统测试的依据。 需求分析是否准确的描述了用户的需求直接关系到系统的实现和产品的交互。
2.1系统开发目的
本项目主要目的是开发-个功能相对完善、操作方便高效的酒店管理系统来解决目 前酒店管理事务落后、工作效率较低等问题。
2. 2功能需求分析
通过对己有酒店管理系统事务的分析,得出本系统的功能需求有:
1、用户登录模块
用户登录、注册。
2、用户模块
用户可根据导航栏类型、价格区间查询房间,查看其他用户评论、添加评论、进行预订房间等功能。
3、会员管理模块
管理员可查看、删除会员信息。
4、客房类型管理模块
管理员可添加、删除套房类型。
5、客房管理模块
管理员可查看、添加、删除、编辑房间,管理评论等功能
6、预订管理模块
管理员可查看、删除用户预订房间信息。
7、入住信息管理模块
管理员可查看入住信息、办理入住、退房结账、删除入住信息等功能
8、退出
退出和注销功能
图3-1系统功能模块图
功能:操作员输入账号和密码,系统验证,若成功,进入系统的首页;否则,提示 错误信息。当操作员输入账号后,点击提交后,会访问数据库,查询数据库中是否有该 用户,如果存在,则实现管理员登录。
@Controller
public class LoginController {
@Autowired
private LoginService loginService;
@RequestMapping(value = {"/","adminLogin.html"})
public ModelAndView toAdminLogin(HttpServletRequest request) {
request.getSession().invalidate();
return new ModelAndView("index");
}
@RequestMapping("adminLogout.html")
public String adminLogout(HttpServletRequest request) {
request.getSession().invalidate();
return "redirect:adminLogin.html";
}
@RequestMapping(value = {"userLogin.html"})
public ModelAndView toUserLogin(HttpServletRequest request) {
request.getSession().invalidate();
return new ModelAndView("user_main");
}
@RequestMapping("userLogout.html")
public String userLogout(HttpServletRequest request) {
request.getSession().invalidate();
return "redirect:userLogin.html";
}
@RequestMapping(value = "/adminLoginCheck", method = RequestMethod.POST)
@ResponseBody
public Object adminLoginCheck(HttpServletRequest request, Admin admin){
Admin admin1 = loginService.selectAdmin(admin.getAdminName(), admin.getAdminPwd());
HashMap<String, String> res = new HashMap<>();
if (admin1 != null){
request.getSession().setAttribute("admin", admin1);
res.put("stateCode", "1");
return res;
}else {
res.put("stateCode", "0");
}
return res;
}
@RequestMapping(value = "/userLoginCheck", method = RequestMethod.POST)
@ResponseBody
public Object userLoginCheck(HttpServletRequest request, User user){
User user1 = loginService.selectUser(user.getUserName(), user.getUserPwd());
HashMap<String, String> res = new HashMap<>();
if (user1 != null){
request.getSession().setAttribute("user", user1);
res.put("stateCode", "1");
return res;
}else {
res.put("stateCode", "0");
}
return res;
}
@RequestMapping("admin_main.html")
public ModelAndView adminMain(){
return new ModelAndView("admin_main");
}
@RequestMapping("userRegister")
@ResponseBody
public Object userRegister(User user){
HashMap<String, String> res = new HashMap<>();
if (loginService.selectUserByName(user.getUserName()) > 0){
res.put("registerState", "2");
} else {
if (loginService.addUser(user)) {
res.put("registerState", "1");
} else {
res.put("registerState", "0");
}
}
return res;
}
}