java 购物车 存放数据库_jsp电子商务购物车之 数据库存储篇 序二

本文介绍了如何使用Java实现购物车的功能,包括更改商品数量、显示购物车内容和删除购物车商品。通过Servlet处理AJAX请求,更新数据库中的购物车信息,并在用户会话中同步购物车状态。
摘要由CSDN通过智能技术生成

业务逻辑图,简单版要写各个Servlet

f68ecb3d9c93b7b6729edb115e0ff445.png

//ChangeCartCountServlet 使用ajax实现数量,增加或减少;

package com.cart.web;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Map;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.cart.dao.BookDao;

import com.cart.dao.impl.BookDaoImpl;

import com.cart.entity.Book;

import com.cart.entity.CartItem;

import com.cart.entity.Userinfo;

import com.cart.service.CartService;

public class ChangeCartCountServlet extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

this.doPost(req, resp);

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

resp.setContentType("text/html;charset=utf-8");

PrintWriter out = resp.getWriter();

int bookid = Integer.parseInt(req.getParameter("bookid"));

int count = Integer.parseInt(req.getParameter("count"));

CartService cartService=new CartService();

Userinfo userinfo=(Userinfo)req.getSession().getAttribute("userinfo");

int uid=userinfo.getId();//获得当前用户id编号;

CartItem cartItem=cartService.findCartItemById(uid,bookid);

if(cartItem.getCount()

out.print("false");

return;

}

Map cart = (Map)req.getSession().getAttribute("cart");

int result=-1;

if(cart!=null){

cartItem = cart.get(bookid); //获得购物车项

cartItem.setCount(count);

cart.put(bookid, cartItem);

result=cartService.updateCartItemCount(cartItem);

}

if(result>0){

out.print("true");

}else{

out.print("false");

}

out.flush();

out.close();

}

}

package com.cart.web;

import java.io.IOException;

import java.util.Map;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import com.cart.entity.CartItem;

import com.cart.entity.Userinfo;

import com.cart.service.CartService;

public class ShowBookServlet extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

HttpSession session=req.getSession();

Userinfo user=(Userinfo)session.getAttribute("userinfo");

int uid=user.getId();

CartService cartService=new CartService();

Map cart = cartService.getCartItem(uid);

session.setAttribute("cart", cart); //加入session用jstl读取;

resp.sendRedirect("show_cart.jsp");

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

this.doGet(req, resp);

}

}

package com.cart.web;

import java.io.IOException;

import java.util.Map;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import com.cart.entity.Book;

import com.cart.entity.CartItem;

import com.cart.entity.Userinfo;

import com.cart.service.CartService;

public class DeleteCartServlet extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

HttpSession session=req.getSession();

Userinfo user=(Userinfo)session.getAttribute("userinfo");

int uid=user.getId();

int bookid = Integer.parseInt(req.getParameter("bookid"));

Map cart = (Map)req.getSession().getAttribute("cart");

// 根据key(bookid)删除

cart.remove(bookid);

//需要根据carService进行操作;

CartService cartService=new CartService();

cartService.deletecartItem(uid, bookid);

req.getSession().setAttribute("cart", cart);

resp.sendRedirect("show_cart.jsp");

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

this.doGet(req, resp);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值