源码获取:俺的博客首页 "资源" 里下载!

项目介绍

管理员角色包含以下功能:
管理员登录,类目管理,用户管理,菜品管理,订单管理,公告管理,留言管理,查看日志等功能。

用户管理包含以下功能:
查看首页,用户登录,查看商品详情,查看我的收藏,查看购物车,查看我的订单,提交订单,提交留言,修改个人信息,修改密码等功能。

环境需要

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.是否Maven项目: 是;
6.数据库:MySql 5.7等版本均可;

技术栈

1. 后端:Spring+SpringMVC+Mybatis
2. 前端:JSP+CSS+JavaScript+jquery+bootstrap+echarts

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中db.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入http://localhost:8080/shop 登录
用户账号/密码: user/123456
管理员账号/密码:admin/admin

后台登陆管理控制层:

/*** 后台登陆*/
@Controller
@RequestMapping("")
public class LoginController {@AutowiredUserService userService;@RequestMapping(value="/login",method=RequestMethod.POST)public String login(Model model, String name, String password){//throws ParseExceptionSubject subject = SecurityUtils.getSubject();UsernamePasswordToken token = new UsernamePasswordToken(name,password);try {subject.login(token);User us = userService.getByName(name);String lastLoginTime = "";if(us!=null){SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//上次时间Date time = us.getLasttime();lastLoginTime = sdf.format(time);//新时间String format = sdf.format(new Date());//string转date  不处理时间格式会不理想ParsePosition pos = new ParsePosition(0);Date strtodate = sdf.parse(format, pos);us.setLasttime(strtodate);userService.update(us);}if (us.getStatus()==1){Session session=subject.getSession();session.setAttribute("subject", subject);session.setAttribute("lastLoginTime",lastLoginTime);return "redirect:index";}else {model.addAttribute("error", "账号已被停用!");return "/login";}} catch (AuthenticationException e) {model.addAttribute("error", "验证失败!");return "/login";}}}

订单管理控制层:

/*** 订单模块controller*/
@Controller
@RequestMapping("/order")
public class OrderController {@AutowiredOrderService orderService;@AutowiredOrderItemService orderItemService;/*** 所有订单* @param model* @param page* @return*/@RequestMapping("/list")public String list(Model model, Page page){PageHelper.offsetPage(page.getStart(),page.getCount());List<Order> os= orderService.list();int total = (int) new PageInfo<>(os).getTotal();page.setTotal(total);//为订单添加订单项数据orderItemService.fill(os);model.addAttribute("os", os);model.addAttribute("page", page);model.addAttribute("totals", total);return "ordermodule/order-list";}/*** 订单发货* @param o* @return*/@RequestMapping("/orderDelivery")public String delivery(Order o){o.setStatus(2);orderService.update(o);return "redirect:list";}/*** 查看当前订单的订单项* @param oid* @param model* @return*/@RequestMapping("/seeOrderItem")public String seeOrderItem(int oid,Model model){Order o = orderService.get(oid);orderItemService.fill(o);model.addAttribute("orderItems",o.getOrderItems());model.addAttribute("total",o.getOrderItems().size());model.addAttribute("totalPrice",o.getTotal());return "ordermodule/orderItem-list";}}

用户管理控制层:

/*** 管理员controller*/
@Controller
@RequestMapping("/config")
public class UserController {@AutowiredUserRoleService userRoleService;@AutowiredUserService userService;@AutowiredRoleService roleService;@RequestMapping("/enableStatus")@ResponseBodypublic String enableStatus(@RequestParam(value = "name") String name){return userService.enableStatus(name);}@RequestMapping("/stopStatus")@ResponseBodypublic String stopStatus(@RequestParam(value = "name") String name){return userService.stopStatus(name);}@RequestMapping("/adminAdd")public String adminadd(Model model){List<Role> list = roleService.list();model.addAttribute("rolelist",list);return "syspage/admin-add";}@RequestMapping("/listUser")public String list(Model model, Page page){PageHelper.offsetPage(page.getStart(),page.getCount());//分页查询List<User> us= userService.list();int total = (int) new PageInfo<>(us).getTotal();//总条数page.setTotal(total);model.addAttribute("us", us);//所有用户model.addAttribute("total",total);Map<User,List<Role>> user_roles = new HashMap<>();//每个用户对应的权限for (User user : us) {List<Role> roles=roleService.listRoles(user);user_roles.put(user, roles);}model.addAttribute("user_roles", user_roles);return "syspage/admin-list";}/*** 修改管理员角色* @param model* @param id* @return*/@RequestMapping("/editUser")public String edit(Model model,Long id){List<Role> rs = roleService.list();model.addAttribute("rs", rs);      User user =userService.get(id);model.addAttribute("user", user);//当前拥有的角色List<Role> roles =roleService.listRoles(user);model.addAttribute("currentRoles", roles);return "syspage/admin-edit";}@RequestMapping("deleteUser")public String delete(Model model,long id){userService.delete(id);return "redirect:listUser";}@RequestMapping("updateUser")public String update(User user, long[] roleIds){userRoleService.setRoles(user,roleIds);String password=user.getPassword();//如果在修改的时候没有设置密码,就表示不改动密码if(user.getPassword().length()!=0) {String salt = new SecureRandomNumberGenerator().nextBytes().toString();int times = 2;String algorithmName = "md5";String encodedPassword = new SimpleHash(algorithmName,password,salt,times).toString();user.setSalt(salt);user.setPassword(encodedPassword);}elseuser.setPassword(null);userService.update(user);return "redirect:listUser";}@RequestMapping("addUser")public String add(User user,long[] roleIds){String salt = new SecureRandomNumberGenerator().nextBytes().toString();//生成随机数int times = 2;String algorithmName = "md5";String encodedPassword = new SimpleHash(algorithmName,user.getPassword(),salt,times).toString();User u = new User();u.setName(user.getName());u.setPassword(encodedPassword);u.setSalt(salt);u.setStatus(1);u.setAddress(user.getAddress());u.setPhone(user.getPhone());userService.add(u);userRoleService.setRoles(u,roleIds);return "redirect:listUser";}}

源码获取:俺的博客首页 "资源" 里下载!

Java项目:智能点餐推荐系统(java+SSM+JSP+BootStrap+Mysql)相关推荐

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

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

