基于javaweb的酒店管理系统(java+jsp+bootstrap+jquery+servlet+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的酒店管理系统(java+JSP+bootstrap+jQuery+Servlet+Mysql)
项目介绍
该项目主要分为酒店管理员与操作员两种角色; 酒店管理员角色包含以下功能: 管理员登录,用户管理、住客信息管理、客房管理、房间管理、会员等级折扣管理、订单管理等功能。
操作员角色包含以下功能: 用户登录,用户管理、住客信息管理、房型管理、房间管理、订单管理等功能。
环境需要
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版本; 6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
技术栈
- 后端:Servlet 2. 前端:JSP+bootstrap+jQuery
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中link/DBUtil.java配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录 酒店管理员账号/密码:admin/admin 操作员账号/密码:aa/aa
订单控制层:
@Controller
@RequestMapping(“/orders”)
public class OrdersController {
@Resource
private OrdersService ordersService;
/**
-
添加订单
-
@param orders
-
@return
*/
@RequestMapping(“/addOrders”)
@ResponseBody
public String addOrders(Orders orders){
Map<String,Object> map = new HashMap<String,Object>();
//调用添加订单的方法
if(ordersService.addOrders(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);
房间控制层:
/**
- @author yy
*/
@Controller
@RequestMapping(“/room”)
public class RoomController {
@Resource
private RoomService roomService;
@Resource
private RoomTypeService roomTypeService;
/**
-
查询房间详情
-
@param id
-
@param model
-
@return
*/
@RequestMapping(“/{id}.html”)
public String detail(@PathVariable Integer id, Model model){
//调用查询房间详情的方法
Room room = roomService.findById(id);
//将数据放到模型中
model.addAttribute(“room”,room);
return “detail”;
/**
-
查询全部房间列表
-
@param model
-
@return
*/
@RequestMapping(“/list.html”)
public String list(Model model){
//调用查询所有房型列表的方法
List roomTypeList = roomTypeService.findRoomTypeList(null);
//创建查询条件类
RoomVo roomVo = new RoomVo();
roomVo.setStatus(3);//可预订
//查询房间列表
List roomList = roomService.findRoomListByPage(roomVo);
//将数据放到模型中
model.addAttribute(“roomTypeList”,roomTypeList);
model.addAttribute(“roomList”,roomList);
return “hotelList”;
/**
-
根据房型查询房间列表
-
@param model
-
@return
*/
@RequestMapping(“/list/{id}”)
public String list(@PathVariable Integer id,Model model){
//调用查询所有房型列表的方法
List roomTypeList = roomTypeService.findRoomTypeList(null);
//创建查询条件类
RoomVo roomVo = new RoomVo();
roomVo.setRoomtypeid(id);//房型ID
roomVo.setStatus(3);//可预订
//查询房间列表
List roomList = roomService.findRoomListByPage(roomVo);
//将数据放到模型中
model.addAttribute(“roomTypeList”,roomTypeList);
model.addAttribute(“roomList”,roomList);
model.addAttribute(“typeId”,id);//将当前选中的房型ID保存到模型中,目的是在页面中回显选中的文本(改变选中的颜色)
return “hotelList”;
用户控制层:
/**
- @author yy
*/
@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);