用my eclipse写一个java web 购物车系统
213浏览 · 2023-12-05 12:06:34
这里提供一个简单的Java web购物车系统的代码示例,仅供参考。
1. 首先创建一个web项目,命名为ShoppingCart。
2. 在src目录下创建一个Java类CartItem.java,表示购物车中的商品项。
public class CartItem {
private int id; // 商品ID
private String name; // 商品名称
private double price; // 商品价格
private int quantity; // 商品数量
public CartItem(int id, String name, double price, int quantity) {
this.id = id;
this.name = name;
this.price = price;
this.quantity = quantity;
// getter和setter方法
// ...
3. 在src目录下创建一个Java类Cart.java,表示购物车。
import java.util.ArrayList;
import java.util.List;
public class Cart {
private List<CartItem> items; // 购物车中的商品项列表
public Cart() {
items = new ArrayList<>();
// 添加商品项到购物车
public void addItem(CartItem item) {
items.add(item);
// 从购物车中移除指定的商品项
public void removeItem(int id) {
for (CartItem item : items) {
if (item.getId() == id) {
items.remove(item);
return;
// 获取购物车中的所有商品项
public List<CartItem> getItems() {
return items;
// 计算购物车中所有商品的总价
public double getTotalPrice() {
double totalPrice = 0;
for (CartItem item : items) {
totalPrice += item.getPrice() * item.getQuantity();
return totalPrice;
4. 在WebContent目录下创建一个JSP页面index.jsp,表示购物车系统的首页。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<meta charset="UTF-8">
<title>购物车系统</title>
</head>
<h1>购物车系统</h1>
<table border="1">
<th>商品ID</th>
<th>商品名称</th>
<th>商品价格</th>
<th>商品数量</th>
<th>操作</th>
<c:forEach items="${cart.getItems()}" var="item">
<td>${item.getId()}</td>
<td>${item.getName()}</td>
<td>${item.getPrice()}</td>
<td>${item.getQuantity()}</td>
<td><a href="removeItem?id=${item.getId()}">删除</a></td>
</c:forEach>
<td colspan="4">总价:</td>
<td>${cart.getTotalPrice()}</td>
</table>
<form action="addItem" method="post">
商品ID:<input type="text" name="id"><br>
商品名称:<input type="text" name="name"><br>
商品价格:<input type="text" name="price"><br>
商品数量:<input type="text" name="quantity"><br>
<input type="submit" value="添加商品">
</form>
</body>
</html>
5. 在WebContent目录下创建一个Servlet类AddItemServlet.java,用于处理添加商品项到购物车的请求。
import java.io.IOException;
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 javax.servlet.http.HttpSession;
@WebServlet("/addItem")
public class AddItemServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
String name = request.getParameter("name");
double price = Double.parseDouble(request.getParameter("price"));
int quantity = Integer.parseInt(request.getParameter("quantity"));
CartItem item = new CartItem(id, name, price, quantity);
HttpSession session = request.getSession();
Cart cart = (Cart) session.getAttribute("cart");
if (cart == null) {
cart = new Cart();
session.setAttribute("cart", cart);
cart.addItem(item);
response.sendRedirect("index.jsp");
6. 在WebContent目录下创建一个Servlet类RemoveItemServlet.java,用于处理从购物车中移除指定商品项的请求。
import java.io.IOException;
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 javax.servlet.http.HttpSession;
@WebServlet("/removeItem")
public class RemoveItemServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
HttpSession session = request.getSession();
Cart cart = (Cart) session.getAttribute("cart");
if (cart != null) {
cart.removeItem(id);
response.sendRedirect("index.jsp");
7. 将JSTL库和Servlet API库添加到项目的WebContent/WEB-INF/lib目录下。
8. 部署项目到Tomcat服务器中并启动。
9. 访问http://localhost:8080/ShoppingCart/index.jsp,即可进入购物车系统的首页。在表单中输入商品信息并点击“添加商品”按钮,即可将商品添加到购物车中。在购物车中点击“删除”链接,即可将商品从购物车中移除。购物车中的商品总价会实时更新。
这只是一个简单的购物车系统示例,实际项目中需要根据需求进行具体的设计和实现。