  2. 基于javaweb的餐厅点餐收银管理系统(java+ssm+jsp+bootstrap+mysql)

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

  3. 基于javaweb的在线车队货车管理系统(java+ssm+jsp+bootstrap+mysql)

    基于javaweb的在线车队货车管理系统(java+ssm+jsp+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  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. 基于javaweb的员工考勤管理系统(java+ssm+jsp+bootstrap+mysql)

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

  7. 基于javaweb的图书进销存管理系统(java+ssm+jsp+bootstrap+mysql)

    基于javaweb的图书进销存管理系统(java+ssm+jsp+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/m ...

  8. 协同过滤-SSM服装在线购买购物商城(SSM,JSP,Bootstrap,MYSQL)

    服装在线购买购物商城(SSM,JSP,Bootstrap,MYSQL)(毕业论文11500字以上,共28页,程序代码,MySQL数据库) [运行环境]  Eclipse, IDEA    JDK1.8 ...

  9. Java项目:图书进销存管理系统(java+SSM+JSP+bootstrap+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本系统是基于SSM和bootstrap进行开发的项目.主要也是为了完成学校的学习任务,整体可能没有那么完美,练练手倒还行. 该 ...

最新文章

  1. Core Animation1-简介
  2. python填写excel-Python玩转Excel的读写改实例
  3. Geotools简介以及quickstsrt加载shp文件并显示
  4. [深度学习基础] 1. 图像识别问题的挑战及数据驱动过程
  5. Nginx开启SSL支持实例配置
  6. 配置springboot在访问404时自定义返回结果以及统一异常处理
  7. php xls 邮件,PHPMailer发送邮件
  8. 微信推送封面尺寸_连封面图都搞不明白,做什么新时代的新媒体人?
  9. php scandir sftp,CentOS 下使用SFTP实现网站自动生成FTP账号,实现Chroot功能
  10. Percona XtraBackup 数据恢复工具安装 ubuntu 16.04
  11. 全球第三大芯片制造商GlobalFoundries透露上市计划 或在2022年
  12. Fibonacci数列第n项的第7种计算方法:Python列表
  13. html中图片显示、隐藏
  14. IOS开发之——硬件开发-蓝牙介绍(05)
  15. 小程序怎样链接上服务器,微信小程序http连接访问解决方案
  16. 传说中的世界500强面试题-智力急转弯
  17. 北京上海开车遇加塞,像个人行不行?!
  18. 机器学习相关职位走向
  19. 窃 听 器--郭德纲相声
  20. chrome浏览器跨域Cookie的SameSite问题导致访问iframe内嵌页面异常

热门文章

  1. jquery 入门(jquery是什么/与JavaScript的联系与区别/jquery版本/引包/入口函数)
  2. cv2.VideoCapture(0)获取USB摄像头失败解决方案
  3. Streamlit(五) widgets-button
  4. 【论文阅读笔记】Ristretto: Hardware-Oriented Approximation of Convolutional Neural Networks
  5. 基金从业-(1、2)
  6. html中字号调节,设置页面字体大小 怎么调整ps界面字体的大小
  7. 计算机 优质课教案,计算机优质课教案.doc
  8. igxe本地机器人怎么用_IGXE自售机器人第四批申请开启
  9. 墨染の軍師(シオン) / 墨染(异时层火刀)
  10. [IMWeb训练营]-团队作业