我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用session实现简易购物车功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用session实现简易购物车功能

本文实例为大家分享了用session实现简易购物车功能的具体代码,供大家参考,具体内容如下

整体思路:先写一个JSP用于实现商品图片的读取(再次之前要写好连接数据库),当点加入购物车市,根据商品唯一的标识来添加进去(我这里是商品的ID号),点击查看购物车可以看到刚添加进去的东西,和总价钱,点击删除商品可以删除商品。点击返回就到商品商城

前置工作:

我在WebContent下创建了一个imges的文件夹放我的图片

然后创建了一个product.java的实体类用来封装,如下:

package com.huangxu.Dao;
import java.sql.Date;
public class product {
    private int pid;
    private int ptype;
    private String pname;
    private float pprice;
    private int pquantity;
    private String pimage;
    private String pdesc;
    private Date ptime;

    public int getPid() {
        return pid;
    }

    public void setPid(int pid) {
        this.pid = pid;
    }

    public int getPtype() {
        return ptype;
    }

    public void setPtype(int ptype) {
        this.ptype = ptype;
    }

    public String getPname() {
        return pname;
    }

    public void setPname(String pname) {
        this.pname = pname;
    }

    public float getPprice() {
        return pprice;
    }

    public void setPprice(float pprice) {
        this.pprice = pprice;
    }

    public int getPquantity() {
        return pquantity;
    }

    public void setPquantity(int pquantity) {
        this.pquantity = pquantity;
    }

    public String getPimage() {
        return pimage;
    }

    public void setPimage(String pimage) {
        this.pimage = pimage;
    }

    public String getPdesc() {
        return pdesc;
    }

    public void setPdesc(String pdesc) {
        this.pdesc = pdesc;
    }

    public Date getPtime() {
        return ptime;
    }

    public void setPtime(Date ptime) {
        this.ptime = ptime;
    }
}

接着写了一个ProductDAO.java的类用来连接数据库,如下:

package com.huangxu;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.huangxu.Dao.product;
public class ProductDAO extends jdbcDao {
    
