简易session购物车开发

本文介绍了一个使用Session存储购物车数据的简易系统实现方案。该系统包括两个购物页面,允许用户选择不同种类的商品并将其添加到购物车中,数据通过Session进行持久化,即使页面刷新也能保留用户的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简易session购物车开发

要求:

(1)保证中文的正常显示

(2)表单提交以后,可以专门用一个jsp处理,然后再回退到操作界面(需要一定的时间延迟刷新,保证用户能感受到页面的变化)。

(3)购物车数据通过Session保存,窗口关闭以后数据消失。

shopping cart1.jsp:购物车一页面球类
<%--
  Created by IntelliJ IDEA.
  User: Luminary
  Date: 2017/11/3
  Time: 13:05
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>购物球类</title>
</head>
<body>

<h4>各种球大甩卖,一律八块</h4>
    <form action="data.jsp" method="post" name="Ball" id="ball">
            <input type="checkbox" name="data" value="篮球">篮球<br>
            <input type="checkbox" name="data" value="足球">足球<br>
            <input type="checkbox" name="data" value="排球">排球<br><br>
        <input type="submit" value="提交">
        <input type="reset" value="全部重写"><br><br>
        <a href="shopping%20cart2.jsp">买点别的</a>&nbsp;&nbsp;<a href="display.jsp">查看购物车</a>
    </form>

</body>
</html>
shopping cart2.jsp:购物车二页面肉类
<%--
  Created by IntelliJ IDEA.
  User: Luminary
  Date: 2017/11/3
  Time: 13:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>肉类购物车</title>
</head>
<body>
    <h4>各种肉大甩卖,一律十块:</h4>
<form name="Meet" id="Meet" action="data.jsp" method="post">
        <input type="checkbox" name="data" value="猪肉">猪肉<br>
        <input type="checkbox" name="data" value="牛肉">牛肉<br>
        <input type="checkbox" name="data" value="羊肉">羊肉<br><br>
    <input type="submit" value="提交">
    <input type="reset" value="全部重写"><br><br>
    <a href="shopping%20cart1.jsp">买点别的</a>&nbsp;&nbsp;<a href="display.jsp">查看购物车</a>
</form>
</body>
</html>
data.jsp:数据处理页面
**<%--
  Created by IntelliJ IDEA.
  User: Luminary
  Date: 2017/11/3
  Time: 13:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" %>
<html>
<head>
    <title>data</title>
</head>
<body>
    <%
        request.setCharacterEncoding("UTF-8");
        String goods[] = request.getParameterValues("data"); 
//获取表单传过来的数据存入字符串数组中
        Set <String> now= (Set <String>)    session.getAttribute("list");          
//当前session内的东西
        Set <String> set = new HashSet<String>();                                      //新建集合将数据存入
        if(goods!=null)
            Collections.addAll(set,goods);                                        //将货物添加到集合中
        if(now!=null)
            set.addAll(now);                                                     //将session内当前的东西添加到集合中
        session.setAttribute("list",set);                                        //将集合存入session中,命名为list
    %>
</body>
<script language="JavaScript">
    history.go(-1);
</script>
</html>
display.jsp:显示数据页面
<%--
  Created by IntelliJ IDEA.
  User: Luminary
  Date: 2017/11/3
  Time: 13:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" %>
<html>
<head>
    <title>显示购物车内容</title>
</head>
<body>
    <h3>你选择的结果是:</h3>
    <center>
<%
    Set <String> goods = (Set<String>)session.getAttribute("list");
    if (goods!= null)
        for (Iterator it = goods.iterator(); it.hasNext(); )
            out.print(it.next().toString() + "<br>");
%>
</center>
</body>
</html>
图片效果展示
  • 购物车一初始界面,可选择向购物车中添加物品

这里写图片描述

  • 在购物车选好物品后,可以选择“买点别的”,跳转到第二个购物页面选购

这里写图片描述

  • 在第二个购物界面选择购物

这里写图片描述

-查看购物车页面

这里写图片描述

注意点:

提交到数据处理页面后,然后返回当前页面(相当于刷新)
<script language="JavaScript">
    history.go(-1);
</script>
中文正常显示(在获取数据前)
 request.setCharacterEncoding("UTF-8");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值