基于javaweb的JSP+Servlet酒店管理系统(java+servlet+c3p0+jsp+jquery+layui+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

001524382608

011524382608

521524372608

531524372608

541524372608

551524372608

561524372608

571524372608

581524372608

591524372608

基于javaweb的JSP+Servlet酒店管理系统(java+servlet+c3p0+jsp+jquery+layui+mysql)

项目介绍

主要实现的功能有:

管理员登录、楼层管理、房型管理、房间管理、预定管理、入住管理、查看账单、日志管理、用户管理等,所有管理列表页面都提供了导出到excel的功能。前端用了一个仿win10的界面模板和layui前端框架,界面非常漂亮大气。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可

4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.数据库:MySql 5.7、8.0等版本均可;

6.是否Maven项目:否

技术栈

后端:Servlet+c3p0

前端:JSP+CSS+JavaScript+jquery+layui

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

  2. 使用IDEA/Eclipse/MyEclipse导入项目;

  3. 将项目中c3p0-config.xml配置文件中的数据库配置改为自己的配置;

  4. 运行项目,在浏览器中输入http://localhost:8080/HotelSys 登录

管理员账号/密码:admin/123456

首页展示:

登录页面展示:

预订单展示页面:

房间管理展示页面:

数据查询页面展示:

 员工管理展示:

系统设定展示页面:

 更换壁纸展示页面:

 入住列表展示:

房间类型展示:

后台房间管理控制层:

@RequestMapping(“/admin/room”)

@RestController

public class RoomAdminController {

@Autowired

private RoomService roomService;

/**

  • 查询房间列表

  • @param roomVo

  • @return

*/

@RequestMapping(“/list”)

private DataGridViewResult list(RoomVo roomVo){

//设置分页信息

PageHelper.startPage(roomVo.getPage(),roomVo.getLimit());

//查询房型列表

List roomTypeList = roomService.findRoomListByPage(roomVo);

//创建分页对象

PageInfo pageInfo = new PageInfo(roomTypeList);

//返回数据

return new DataGridViewResult(pageInfo.getTotal(),pageInfo.getList());

/**

  • 添加房间

  • @param room

  • @return

*/

@RequestMapping(“/addRoom”)

public String addRoom(Room room){

Map<String,Object> map = new HashMap<String,Object>();

if(roomService.addRoom(room)>0){

map.put(SystemConstant.SUCCESS,true);//成功

map.put(SystemConstant.MESSAGE,”添加成功”);

}else{

map.put(SystemConstant.SUCCESS,false);//失败

map.put(SystemConstant.MESSAGE,”添加失败”);

return JSON.toJSONString(map);

/**

  • 修改房间

  • @param room

  • @return

*/

@RequestMapping(“/updateRoom”)

public String updateRoom(Room room){

Map<String,Object> map = new HashMap<String,Object>();

if(roomService.updateRoom(room)>0){

map.put(SystemConstant.SUCCESS,true);//成功

map.put(SystemConstant.MESSAGE,”修改成功”);

}else{

map.put(SystemConstant.SUCCESS,false);//失败

map.put(SystemConstant.MESSAGE,”修改失败”);

return JSON.toJSONString(map);

/**

  • 删除房间

  • @param id

  • @return

*/

@RequestMapping(“/deleteById”)

public String deleteById(Integer id){

Map<String,Object> map = new HashMap<String,Object>();

if(roomService.deleteById(id)>0){

map.put(SystemConstant.SUCCESS,true);//成功

map.put(SystemConstant.MESSAGE,”删除成功”);

}else{

map.put(SystemConstant.SUCCESS,false);//失败

map.put(SystemConstant.MESSAGE,”删除失败”);

return JSON.toJSONString(map);

用户管理控制层:

@Controller

@RequestMapping(“/user”)

public class UserController {

@Autowired

private UserService userService;

/**

  • 注册

  • @param user

  • @return

*/

@RequestMapping(“/register”)

@ResponseBody

public String register(User user){

Map<String,Object> map = new HashMap<String,Object>();

//调用注册的方法

if(userService.addUser(user)>0){

map.put(SystemConstant.SUCCESS,true);

map.put(SystemConstant.MESSAGE,”恭喜你,注册成功!”);

}else{

map.put(SystemConstant.SUCCESS,false);

map.put(SystemConstant.MESSAGE,”很遗憾,注册失败,请重新尝试!”);

return JSON.toJSONString(map);

/**

  • 登录

  • @param

  • @return

*/

@RequestMapping(“/login”)

@ResponseBody

public String login(String loginName, String password, HttpSession Session){

Map<String,Object> map = new HashMap<String,Object>();

//调用注册的方法

User loginUser = userService.login(loginName, password);

//登录判断

if(loginUser!=null){

//将密码清空

loginUser.setPassword(null);

map.put(SystemConstant.SUCCESS,true);

//保存登录用户信息到session中

Session.setAttribute(SystemConstant.FRONT_LOGIN_USER,loginUser);

}else{

map.put(SystemConstant.SUCCESS,false);

map.put(SystemConstant.MESSAGE,”用户名或密码错误,请重新登录!”);

return JSON.toJSONString(map);

/**

  • 根据用户名查询用户信息

  • @param loginName

  • @return

*/

@RequestMapping(“/checkName”)

@ResponseBody

public String checkName(String loginName){

Map<String,Object> map = new HashMap<String,Object>();

//调用注册的方法

if(userService.findUserByName(loginName)!=null){

map.put(SystemConstant.EXISI,true);

map.put(SystemConstant.MESSAGE,”用户名存在,请重新输入”);

}else{

map.put(SystemConstant.EXISI,false);

return JSON.toJSONString(map);

后台订单管理控制层:

@RestController

@RequestMapping(“/admin/orders”)

public class OrdersAdminController {

@Resource

private OrdersService ordersService;

/**

  • 查询订单列表

  • @param ordersVo

  • @return

*/

@RequestMapping(“/list”)

public DataGridViewResult list(OrdersVo ordersVo){

//设置分页信息

PageHelper.startPage(ordersVo.getPage(),ordersVo.getLimit());

//调用分页查询订单列表的方法

List ordersList = ordersService.findOrdersList(ordersVo);

//创建分页对象

PageInfo pageInfo = new PageInfo(ordersList);

//返回数据

return new DataGridViewResult(pageInfo.getTotal(),pageInfo.getList());

/**

  • 确认订单

  • @param orders

  • @return

*/

@RequestMapping(“/confirmOrders”)

public String confirmOrders(Orders orders){

Map<String,Object> map = new HashMap<String,Object>();

//将订单状态改成已确认(status=2)

orders.setStatus(2);

//调用修改的方法

if(ordersService.updateOrders(orders)>0){

map.put(SystemConstant.SUCCESS,true);

map.put(SystemConstant.MESSAGE,”订单确认成功”);

}else{

map.put(SystemConstant.SUCCESS,false);

map.put(SystemConstant.MESSAGE,”订单确认失败”);

return JSON.toJSONString(map);

/**

  • 批量确认订单

  • @param ids

  • @return

*/

@RequestMapping(“/batchConfirm”)

public String batchConfirm(String ids){

Map<String,Object> map = new HashMap<String,Object>();

int count = 0;

//将字符串拆分成数组

String[] idsStr = ids.split(“,”);

//循环确认

for (int i = 0; i < idsStr.length; i++) {

//创建Orders对象

Orders orders = new Orders();

orders.setStatus(2);//已确认

orders.setId(Integer.valueOf(idsStr[i]));

//调用修改订单的方法

count = ordersService.updateOrders(orders);

//判断受影响行数是否大于0

if(count>0){

map.put(SystemConstant.SUCCESS,true);

map.put(SystemConstant.MESSAGE,”订单确认成功”);

//判断受影响行数是否小于0

if(count<=0){

map.put(SystemConstant.SUCCESS,false);

map.put(SystemConstant.MESSAGE,”订单确认失败”);

return JSON.toJSONString(map);


项目链接:
https://javayms.github.io?id=341524522608201ph
https://javayms.pages.dev?id=341524522608201ph