This repository has been archived on 2025-01-14. You can view files and clone it, but cannot push or open issues/pull-requests.
computer-web/src/main/java/example/controller/CartServlet.java

78 lines
2.7 KiB
Java

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<Computer> computers = cartService.myCart(user.getId());
req.setAttribute("computers",computers);
req.getRequestDispatcher("cart.jsp").forward(req,resp);
}
}