——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于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
使用说明
使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目;
将项目中c3p0-config.xml配置文件中的数据库配置改为自己的配置;
运行项目,在浏览器中输入http://localhost:8080/HotelSys 登录
管理员账号/密码:admin/123456
首页展示:
登录页面展示:
预订单展示页面:
房间管理展示页面:
数据查询页面展示:
员工管理展示:
系统设定展示页面:
更换壁纸展示页面:
入住列表展示:
房间类型展示:
——————————CodeStart——————————
后台房间管理控制层:
@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
//创建分页对象
PageInfo
//返回数据
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
//创建分页对象
PageInfo
//返回数据
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);
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=341524522608201ph
https://javayms.pages.dev?id=341524522608201ph