    public List<product> getAllproducts() {
        String sql = "select * from product";
        List<product> plist = new ArrayList<product>();
        try {
            conn = getConnection();
            pst = conn.prepareStatement(sql);
            rs=pst.executeQuery();
            while(rs.next()){
                product p=new product();
                p.setPid(rs.getInt(1));
                p.setPtype(rs.getInt(2));
                p.setPname(rs.getString(3));
                p.setPprice(rs.getFloat(4));
                p.setPquantity(rs.getInt(5));
                p.setPimage(rs.getString(6));
                p.setPdesc(rs.getString(7));
                p.setPtime(rs.getDate(8));
                plist.add(p);
            }
        
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return plist;
    }
    public product findProductByID(int pid)
    {
        product p=null;
        String sql="SELECT * from product where pid=?";
        try {
            pst=getConnection().prepareStatement(sql);
            pst.setInt(1, pid);
            rs=pst.executeQuery();
            if(rs.next())
            {
                p=new product();
                p.setPid(rs.getInt(1));
                p.setPtype(rs.getInt(2));
                p.setPname(rs.getString(3));
                p.setPprice(rs.getFloat(4));
                p.setPquantity(rs.getInt(5));
                p.setPimage(rs.getString(6));
                p.setPdesc(rs.getString(7));
                p.setPtime(rs.getDate(8));
                }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally
        {
            close();
        }
        
        return p;
    }

}

前置工作完毕,接着开始设计购物车

1.首先写一个jsp页面,我这里叫做imgs.jsp

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="com.huangxu.ProductDAO"%>
<%@ page import="com.huangxu.Dao.product"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
.mybox {
    widows: 200pt;
    height: auto;
    border: 1px solid red;
    float: left;
    margin: 10px 10px;
    padding: 5px 10px;
}

.mybox:HOVER {
    background-color: #FAB;
}
</style>
</head>
<body>
    <%
        List list=(List)session.getAttribute("shopcar");
    if(list==null){
        list=new ArrayList();
        session.setAttribute("shopcar", list);
    }
    out.println("&nbsp&nbsp "+"已经添加"+list.size()+"件商品");
    %>
    <div width="860px">
        <%
            ProductDAO pdao=new ProductDAO();

                for(product p:pdao.getAllproducts()){
        %>


        <div class="mybox">
            <span><img class="lazy" data-src="<%=p.getPimage()%>"></span><br> 名字:<span><%=p.getPname()%></span><br>
            库存:<span><%=p.getPquantity()%></span>个<br> 单价:<span>¥<%=p.getPprice()%></span>元<br>
            <span><a href="shop.jsp?pid=<%=p.getPid()%>">加入购物车</a></span>
              
        </div>

        <%
            }
        %>
    </div>
    </div>
    <br>
    <div>

        <hr>
    
    <a href="showshop.jsp">查看购物车</a>
    
    </div>
</body>
</html>

2 接着写一个jsp页面(shop.jsp)为点击加入购物车的实际操作进行处理:

<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="com.huangxu.ProductDAO"%>
<%@ page import="com.huangxu.Dao.product"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int pid=Integer.parseInt(request.getParameter("pid"));
ProductDAO pdao=new ProductDAO();
product p=pdao.findProductByID(pid);
List shopList=(List)session.getAttribute("shopcar");
if(shopList!=null){shopList.add(p);}
response.sendRedirect("imgs.jsp");

%>
</body>
</html>

3.在写一个jSP页面(showshop.jsp)用来处理查看购物车的实际操作:

<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="com.huangxu.ProductDAO"%>
<%@ page import="com.huangxu.Dao.product"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>

<body>
    <table width="400" border="0" cellpadding="0" cellspacing="1"   bgcolor="#00FF66">
  <tr bgcolor="#FFFFFF">
    <th>序号</td>
    <th>商品名</td>
    <th>价格</td>
    <th>删除</td>
  </tr>    
    <%
    List<product>list=(List)session.getAttribute("shopcar"); 
    float sum=0;
    if(list!=null)
    {
        for(product p:list)
        {sum =sum+ p.getPprice();
    %>        

  <tr bgcolor="#FFFFFF">
    <td><%=list.indexOf(p)+1 %></td>
    <td><%=p.getPname() %></td>
    <td><%=p.getPprice() %></td>
    <td><a href="spsc.jsp?xl=<%=list.indexOf(p)%>">删除商品</a></td>
   
  </tr>                
    <%        
        }
    }
    %>
    <tr bgcolor="#FFFFFF">
    <td colspan="2">合计</td>
    
    <td colspan="2"><%=sum %>元</td>
  
   
  </tr>
      <tr><td colspan="3"><a href="imgs.jsp">返回商城</a></td></tr>    
    </table>    
</body>
</html>

4、最后是删除写一个JSP页面(spsc.jsp)用来处理删除的实际操作:

<%@page import="com.sun.corba.se.spi.orbutil.fsm.FSM"%>
<%@page import="com.huangxu.Dao.product"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
float sum=0;

int xl=Integer.parseInt(request.getParameter("xl"));
List<product>list=(List)session.getAttribute("shopcar"); 
if(list.remove(xl)!=null){%>
    
    
    <table width="400" border="0" cellpadding="0" cellspacing="1"   bgcolor="#00FF66">
      <tr bgcolor="#FFFFFF">
        <th>序号</td>
        <th>商品名</td>
        <th>价格</td>
        <th>删除</td>
      </tr>        <%
    for(product p:list){
        sum =sum+ p.getPprice();
    %>        

      <tr bgcolor="#FFFFFF">
        <td><%=list.indexOf(p)+1 %></td>
        <td><%=p.getPname() %></td>
        <td><%=p.getPprice() %></td>
        <td><a href="spsc.jsp?xl=<%=list.indexOf(p)%>">删除商品</a></td>
       
      </tr>                
        <%        
            }
        }else{
        
        response.sendRedirect("imgs.jsp");}
        %>
        <tr bgcolor="#FFFFFF">
        <td colspan="2">合计</td>
        
        <td colspan="2"><%=sum %>元</td>
      
     
      </tr>    
        <tr><td colspan="3"><a href="imgs.jsp">返回商城</a></td></tr>
        </table>    

    
</body>
</html>

这样就全部写完了用session做的一个简易购物车!
下面附上SQL的表:(在test库中)创建一个叫product的表
创建语句如下:

CREATE TABLE `product` (
  `pid` int(11) NOT NULL AUTO_INCREMENT,
  `ptype` int(11) DEFAULT NULL,
  `pname` varchar(50) DEFAULT NULL,
  `pprice` float DEFAULT NULL,
  `pquantity` int(11) DEFAULT NULL,
  `pimage` varchar(100) DEFAULT NULL,
  `pdesc` varchar(300) DEFAULT NULL,
  `ptime` time DEFAULT NULL,
  PRIMARY KEY (`pid`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

下列是表中的数据如图:

这些就是整个购物车的全部。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用session实现简易购物车功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用session实现简易购物车功能

这篇文章主要介绍“如何使用session实现简易购物车功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用session实现简易购物车功能”文章能帮助大家解决问题。整体思路:先写一个JSP用于
2023-06-29

Android实现简单购物车功能

本文实例为大家分享了Android实现购物车功能的具体代码,供大家参考,具体内容如下MainActivity布局:
2023-05-30

php实现简单加入购物车功能

以下是一个简单的PHP代码示例,实现了一个简单的加入购物车功能。```phpsession_start();// 初始化购物车为空数组if (!isset($_SESSION['cart'])) {$_SESSION['cart'] = a
2023-08-15

如何使用PHP开发一个简易的购物车功能

简介:随着电子商务的快速发展,购物车功能在网上商城中是必不可少的一部分。本文将介绍如何使用PHP语言开发一个简易的购物车功能,帮助读者了解购物车的基本原理,并且提供具体的代码示例,以便读者可以更好地理解和实践。一、购物车基本原理在开始开发购
2023-10-21

Python实现简易购物车(未完结)

使用Python完成购物车功能需求:  1.让用户输入金额  2.选择要购买的商品,加入购物车  3.当商品的总价超过了你的金额,提示余额不足  4.让用户输入N结算,输入Q退出goods = [ {'name':'电脑','pric
2023-01-31

python购物车功能实现

name = "gaowang"pwd = "123.abc"list_he=[]          #定义空列表,后面接收for i in range(3):    username = input("请输入您的账号:")    pass
2023-01-31

Android中如何使用RecyclerView实现简单购物车功能

这篇文章给大家分享的是有关Android中如何使用RecyclerView实现简单购物车功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下我们知道在ListView中用setTag来解决Item的复用
2023-06-29

php怎么用session实现购物车

使用PHP的session可以很方便地实现购物车功能。下面是一个简单的示例:首先,创建一个用于存储购物车内容的数组。在每个页面的顶部,使用 `session_start()` 函数启动会话。```phpsession_start();//
2023-10-12

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录