java map与session实现购物车模块

本文介绍了如何使用Java和Session来实现购物车功能。包括添加商品到购物车,删除购物项以及清空购物车的详细步骤。通过在Session中存储购物车对象,结合商品ID和数量,实现购物项的增删操作。购物车对象包含购物项的Map存储,每个购物项具有商品对象、数量和小计等属性。
摘要由CSDN通过智能技术生成

(1)添加商品到购物车

        添加商品技术路线:商品详情页点击【加入购物车】----》form表单提交商品id及数量到CartServlet中的addCartItemToCart方法----》addCartItemToCart方法逻辑:a.判断session中是否有购物车Cart,如果获取不到,则创建购物车对象,放在session中,如果获取到则使用;b.获取商品的ID,数量,通过商品id查询商品对象,获取待购买的购物项----》将购物项CartItem加入购物车Cart,重定向到cart.jsp----》页面显示购物车汇中信息.

(2)删除购物项:

        在购物车cart.jsp界面用户点击删除,向服务端发送商品ID----》服务端CartServlet中removeCartItem方法获取待删除商品ID,回去购物车,调用删除方法----》重定向到cart.jsp

(3)清空购物车

        用户点击清空购物车按钮,向服务器发起请求----》服务端CartServlet中clearCartItem方法获取购物车,调用清空购物车方法----》重定向到cart.jsp

商品详情页:product_info.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!doctype html>
<html>

	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title>商品详情信息</title>
		<link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.min.css" type="text/css" />
		<script src="${pageContext.request.contextPath}/js/jquery-1.11.3.min.js" type="text/javascript"></script>
		<script src="${pageContext.request.contextPath}/js/bootstrap.min.js" type="text/javascript"></script>
		<!-- 引入自定义css文件 style.css -->
		<link rel="stylesheet" href="${pageContext.request.contextPath}/css/style.css" type="text/css"/>

		<style>
			body {
				margin-top: 20px;
				margin: 0 auto;
			}
			
			.carousel-inner .item img {
				width: 100%;
				height: 300px;
			}
		</style>
	</head>

	<body>

		
			<%@ include file="/jsp/header.jsp" %>


		<div class="container">
			<div class="row">
				<div style="border: 1px solid #e4e4e4;width:930px;margin-bottom:10px;margin:0 auto;padding:10px;margin-bottom:10px;">
					<a href="${pageContext.request.contextPath}/">首页&nbsp;&nbsp;&gt;</a>
					
				</div>

				<div style="margin:0 auto;width:950px;">
				
				  <form id="myForm" method="post" action="${pageContext.request.contextPath}/CartServlet?method=addCartItemToCart">
					<div class="col-md-6">
						<img style="opacity: 1;width:400px;height:350px;" title="" class="medium" src="${pageContext.request.contextPath}/${product.pimage}">
					</div>

					<div class="col-md-6">
					    <!-- 
					    	${product}  :底层依次调用4个域对象上的*.getAttribute("keyName");
					    	寻找到request可以获取到一个对象 product
					    	${product.pname} :通过获取到的product对象调用对象上的getPname()方法.
					     -->
						<div><strong>${product.pname}</strong></div>
						<div style="border-bottom: 1px dotted #dddddd;width:350px;margin:10px 0 10px 0;">
							<div>编号:${product.pid}</div>
						</div>

						<div style="margin:10px 0 10px 0;">商城价: <strong style="color:#ef0101;">¥:${produ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值