package example.controller; import example.model.Computer; import example.model.User; import example.service.ICartService; import example.service.impl.CartServiceImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; @WebServlet("/cart") public class CartServlet extends HttpServlet { ICartService cartService = new CartServiceImpl(); @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String action = req.getParameter("action"); switch (action){ case "list": try { toCart(req, resp); } catch (Exception e) { throw new RuntimeException(e); } break; case "add": try { addCart(req,resp); } catch (Exception e) { throw new RuntimeException(e); } break; case "remove": try { removeFromCart(req, resp); } catch (Exception e) { throw new RuntimeException(e); } break; default: req.getRequestDispatcher("/WEB-INF/jsp/cart.jsp").forward(req,resp); break; } } private void removeFromCart(HttpServletRequest req, HttpServletResponse resp) throws Exception { User user = (User) req.getSession().getAttribute("user"); String id = req.getParameter("id"); cartService.removeFromCart(Integer.parseInt(id),user.getId()); try { toCart(req, resp); } catch (Exception e) { throw new RuntimeException(e); } } private void addCart(HttpServletRequest req, HttpServletResponse resp) throws Exception { String id = req.getParameter("id"); User user = (User) req.getSession().getAttribute("user"); cartService.addCart(Integer.parseInt(id),user.getId()); req.setAttribute("msg","加购成功"); req.getRequestDispatcher("/computerList").forward(req,resp); } private void toCart(HttpServletRequest req, HttpServletResponse resp) throws Exception { User user = (User) req.getSession().getAttribute("user"); List computers = cartService.myCart(user.getId()); req.setAttribute("computers",computers); req.getRequestDispatcher("cart.jsp").forward(req,resp); } }