基于javaweb的酒吧后台管理系统(java+ssm+jsp+html+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb+mysql的酒吧后台管理系统(java+SSM+JSP+HTML+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版本;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:HTML+CSS+JavaScript+jsp

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录

登录管理控制层:

@Controller

public class ForeLoginController extends BaseController {

@Resource(name = “userService”)

private UserService userService;

//登录页

@RequestMapping(value = “login”, method = RequestMethod.GET)

public String goToPage(HttpSession session, Map<String, Object> map) {

logger.info(“转到前台天猫-登录页”);

return “fore/loginPage”;

//登陆验证-ajax

@ResponseBody

@RequestMapping(value = “login/doLogin”, method = RequestMethod.POST, produces = “application/json;charset=utf-8”)

public String checkLogin(HttpSession session, @RequestParam String username, @RequestParam String password) {

logger.info(“用户验证登录”);

User user = userService.login(username, password);

JSONObject jsonObject = new JSONObject();

if (user == null) {

logger.info(“登录验证失败”);

jsonObject.put(“success”, false);

} else {

logger.info(“登录验证成功,用户ID传入会话”);

session.setAttribute(“userId”, user.getUser_id());

jsonObject.put(“success”, true);

return jsonObject.toJSONString();

//退出当前账号

@RequestMapping(value = “login/logout”, method = RequestMethod.GET)

public String logout(HttpSession session) {

Object o = session.getAttribute(“userId”);

if (o != null) {

session.removeAttribute(“userId”);

session.invalidate();

logger.info(“登录信息已清除,返回用户登录页”);

return “redirect:/login”;

用户管理控制层:

/**

  • 后台管理-用户页

*/

@Controller

public class UserController extends BaseController{

@Resource(name=“userService”)

private UserService userService;

@Resource(name=“addressService”)

private AddressService addressService;

@Resource(name =“reviewService”)

private ReviewService reviewService;

@Resource(name = “productOrderItemService”)

private ProductOrderItemService productOrderItemService;

@Resource(name = “productService”)

private ProductService productService;

@Resource(name = “productImageService”)

private ProductImageService productImageService;

//转到后台管理-用户页-ajax

@RequestMapping(value = “admin/user”, method = RequestMethod.GET)

public String goUserManagePage(HttpSession session, Map<String, Object> map){

logger.info(“获取前十条用户信息”);

PageUtil pageUtil = new PageUtil(0, 10);

List userList = userService.getList(null, null, pageUtil);

map.put(“userList”, userList);

logger.info(“获取用户总数量”);

Integer userCount = userService.getTotal(null);

map.put(“userCount”, userCount);

logger.info(“获取分页信息”);

pageUtil.setTotal(userCount);

map.put(“pageUtil”, pageUtil);

logger.info(“转到后台管理-用户页-ajax方式”);

return “admin/userManagePage”;

//转到后台管理-用户详情页-ajax

@RequestMapping(value = “admin/user/{uid}”, method = RequestMethod.GET)

public String getUserById(HttpSession session, Map<String,Object> map, @PathVariable Integer uid/* 用户ID */){

logger.info(“获取user_id为{}的用户信息”,uid);

User user = userService.get(uid);

logger.info(“获取用户详情-所在地地址信息”);

Address address = addressService.get(user.getUser_address().getAddress_areaId());

Stack addressStack = new Stack<>();

//最后一级地址

addressStack.push(address.getAddress_name() + " ");

//如果不是第一级地址

while (!address.getAddress_areaId().equals(address.getAddress_regionId().getAddress_areaId())) {

address = addressService.get(address.getAddress_regionId().getAddress_areaId());

addressStack.push(address.getAddress_name() + " ");

StringBuilder builder = new StringBuilder();

while (!addressStack.empty()) {

builder.append(addressStack.pop());

logger.info(“所在地地址字符串:{}”, builder);

user.setUser_address(new Address().setAddress_name(builder.toString()));

logger.info(“获取用户详情-家乡地址信息”);

address = addressService.get(user.getUser_homeplace().getAddress_areaId());

//最后一级地址

addressStack.push(address.getAddress_name() + " ");

//如果不是第一级地址

while (!address.getAddress_areaId().equals(address.getAddress_regionId().getAddress_areaId())) {

address = addressService.get(address.getAddress_regionId().getAddress_areaId());

addressStack.push(address.getAddress_name() + " ");

builder = new StringBuilder();

while (!addressStack.empty()) {

builder.append(addressStack.pop());

logger.info(“家乡地址字符串:{}”, builder);

user.setUser_homeplace(new Address().setAddress_name(builder.toString()));

logger.info(“获取用户详情-购物车订单项信息”);

List productOrderItemList = productOrderItemService.getListByUserId(

user.getUser_id(), null

);

if (productOrderItemList != null) {

logger.info(“获取用户详情-购物车订单项对应的产品信息”);

for (ProductOrderItem productOrderItem : productOrderItemList) {

Integer productId = productOrderItem.getProductOrderItem_product().getProduct_id();

logger.warn(“获取产品ID为{}的产品信息”, productId);

Product product = productService.get(productId);

if (product != null) {

logger.warn(“获取产品ID为{}的第一张预览图片信息”, productId);

product.setSingleProductImageList(productImageService.getList(

productId, (byte) 0, new PageUtil(0, 1))

);

productOrderItem.setProductOrderItem_product(product);

user.setProductOrderItemList(productOrderItemList);

if (user.getUser_realname() != null) {

logger.info(“用户隐私加密”);

user.setUser_realname(user.getUser_realname().substring(0, 1) + “*”);

} else {

user.setUser_realname(“未命名”);

map.put(“user”,user);

logger.info(“转到后台管理-用户详情页-ajax方式”);

return “admin/include/userDetails”;

//按条件查询用户-ajax

@ResponseBody

@RequestMapping(value = “admin/user/{index}/{count}”, method = RequestMethod.GET, produces = “application/json;charset=UTF-8”)

public String getUserBySearch(@RequestParam(required = false) String user_name/* 用户名称 */,

@RequestParam(required = false) Byte[] user_gender_array/* 用户性别数组 */,

@RequestParam(required = false) String orderBy/* 排序字段 */,

@RequestParam(required = false,defaultValue = “true”) Boolean isDesc/* 是否倒序 */,

@PathVariable Integer index/* 页数 */,

@PathVariable Integer count/* 行数 */) throws UnsupportedEncodingException {

//移除不必要条件

Byte gender = null;

if (user_gender_array != null && user_gender_array.length == 1) {

gender = user_gender_array[0];

if (user_name != null) {

//如果为非空字符串则解决中文乱码:URLDecoder.decode(String,“UTF-8”);

user_name = “”.equals(user_name) ? null : URLDecoder.decode(user_name, “UTF-8”);

if (orderBy != null && “”.equals(orderBy)) {

orderBy = null;

//封装查询条件

User user = new User()

.setUser_name(user_name)

.setUser_gender(gender);

OrderUtil orderUtil = null;

if (orderBy != null) {

logger.info(“根据{}排序,是否倒序:{}”,orderBy,isDesc);

orderUtil = new OrderUtil(orderBy, isDesc);

JSONObject object = new JSONObject();

logger.info(“按条件获取第{}页的{}条用户”, index + 1, count);

PageUtil pageUtil = new PageUtil(index, count);

List userList = userService.getList(user, orderUtil, pageUtil);

object.put(“userList”, JSONArray.parseArray(JSON.toJSONString(userList)));

logger.info(“按条件获取用户总数量”);

Integer userCount = userService.getTotal(user);

object.put(“userCount”, userCount);

logger.info(“获取分页信息”);

pageUtil.setTotal(userCount);

object.put(“totalPage”, pageUtil.getTotalPage());

object.put(“pageUtil”, pageUtil);

return object.toJSONString();


基于javaweb的酒吧后台管理系统(java+ssm+jsp+html+mysql)相关推荐

  1. 基于javaweb的毕业设计毕业论文管理系统(java+ssm+jsp+tomcat+mysql)

    基于javaweb的毕业设计毕业论文管理系统(java+ssm+jsp+tomcat+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/m ...

  2. 基于javaweb的中药药方管理系统(java+ssm+jsp+bootstrap+mysql)

    基于javaweb的中药药方管理系统(java+ssm+jsp+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  3. 基于javaweb的医院住院管理系统(java+ssm+jsp+bootstrap+mysql)

    基于javaweb的医院住院管理系统(java+ssm+jsp+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  4. 基于javaweb的智能餐厅管理系统(java+ssm+jsp+bootstrap+mysql)

    基于javaweb的智能餐厅管理系统(java+ssm+jsp+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  5. 基于javaweb的员工考勤管理系统(java+ssm+jsp+bootstrap+mysql)

    基于javaweb的员工考勤管理系统(java+ssm+jsp+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  6. Java项目:酒吧后台管理系统(java+SSM+JSP+HTML+mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 管理员角色包含以下功能: 管理员登录,桌位信息查看,查看账单,日常维护,酒水库存管理等功能. 环境需要 1.运行环境:最好是j ...

  7. 基于javaweb的医药信息管理系统(java+ssm+html+easyui+mysql)

    基于javaweb的医药信息管理系统(java+ssm+html+easyui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myec ...

  8. 基于javaweb的crm客户管理系统(java+ssm+jsp+mysql+redis)

    基于javaweb的crm客户管理系统(java+ssm+jsp+mysql+redis) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecl ...

  9. 基于javaweb的茶叶商城管理系统(java+ssm+jsp+ajax+jquery+mysql)

    基于javaweb的茶叶商城管理系统(java+ssm+jsp+ajax+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

最新文章

  1. 从开源小白到 Apache Member,我的成长之路
  2. 在Outlook 2007中查看您的Google日历
  3. CImage类 from http://www.cnblogs.com/afarmer/archive/2012/03/31/2427273.html
  4. android在activity中锁屏解锁后重走OnCreate的问题的解决办法
  5. Bailian2696 计算表达式的值【入门】
  6. [转载] python实现三角形面积计算
  7. leetcode485、448、414
  8. 中国地图和地方特点介绍
  9. windows上面运行jar文件,Windows服务器后台运行jar包
  10. 二路归并排序C++实现
  11. qt界面之comboBox控件的三种基本用法
  12. Java DataStore 封装代码
  13. 1387: [蓝桥杯2018决赛]阅兵方阵
  14. 【每日一题】递增序列中绝对值最小的数
  15. 6.2排序式检索 词项频率
  16. 大二上学期总结与感想
  17. appium怎么测试ios_使用Appium,Cucumber和Serenity测试iOS应用程序—质量秘诀
  18. 【软件测试】资深测试聊一聊,测试架构师是怎么样的,做一名成功的测试工程师......
  19. LeetCode——390.消除游戏
  20. UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现

热门文章

  1. SDN软件定义网络之北向接口概述和REST API设计规范
  2. Python英文语音识别终极手册
  3. Python:太阳花的绘制
  4. 唯美动画 回音哥 仙剑五版 - 芊芊
  5. 如何给多个pdf批量加水印?
  6. BRVAH的BaseRecyclerViewAdapterHelper与MVVM模式优雅结合,Recyclerview如何在Databinding中快捷、方便地使用(三)
  7. 王学岗Kotlin协程(四)————Flow异步流
  8. 对象数据类型转value、name形式的对象数组数据类型
  9. 使用Arduino的自动饮水机
  10. 附录:15个创新世界119座城整体规划与核心思想