简易session购物车开发

来源:互联网 发布:中世纪优化9圣物 编辑:程序博客网 时间:2024/05/29 05:52

简易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");
原创粉丝点击