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

项目介绍

本系统分为前后台,分为普通用户和管理员两种角色;

管理员角色包含以下功能:

管理员登录,用户管理,分类管理,奶茶信息管理,订单管理,新闻管理等功能。

用户角色包含以下功能:
用户登录,按分类查看,查看商品详情,加入购物车,修改个人信息,查看订单,提交留言,留言管理等功能。

环境需要

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项目:否;

技术栈

JSP+CSS+JavaScript+java+servlet+mysql

使用说明

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

用户控制层:

/*** 用户**/
@RestController
@RequestMapping("user")
public class UserController {@AutowiredUserService userService;@AutowiredUserDao dao;@RequestMapping("/test")R test() {R r = new R();return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(dao.findAll());}@RequestMapping("/queryInfoByAccount")R queryInfoByAccount(@RequestParam("account") String account) {R r = new R();if (StringUtil.isEmpty(account)){return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM);}User loginUser = userService.queryInfo(account);if (loginUser == null){return r.setCode(4000).setMsg(HttpMsg.INVALID_USER);}return r.setCode(2000).setData(loginUser);}@RequestMapping("/find")R find(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey) {R r = new R();Map<String, Object> map = new HashMap<>();List<User> users = userService.find(searchKey);if (users == null) {return r.setCode(2000);}List<User> items = users.size() >= page * Constant.PAGE_SIZE ?users.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE): users.subList((page - 1) * Constant.PAGE_SIZE, users.size());int len = users.size() % Constant.PAGE_SIZE == 0 ? users.size() / Constant.PAGE_SIZE: (users.size() / Constant.PAGE_SIZE + 1);map.put("items", items);map.put("len", len);return r.setCode(2000).setData(map);}@RequestMapping("/create")R create(@RequestBody User user) {R r = new R();int ans = userService.add(user);if (ans == 1) {return r.setCode(2000).setMsg(HttpMsg.ADD_USER_OK);}return r.setCode(4000).setMsg(HttpMsg.ADD_USER_FAILED);}@RequestMapping("/update")R update(@RequestBody User user) {R r = new R();int ans = userService.update(user);if (ans >= 0) {return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK);}return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED);}@DeleteMapping("/delete")R delete(@RequestParam("id") int id) {R r = new R();int ans = userService.delete(id);if (ans == 1) {return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK);}return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED);}
}

订单控制层:

/*** 订单控制层**/
@RestController
@RequestMapping("order")
public class OrderController {@AutowiredOrderService orderService;@AutowiredUserDao userDao;@AutowiredOrderDao orderDao;@AutowiredFlowersDao flowersDao;@RequestMapping("/test")R test() {R r = new R();return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(orderDao.findAll(null));}@RequestMapping("/queryByAccount")R queryByAccount(@RequestParam("account") String account) {R r = new R();if (StringUtil.isEmpty(account)) {return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM);}List<Order> orders = orderService.queryByAccount(account);return r.setCode(2000).setData(orders);}@RequestMapping("/find")R find(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey, @RequestParam("account") String account) {R r = new R();Map<String, Object> map = new HashMap<>();List<Order> orders = orderService.find(searchKey, account);if (orders == null) {return r.setCode(2000);}map.put("items", orders);map.put("len", orders.size());return r.setCode(2000).setData(map);}@RequestMapping("/findAll")R findAll(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey) {R r = new R();Map<String, Object> map = new HashMap<>();List<Order> orders = orderService.findAll(searchKey);if (orders == null) {return r.setCode(2000);}List<Order> items = orders.size() >= page * Constant.PAGE_SIZE ?orders.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE): orders.subList((page - 1) * Constant.PAGE_SIZE, orders.size());int len = orders.size() % Constant.PAGE_SIZE == 0 ? orders.size() / Constant.PAGE_SIZE: (orders.size() / Constant.PAGE_SIZE + 1);List<OrderVo> vos = new ArrayList<>();for (Order item : items) {User user = userDao.queryById(item.getUid());OrderVo vo = new OrderVo();vo.setAddress(user.getAddress()).setPhone(user.getPhone()).setUsername(user.getName()).setAmount(item.getAmount()).setFlower(item.getFlower()).setId(item.getId()).setUid(item.getUid()).setOrder_guid(item.getOrder_guid()).setPrice(item.getPrice()).setState(item.getState());vos.add(vo);}map.put("items", vos);map.put("len", len);return r.setCode(2000).setData(map);}@RequestMapping("/update")R update(@RequestBody Order order) {R r = new R();int ans = orderService.update(order);if (ans >= 0) {return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK);}return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED);}@RequestMapping("/changeState")R changeState(@RequestBody Order order) {orderDao.changeState(order);return new R().setCode(2000).setMsg(HttpMsg.UPDATE_ORDER_OK);}@DeleteMapping("/delete")R delete(@RequestParam("id") int id) {R r = new R();int ans = orderService.delete(id);if (ans == 1) {return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK);}return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED);}
}

用户登录控制层:

/*** 登录**/
@RestController
@RequestMapping("login")
public class LoginController {@AutowiredLoginDao loginDao;@RequestMapping("/doLogin")R doLogin(@RequestBody LoginForm form) {R r = new R();if (!VerifyUtil.verifyLoginForm(form)) {return r.setCode(4000).setMsg(HttpMsg.ERROR_INPUT);}User loginUser = loginDao.login(form);if (loginUser != null) {return r.setCode(2000).setMsg("欢迎您:" + loginUser.getName()).setData(loginUser);}return r.setCode(4000).setMsg(HttpMsg.ERROR_VERIFY);}@RequestMapping("/test")R test() {R r = new R();return r.setCode(4000).setMsg(Constant.IMG_PATH);}}

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

Java项目:在线奶茶店系统(java+JSP+JavaScript+servlet+Mysql)相关推荐

  1. 基于javaweb的在线奶茶店系统(java+jsp+javascript+servlet+mysql)

    基于javaweb的在线奶茶店系统(java+jsp+javascript+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...

  2. Java项目:在线课程会员系统(java+Springboot+Maven+JSP+Spring+Mysql+layui)

    一.项目简述 功能包括: 用户管理,课程管理,在线视频观看,评论,会员展示,会员充值等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(Inte ...

  3. Java项目:在线蛋糕商城系统(java+jsp+jdbc+mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 主页显示热销商品:所有蛋糕商品展示,可进行商品搜 索:点击商品进入商品详情页,具有立即购买和加入购物 车功能,可增减购 ...

  4. Java项目:在线水果商城系统(java+JSP+Spring+SpringMVC +MyBatis+html+mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 区分为管理员用户和普通用户,普通用户:用户注册登录,首页水果展示,商品分类展示,购物车添加,下单,订单查询,个人信息修 ...

  5. Java项目:在线美食网站系统(java+SSM+jsp+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:用户的注册登录,美食浏览,美食文化,收藏百 科,趣味问答,食谱等等功能等等. 二.项目运行 环境配置: Jdk1.8 + ...

  6. Java项目:在线点餐系统(java+Springboot+Maven+mybatis+Vue+mysql+Redis)

    源码获取:博客首页 "资源" 里下载! 项目描述: 这是一个基于SpringBoot+Vue框架开发的在线点餐系统.首先,这是一个前后端分离的项目.具有一个在线点餐系统该有的所有功 ...

  7. Java项目:在线宠物商店系统(java+SSM+mysql+maven+tomcat)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:本系统分用户前台和管理员后台. 系统包括用户的注册登录,狗狗的展示购物车添加以及下 单支付购买,后台有管理员用户,可以操 ...

  8. Java项目:在线婚纱摄影预定系统(java+javaweb+SSM+springboot+mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 前后用户的登录注册,婚纱照片分类,查看,摄影师预 订,后台订单管理,图片管理等等. 二.项目运行 环境配置: Jdk1 ...

  9. Java项目:在线甜品商城系统(java+SSM+JSP+JavaScript+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 管理员角色包含以下功能: 管理员登录,套餐管理,甜品管理,预定管理等功能. 用户角色包含以下功能: 用户登录与注册,查看首页, ...

最新文章

  1. 清华AI学堂班:姚期智担任首席教授,2019年首批招收30人
  2. 第三章、一文告诉你FastDFS分布式如何部署
  3. 前端后分离深入分析 ——浏览器渲染和服务器渲染区别
  4. javafx动画_JavaFX动画工具
  5. 信息学奥赛一本通 1233:接水问题 | 1950:【10NOIP普及组】接水问题 | OpenJudge NOI 1.9 15 | 洛谷 P1190 [NOIP2010 普及组] 接水问题
  6. 北邮 鲁鹏老师 视频笔记
  7. VS2010 SP1 安装信息
  8. HackingTeam重磅炸弹: 估值超1000万美金带有军火交易性质的木马病毒以及远控源码泄露
  9. linux 蓝牙编程avrcp,bluetooth(蓝牙) AVRCP协议概念及代码流程解析
  10. 用MP3或WAV制作人声铃声的简单教程
  11. 中国石油大学-《现代应用文写作》第一阶段在线作业
  12. 分类排序 同辈元素只在数据上的层级关系
  13. 如何使用wink框架_如何使用Wink安排您的灯光
  14. VS2019 Xamarin.Android开发蓝牙通讯
  15. 信息科学技术与创新之“信息纽带”
  16. [转载]MIT人工智能实验室:如何做研究
  17. Python入门03——函数相关
  18. 【论文简述及翻译】PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume(CVPR 2018)
  19. Elliptic Curve Cryptography: a gentle introduction
  20. 我是那个逼走创业合伙人的CEO,我有话说!

热门文章

  1. helm v2升级v3版本遇到的疑难杂症
  2. (产品贴)“应聘宝”产品分析报告
  3. 0x00007FFD33144F99处(位于xx.exe中)引发的异常:Microsoft C++异常 查处方法
  4. python对文件读写操作
  5. oracle数据库返回字符串函数,oracle 数据库 分割字符串返回结果集函数
  6. 手写手机网站(meta)
  7. 人心隔肚皮,如何才能保证别人对你说的都是真的?
  8. 字体排版旋转90度或其他度数,页面加载完成打印
  9. 我在一个构造方法中写了30个参数,老板看了想骂人
  10. 基于鸟群优化的BP神经网络(分类应用) - 附代码