Java Web 利用 session 实现简单的购物车(数量可以累加)

发布时间:2023-05-01 15:00

过程及思路
1.利用 session 实现简单的购物车。
2.考虑到加入购物车有名称数量,所以用到HashMap集合。
3.Map接口的常用方法如下:

方法名称 说明
V get(Object key) 返回 Map 集合中指定键对象所对应的值。V 表示值的数据类型
V put(K key, V value) 向 Map 集合中添加键-值对,返回 key 以前对应的 value,如果没有, 则返回 null
V remove(Object key) 从 Map 集合中删除 key 对应的键-值对,返回 key 对应的 value,如果没有,则返回null
Set entrySet() 返回 Map 集合中所有键-值对的 Set 集合,此 Set 集合中元素的数据类型为 Map.Entry
Set keySet() 返回 Map 集合中所有键对象的 Set 集合

上代码:
bookchoose.jsp

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

 
	 
		 
		图书选择页面
	 
 
	
Java程序设计
Java Web应用程序开发
Python程序设计

car.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
	<%@ page import="java.io.*"%>
	<%@ page import="java.util.*"%>

 
	 
		 
		购物车
	 

	<%
		request.setCharacterEncoding("UTF-8");
		HttpSession hs = request.getSession();
		Map car = (Map)hs.getAttribute("shoppingCar");
		//如果回话域没有shoppingcar,则实例化一个
		if(car==null){
 			car = new HashMap();
		}
		//获取用户的所选择的商品
		String[] book = request.getParameterValues("book");
		if(book!=null&&book.length>0){
 			for(String bookname:book){
 				//判断该物品是否在购物车中
 				if(car.get(bookname)!=null){
 				int num = car.get(bookname);
 				car.put(bookname,num+1);
 				}else{
					 car.put(bookname,1);
 						}
 				} 
 			}
		hs.setAttribute("shoppingCar",car);
		response.sendRedirect("carList.jsp");
	%>


carList.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>

 
	 
		 
		图书列表
	 

	<%
	request.setCharacterEncoding("UTF-8");
	HttpSession s=request.getSession();
	Map car = (Map)s.getAttribute("shoppingCar");
	if(car!=null&&car.size()>0){
 		out.println("购物车里图书列表:
"); //遍历显示购物车里面的商品 for (String bookname:car.keySet()){ out.println(bookname+","+car.get(bookname)+"
"); } }else{ out.println("没有商品+
"); } out.println("继续"); %>

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号