jsp+sql制作简单的购物车

//gouwu.jsp
//购物车首页

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table width="650px" align="center" border="1">
<tr>
      <td align="center">名称</td>
      <td align="center">价钱(/)</td>
      <td align="center">购买</td>
    </tr>
<%
      String driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";
      String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=tb_user";
      String username = "sa";
      String password =  "123456";
      Class.forName(driverClass);
      Connection conn=DriverManager.getConnection(url, username, password);
      Statement stmt=conn.createStatement();
      ResultSet rs = stmt.executeQuery("select * from goods");
      while(rs.next()){
       %>
       <tr>
       <td align="center"><%=rs.getString(2)%></td>
       <td align="center"><%=rs.getString(3)%></td>
       <td><a href="buy.jsp?op=add&id=<%=rs.getString(1)%>">放入购物车</a></td>
       </tr>
      <% 
      }    
  %>
  </table>
  <p align="center"><a href="car.jsp">查看购物车</a></p>
</body>
</html>

//buy.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";
      String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=tb_user";
      String username = "sa";
      String password =  "123456";
      Class.forName(driverClass);
      Connection conn=DriverManager.getConnection(url, username, password);
      Statement pst=conn.createStatement();
      PreparedStatement pstat = null;
      PreparedStatement pstata = null;
      ResultSet rs=null;
      String sql=null;
      String op = request.getParameter("op");
      int num;
       if (op.equals("add")){
    String id = request.getParameter("id");
    //out.print(id);
    String name=null,price=null;
    String ids=null;
    sql = "select * from goods where id=?";
     String sqla="select * from cart where id='"+id+"'";
    pstat = conn.prepareStatement(sql);
    pstat.setString(1,id);
    rs = pstat.executeQuery();
    if (rs.next()){
     name = rs.getString(2);
     price = rs.getString(3);
    }
    rs.close();
    pstat.close();
    pstata=conn.prepareStatement(sqla);
    rs=pstata.executeQuery();
    if(rs.next()){
      ids=rs.getString(2);
     // out.print(ids);
    }
    if(name.equals(ids)){
     // out.print("mmmmmm");
     sql="update cart set num=num+1 where id='"+id+"'";
     pstat=conn.prepareStatement(sql);
     pstat.executeUpdate();
     response.sendRedirect("car.jsp");
    }else{
     ///out.print("sssssss");
      sql = "insert into cart(id,name,price,num) values(?,?,?,?)";
    pstat = conn.prepareStatement(sql);
    pstat.setString(1,id);
   pstat.setString(2,name);
    pstat.setString(3,price);
    pstat.setInt(4,1);
    pstat.executeUpdate();
    pstat.close();
    conn.close();
    response.sendRedirect("car.jsp");
    }
   }
   if (op.equals("del")){
    int id = Integer.parseInt(request.getParameter("id"));
    
     sql="select num from cart where id=?";
     pstat=conn.prepareStatement(sql);
     pstat.setInt(1,id);
     rs= pstat.executeQuery();
    if(rs.next()){
        num=rs.getInt("num");
     // out.print(num); 
     if( num >1){
     sql="update cart set num=num-1 where id=?";
     pstat = conn.prepareStatement(sql);
       pstat.setInt(1,id);
       pstat.executeUpdate();
      response.sendRedirect("car.jsp");
}else{
      sql = "delete from cart where id=?";
    pstat = conn.prepareStatement(sql);
    pstat.setInt(1,id);
    pstat.executeUpdate();
    pstat.close(); 
    //关闭数据库连接
    conn.close();
    response.sendRedirect("car.jsp");
    } 
   }
   }

//car.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table width="650px" align="center" border="1">
<tr>    
      <td align="center">名称</td>
      <td align="center">价钱(/)</td>
      <td align="center">数量</td>
      <td align="center">删除</td>
    </tr>
<%
int p;
int count=0;
  String driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";
      String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=tb_user";
      String username = "sa";
      String password =  "123456";
      Class.forName(driverClass);
      Connection conn=DriverManager.getConnection(url, username, password);
      Statement stmt=conn.createStatement();
      ResultSet rs = stmt.executeQuery("select * from cart");
      while(rs.next()){
         out.println("<tr>");
   out.println("<td>"+ rs.getString(2) +"</td>");
   out.println("<td>"+ rs.getInt(3) +"</td>");
   out.println("<td>"+rs.getInt(4)+"</td>");
   out.println("<td><a href='buy.jsp?op=del&id="+rs.getInt(1)+"'>删除商品</a></td>");
   out.println("</tr>");
    p=rs.getInt(4)*rs.getInt(3);
    count=count+p;
      }
   %>   
 </table> 
<p align="center"><%out.print("总金额:"+count); %></p>
 <p align="center"><a href="gouwu.jsp">继续购物</a></p>           
</body>
</html>

//数据库操作
goods表:
在这里插入图片描述
cart表:
在这里插入图片描述运行:
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值