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

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

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb的SSM酒吧后台管理系统(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/ 登录
@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<User> userList = userService.getList(null, null, pageUtil);

map.put("userList", userList);

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

Integer userCount = userService.getTotal(null);


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) {


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);


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

PageUtil pageUtil = new PageUtil(0, 10);

List<User> 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);


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/* 用户名称 */,


return "redirect:/login";

用户管理控制层:

/**

* 后台管理-用户页

*/

@Controller

public class UserController extends BaseController{

@Resource(name="userService")

private UserService userService;

@Resource(name="addressService")

private AddressService addressService;

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();

//退出当前账号


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/* 用户名称 */,


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

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

PageUtil pageUtil = new PageUtil(0, 10);

List<User> 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";


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("用户验证登录");

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)


@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<User> 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);


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<User> 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("获取分页信息");

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";

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);


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

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

List<ProductOrderItem> 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);

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) {

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

小型酒吧在线管理系统MinibarCMS是使用Java MVC模式 + Mysql数据库开发的一个简单的文章管理系统,代码简单,数据库也非常mini,特别适合初学者研究与学习! V2版本中对前端进行了重构,一个全新的平面化设计的前端,更新内容如下: 1、增加14个Sevelet来处理相关数据,减少了多余的JSP页面 2、FCKediter更改为ueditor 3、前端使用JQ+JQ UI的方式重新布局和实现相关功能 4、登陆增加了Ajax查询用户名是否正确 5、注册页面增加了Ajax查询用户名是否存在,验证码同样使用了Ajax的方式直接在注册页面进行验证,无需跳转后再验证,提高了用户体验度 6、所有表单提交都增加了实时验证功能 7、所有页面都进行了权限设置,游客无法访问被限制的页面 8、后台登陆,进行了严格的权限分配,不是管理员的用户无法登陆,在V1.0版本中,任意用户可以随意登陆后台 9、增加了Json数据,可以通过Jsonp的方式调用和读取相关Json数据 10、优化了SEO功能 11、减小了整个网站的体积 12、增加了FontAwesome字体图标 13、优化了Javamail无法发送邮件及发送失败的问题 14、增加7天自动登陆功能,使用cookie的形式实现7天内自动登录 15、增加了DB.properties,配置Mysql数据库链接地址、用户名、密码,更加人性化,链接数据库只需修改DB.properties中的相关信息即可,无需修改源码
小型酒吧在线管理系统MinibarCMS是使用Java MVC模式 + Mysql数据库开发的一个简单的文章管理系统,代码简单,数据库也非常mini,特别适合初学者研究与学习! V2版本中对前端进行了重构,一个全新的平面化设计的前端,更新内容如下: 1、增加14个Sevelet来处理相关数据,减少了多余的JSP页面 2、FCKediter更改为ueditor 3、前端使用JQ+JQ UI的方式重新布局和实现相关功能 4、登陆增加了Ajax查询用户名是否正确 5、注册页面增加了Ajax查询用户名是否存在,验证码同样使用了Ajax的方式直接在注册页面进行验证,无需跳转后再验证,提高了用户体验度 6、所有表单提交都增加了实时验证功能 7、所有页面都进行了权限设置,游客无法访问被限制的页面 8、后台登陆,进行了严格的权限分配,不是管理员的用户无法登陆,在V1.0版本中,任意用户可以随意登陆后台 9、增加了Json数据,可以通过Jsonp的方式调用和读取相关Json数据 10、优化了SEO功能 11、减小了整个网站的体积 12、增加了FontAwesome字体图标 13、优化了Javamail无法发送邮件及发送失败的问题 14、增加7天自动登陆功能,使用cookie的形式实现7天内自动登录 15、增加了DB.properties,配置Mysql数据库链接地址、用户名、密码,更加人性化,链接数据库只需修改DB.properties中的相关信息即可,无需修改源码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值