//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表:
运行: