Java项目:在线奶茶店系统(java+JSP+JavaScript+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项目:否;
技术栈
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)相关推荐
- 基于javaweb的在线奶茶店系统(java+jsp+javascript+servlet+mysql)
基于javaweb的在线奶茶店系统(java+jsp+javascript+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...
- Java项目:在线课程会员系统(java+Springboot+Maven+JSP+Spring+Mysql+layui)
一.项目简述 功能包括: 用户管理,课程管理,在线视频观看,评论,会员展示,会员充值等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(Inte ...
- Java项目:在线蛋糕商城系统(java+jsp+jdbc+mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 主页显示热销商品:所有蛋糕商品展示,可进行商品搜 索:点击商品进入商品详情页,具有立即购买和加入购物 车功能,可增减购 ...
- Java项目:在线水果商城系统(java+JSP+Spring+SpringMVC +MyBatis+html+mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 区分为管理员用户和普通用户,普通用户:用户注册登录,首页水果展示,商品分类展示,购物车添加,下单,订单查询,个人信息修 ...
- Java项目:在线美食网站系统(java+SSM+jsp+mysql+maven)
源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:用户的注册登录,美食浏览,美食文化,收藏百 科,趣味问答,食谱等等功能等等. 二.项目运行 环境配置: Jdk1.8 + ...
- Java项目:在线点餐系统(java+Springboot+Maven+mybatis+Vue+mysql+Redis)
源码获取:博客首页 "资源" 里下载! 项目描述: 这是一个基于SpringBoot+Vue框架开发的在线点餐系统.首先,这是一个前后端分离的项目.具有一个在线点餐系统该有的所有功 ...
- Java项目:在线宠物商店系统(java+SSM+mysql+maven+tomcat)
源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:本系统分用户前台和管理员后台. 系统包括用户的注册登录,狗狗的展示购物车添加以及下 单支付购买,后台有管理员用户,可以操 ...
- Java项目:在线婚纱摄影预定系统(java+javaweb+SSM+springboot+mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 前后用户的登录注册,婚纱照片分类,查看,摄影师预 订,后台订单管理,图片管理等等. 二.项目运行 环境配置: Jdk1 ...
- Java项目:在线甜品商城系统(java+SSM+JSP+JavaScript+Mysql)
源码获取:俺的博客首页 "资源" 里下载! 项目介绍 管理员角色包含以下功能: 管理员登录,套餐管理,甜品管理,预定管理等功能. 用户角色包含以下功能: 用户登录与注册,查看首页, ...
最新文章
- 清华AI学堂班:姚期智担任首席教授,2019年首批招收30人
- 第三章、一文告诉你FastDFS分布式如何部署
- 前端后分离深入分析 ——浏览器渲染和服务器渲染区别
- javafx动画_JavaFX动画工具
- 信息学奥赛一本通 1233:接水问题 | 1950:【10NOIP普及组】接水问题 | OpenJudge NOI 1.9 15 | 洛谷 P1190 [NOIP2010 普及组] 接水问题
- 北邮 鲁鹏老师 视频笔记
- VS2010 SP1 安装信息
- HackingTeam重磅炸弹: 估值超1000万美金带有军火交易性质的木马病毒以及远控源码泄露
- linux 蓝牙编程avrcp,bluetooth(蓝牙) AVRCP协议概念及代码流程解析
- 用MP3或WAV制作人声铃声的简单教程
- 中国石油大学-《现代应用文写作》第一阶段在线作业
- 分类排序 同辈元素只在数据上的层级关系
- 如何使用wink框架_如何使用Wink安排您的灯光
- VS2019 Xamarin.Android开发蓝牙通讯
- 信息科学技术与创新之“信息纽带”
- [转载]MIT人工智能实验室:如何做研究
- Python入门03——函数相关
- 【论文简述及翻译】PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume(CVPR 2018)
- Elliptic Curve Cryptography: a gentle introduction
- 我是那个逼走创业合伙人的CEO,我有话说!
热门文章
- helm v2升级v3版本遇到的疑难杂症
- (产品贴)“应聘宝”产品分析报告
- 0x00007FFD33144F99处(位于xx.exe中)引发的异常:Microsoft C++异常 查处方法
- python对文件读写操作
- oracle数据库返回字符串函数,oracle 数据库 分割字符串返回结果集函数
- 手写手机网站(meta)
- 人心隔肚皮,如何才能保证别人对你说的都是真的?
- 字体排版旋转90度或其他度数,页面加载完成打印
- 我在一个构造方法中写了30个参数,老板看了想骂人
- 基于鸟群优化的BP神经网络(分类应用) - 附代码