基于JSP+Servlet+MySQL+的在线购物电子商务商城系统
商城首页
首页信息
首页信息
登陆
商品列表
订单列表
个人信息
商品管理
添加商品
咨询列表
添加购物车
购物车管理
订单创建
技术描述
开发工具: Idea/Eclipse
数据库: mysql
Jar包仓库: Jar包
前段框架:jquery/Jsp
后端框架: Jsp/Servlet
资料说明
基于JSP+Servlet+MySQL+的在线购物电子商务商城系统,分为管理员,普通用户角色,整体功能包含,登陆,添加购物车,购物车管理,下订单,订单管理,用户管理,商品分类管理,商品上架,咨询管理,用户信息查询,我的订单,商品管理等。
@WebServlet(urlPatterns = {"/Cart"}, name = "Cart")
public class CartServlet extends AbstractServlet {private ProductService productService;private OrderService orderService;private UserService userService;private ProductCategoryService productCategoryService;private CartService cartService;private UserAddressService userAddressService;public void init() throws ServletException {productService = new ProductServiceImpl();orderService = new OrderServiceImpl();userService = new UserServiceImpl();productCategoryService = new ProductCategoryServiceImpl();cartService = new CartServiceImpl();userAddressService = new UserAddressServiceImpl();}@Overridepublic Class getServletClass() {return CartServlet.class;}/*** 添加到购物车** @return*/public ReturnResult add(HttpServletRequest request, HttpServletResponse response) throws Exception {HttpSession session = request.getSession();ReturnResult result = new ReturnResult();String id = request.getParameter("entityId");String quantityStr = request.getParameter("quantity");Integer quantity = 1;if (!EmptyUtils.isEmpty(quantityStr))quantity = Integer.parseInt(quantityStr);//查询出商品Product product = productService.findById(id);if (product.getStock() < quantity) {return result.returnFail("商品数量不足");}//获取购物车ShoppingCart cart = getCartFromSession(request);//往购物车放置商品result = cart.addItem(product, quantity);if (result.getStatus() == Constants.ReturnResult.SUCCESS) {cart.setSum((EmptyUtils.isEmpty(cart.getSum()) ? 0.0 : cart.getSum()) + (product.getPrice() * quantity * 1.0));}return result;}/*** 刷新购物车** @param request* @param response* @return*/public String refreshCart(HttpServletRequest request, HttpServletResponse response) throws Exception {HttpSession session = request.getSession();ShoppingCart cart = getCartFromSession(request);cart = cartService.calculate(cart);session.setAttribute("cart", cart);//全部的商品return "/common/pre/searchBar";}/*** 跳到结算页面** @param request* @param response* @return*/public String toSettlement(HttpServletRequest request, HttpServletResponse response) throws Exception {List<ProductCategoryVo> productCategoryVoList = productCategoryService.queryAllProductCategoryList();//封装返回request.setAttribute("productCategoryVoList", productCategoryVoList);return "/pre/settlement/toSettlement";}/*** 跳转到购物车页面** @param request* @param response* @return*/public String settlement1(HttpServletRequest request, HttpServletResponse response) throws Exception {ShoppingCart cart = getCartFromSession(request);cart = cartService.calculate(cart);request.getSession().setAttribute("cart", cart);return "/pre/settlement/settlement1";}/*** @param request* @param response* @return*/public String settlement2(HttpServletRequest request, HttpServletResponse response) throws Exception {User user = getUserFromSession(request);List<UserAddress> userAddressList = userAddressService.queryUserAdressList(user.getId());request.setAttribute("userAddressList", userAddressList);return "/pre/settlement/settlement2";}/*** 生成订单** @param request* @param response* @return*/public Object settlement3(HttpServletRequest request, HttpServletResponse response) throws Exception {ShoppingCart cart = getCartFromSession(request);cart = cartService.calculate(cart);User user = getUserFromSession(request);ReturnResult result = checkCart(request);if (result.getStatus() == Constants.ReturnResult.FAIL) {return result;}//新增地址String addressId = request.getParameter("addressId");String newAddress = request.getParameter("newAddress");String newRemark = request.getParameter("newRemark");UserAddress userAddress = new UserAddress();if (addressId.equals("-1")) {userAddress.setRemark(newRemark);userAddress.setAddress(newAddress);userAddress.setId(userAddressService.addUserAddress(user.getId(), newAddress, newRemark));} else {userAddress = userAddressService.getUserAddressById(Integer.parseInt(addressId));}//生成订单Order order = orderService.payShoppingCart(cart, user, userAddress.getAddress());clearCart(request, response);request.setAttribute("currentOrder", order);return "/pre/settlement/settlement3";}/*** 清空购物车** @param request* @param response*/public ReturnResult clearCart(HttpServletRequest request, HttpServletResponse response) throws Exception {ReturnResult result = new ReturnResult();//结账后清空购物车request.getSession().removeAttribute("cart");result.returnSuccess(null);return result;}/*** 修改购物车信息** @param request* @return*/public ReturnResult modCart(HttpServletRequest request, HttpServletResponse response) throws Exception {ReturnResult result = new ReturnResult();HttpSession session = request.getSession();String id = request.getParameter("entityId");String quantityStr = request.getParameter("quantity");ShoppingCart cart = getCartFromSession(request);Product product = productService.findById(id);if (EmptyUtils.isNotEmpty(quantityStr)) {if (Integer.parseInt(quantityStr) > product.getStock()) {return result.returnFail("商品数量不足");}}cart = cartService.modifyShoppingCart(id, quantityStr, cart);session.setAttribute("cart", cart);//全部的商品return result.returnSuccess();}/*** 从session中获取购物车** @param request* @return*/private ShoppingCart getCartFromSession(HttpServletRequest request) throws Exception {HttpSession session = request.getSession();ShoppingCart cart = (ShoppingCart) session.getAttribute("cart");if (cart == null) {cart = new ShoppingCart();session.setAttribute("cart", cart);}return cart;}private ReturnResult checkCart(HttpServletRequest request) throws Exception {ReturnResult result = new ReturnResult();HttpSession session = request.getSession();ShoppingCart cart = getCartFromSession(request);cart = cartService.calculate(cart);for (ShoppingCartItem item : cart.getItems()) {Product product = productService.findById(item.getProduct().getId() + "");if (product.getStock() < item.getQuantity()) {return result.returnFail(product.getName() + "商品数量不足");}}return result.returnSuccess();}/*** @param request* @return*/private User getUserFromSession(HttpServletRequest request) {HttpSession session = request.getSession();User user = (User) session.getAttribute("loginUser");return user;}
}
@WebServlet(urlPatterns = {"/Favorite"}, name = "Favorite")
public class FavoriteServlet extends AbstractServlet {private ProductService productService;public void init() throws ServletException {productService = new ProductServiceImpl();}@Overridepublic Class getServletClass() {return FavoriteServlet.class;}/*** 跳转到历史记录** @param request* @param response* @return*/public String toFavoriteList(HttpServletRequest request, HttpServletResponse response) throws Exception {List<Product> recentProducts = queryFavoriteList(request);request.setAttribute("recentProducts", recentProducts);return "/pre/product/favoriteList";}/*** 添加到收藏** @return*/public ReturnResult addFavorite(HttpServletRequest request, HttpServletResponse response) throws Exception {ReturnResult result = new ReturnResult();String id = request.getParameter("id");Product product = productService.findById(id);List<Product> favoriteList = queryFavoriteList(request);//判断是否满了if (favoriteList.size() > 0 && favoriteList.size() == 5) {favoriteList.remove(0);}boolean temp = false;for (int i = 0; i < favoriteList.size(); i++) {if (favoriteList.get(i).getId().equals(product.getId())) {temp = true;break;}}if (!temp) {favoriteList.add(favoriteList.size(), product);}MemcachedUtils.add(getFavoriteKey(request), favoriteList);result.returnSuccess();return result;}/*** 查询最近商品** @return*/private List<Product> queryFavoriteList(HttpServletRequest request) throws Exception {HttpSession session = request.getSession();User user = (User) session.getAttribute("loginUser");//判断用户是否登录String key = EmptyUtils.isEmpty(user) ? session.getId() : user.getLoginName();List<Product> recentProducts = (List<Product>) MemcachedUtils.get(key);if (EmptyUtils.isEmpty(recentProducts)) {recentProducts = new ArrayList<Product>();}return recentProducts;}/*** @param request* @return*/private String getFavoriteKey(HttpServletRequest request) throws Exception {HttpSession session = request.getSession();User user = (User) session.getAttribute("loginUser");return EmptyUtils.isEmpty(user) ? session.getId() : user.getLoginName();}
}
基于JSP+Servlet+MySQL+的在线购物电子商务商城系统相关推荐
- 基于 jsp + servlet + Mysql 实现 网上书店购物系统 (源码)
文章目录 一.前言 二.相关技术: 三.功能分析: 1.前台: 2.后台: 四.效果展示: 1.登录与注册: 2.前台: 3.后台: 五.后记: 一.前言 该系统是简单的模仿 当当网 书店系统,分为前 ...
- 基于JSP+Servlet+MySQL+Css+Ajax的在线网上电子图书商城
项目运行截图 用户注册 登陆 分类信息 推荐图书 推荐图书 管理员用户 用户列表 图书新增 添加图书分类 添加分类 待处理订单列表 订单详情 用户注册 开发工具: Idea/Eclipse 数据库: ...
- 基于jsp+servlet+mysql的酒店管理系统(附源码)
本系统是基于jsp+servlet+mysql的前后端分离的酒店管理系统,前后端分离是指前端和后端分别是两个独立存在的项目,能独立运行.没有前端项目,后端也能运行且进行数据管理,没有后端项目,前端也能 ...
- 基于JSP + Servlet + Mysql 的校园二手交易平台(源码 + 文档)
基于JSP + Servlet + Mysql 的校园二手交易平台 1.系统开发背景 2.系统设计 3.系统实现 3.1开发所用技术 3.2数据字典 3.2系统开发 3.2.1配置环境 3.2.2创建 ...
- 基于jsp+servlet+mysql网上蛋糕店
基于jsp+servlet+mysql网上蛋糕店 一.系统介绍 二.功能展示 1.主页(客户) 2.登陆(客户) 3.我的购物车(客户) 4.我的订单(客户) 5.订单管理(管理员) 6.客户管理(管 ...
- 基于JSP+Servlet+MySQL+Bootstrap的防疫知识在线问答系统
问答首页 详细问答 列表页面 回复页面 发起提问 我的问答 密码修改 修改个人资料 用户登录 用户注册 管理页面 用户管理 帖子管理 主题管理 技术描述 开发工具: Idea/Eclipse 数据库: ...
- Jsp+Ssm+Mysql实现的零食商城系统
Jsp+Ssm+Mysql实现的零食商城系统 系统主要实现的功能有: 用户浏览商品.加入商品到购物车.登录注册.提交订单, 会员中心修改个人信息.查看订单等. 后台管理员登录后可以分角色添加管理员, ...
- 基于JSP/SERVLET实现的人脸识别考勤系统
人脸识别考勤系统使用说明书 此系统是人脸识别考勤系统的后台管理系统,考勤数据从人脸识别机器上获取,自动识别员工信息记录考勤.系统基于JSP/SERVLET来开发实现,开发工具采用IDEA或ECLIPS ...
- 基于JSP+Servlet+MySQL的智能停车管理系统(附论文)
大家好,很高兴和大家分享源码.不管是什么样的需求.都希望各位计算机专业的同学们有一个提高.大家可以通过常用的搜索引擎,以百度为例,搜索 源码乐园 code51 ,然后再次搜索 自己想要的即可. 项目运 ...
最新文章
- E-learning的现状与未来
- 京东AI研究院何晓冬:将先进的技术和模型落地到产业
- 2.3基本算法之递归变递推_3525上台阶
- 演练 聚美Y品商品分类导航 1002 html
- linux基本命令与终端操作、linux命令英文全称解释、ls clear cd pwd cat touch cp rm rmdir mkdir mv file find grep sudo su
- linux下常用文件传输命令(转)
- 网页滚动截屏怎么截长图
- 图片转化成emf等格式的办法
- 微信注册验证成功之后不跳转_想申请小号的网友福利来了:绑定了微信的手机号怎么注册新的微信...
- 孪生素数对php编写,孪生素数
- Android游戏之仿 微信飞机大战
- 怎么合并或注销重复LinkedIn领英帐号?
- fiddler安卓模拟器与ios手机抓包
- Java软件测试工程师之学习进阶路线
- 自定义view实现涂鸦(画板)功能
- 计算机职业生涯规划书素材,2021大学生职业生涯规划书素材模板
- nodejs中的__filename和__dirname
- 区间划定最小值题解--单调队列
- QPS、TPS、PV、UV
- 自我反思--table的简单数据分页