创建包:
com.zking.util 帮助类
com.zking.entity 实体类
com.zking.dao(放dao接口)
com.zking.dao.imp (放dao接口实现类)
com.zking.biz (业务逻辑层放dao方法)
com.zking.biz.imp(业务逻辑层放dao实现类)
效果图
接下来是实现功能代码快
index.jsp页面
<%@page import="com.zking.entity.Goods"%>
<%@page import="com.zking.biz.imp.Imp_Goodsbiz"%>
<%@page import="com.zking.biz.IGoodsbiz"%>
<%@page import="com.zking.util.DBHelper"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
<script type="text/javascript">
function gm(bid){
location.href="dogwc.jsp?bid="+bid;
}
</script>
</head>
<body>
<table class="table table-hover">
<tr>
<td>商品编号</td>
<td>商品名称</td>
<td>商品单价</td>
<td>商品介绍</td>
<td>商品图片</td>
<td>操作一下</td>
</tr>
<%
IGoodsbiz igb=new Imp_Goodsbiz();
ArrayList<Goods> glist=igb.getAll();
for(Goods g :glist){
//System.out.print(g);
%>
<tr>
<td><%=g.getBid()%></td>
<td><%=g.getBname()%></td>
<td><%=g.getBprice()%></td>
<td><%=g.getBinfo()%></td>
<td>
<img src="<%=g.getBface()%>">
</td>
<td>
<button onclick="gm(<%=g.getBid()%>)" class="btn btn-success">添加到购物车</button>
</td>
</tr>
<%}%>
</table>
</body>
</html>
gwc.jsp
<%@page import="com.zking.entity.OrderItem"%>
<%@page import="com.zking.biz.imp.Imp_orderItembiz"%>
<%@page import="com.zking.biz.IorderItembiz"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
<script type="text/javascript">
function $(id) {
return document.getElementById(id);
}
function xg(obj,bid){
var gnumber=obj.value;
//alert(gnumber);
location.href="dogwc.jsp?bid="+bid+"&gn="+gnumber;
}
function bbb(oid,a){
if(a=='-'){
location.href="doxg.jsp?oid="+oid+"&aa="+1;
}else if(a=='+'){
location.href="doxg.jsp?oid="+oid+"&aa="+2;
}
}
function sc(oid){
location.href="sc.jsp?oid="+oid;
}
</script>
</head>
<body>
<table class="table table-hover">
<tr>
<td>商品名称</td>
<td>商品单价</td>
<td>商品信息</td>
<td>商品图片</td>
<td>商品数量</td>
<td>总价</td>
<td>操作一下</td>
</tr>
<%
String uid=session.getAttribute("a")+"";
int uuid=Integer.valueOf(uid);
IorderItembiz iot=new Imp_orderItembiz();
int sum=0;
ArrayList<OrderItem> slist=iot.getAll(uuid);
for(OrderItem d: slist){
%>
<tr>
<td><%=d.getBname()%></td>
<td><%=d.getBprice()%></td>
<td><%=d.getBinfo()%></td>
<td>
<img src="<%=d.getBface()%>">
</td>
<td>
<button class="btn" onclick="bbb(<%=d.getOid() %>,'+')">+</button>
<input id="text" onblur="xg(this,<%=d.getBid()%>)" type="text" style="width:40px;text-align:center" value="<%=d.getGnumber()%> "/>
<button class="btn" onclick="bbb(<%=d.getOid() %>,'-')">-</button>
</td>
<td><%=d.getGprice()%></td>
<td>
<button onclick="sc(<%=d.getOid()%>)" class="btn btn-danger">删除</button>
</td>
</tr>
<% sum+=d.getGprice(); }%>
</table>
<button class="btn" >总价<%=sum%></button>
<a href="index.jsp">返回首页</a>
</body>
</html>
dogwc.jsp
<%@page import="com.zking.biz.imp.Imp_Goodsbiz"%>
<%@page import="com.zking.biz.imp.Imp_orderItembiz"%>
<%@page import="com.zking.entity.Goods"%>
<%@page import="com.zking.biz.IorderItembiz"%>
<%@page import="com.zking.biz.IGoodsbiz"%>
<%@page import="com.zking.entity.OrderItem"%>
<%@page import="org.eclipse.jdt.internal.compiler.batch.Main"%>
<%@page import="com.zking.util.DBHelper"%>
<%@page import="org.apache.catalina.util.Introspection"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String number=request.getParameter("gn");
System.out.print(number);
int count=1;
if(number!=null){
count=Integer.valueOf(number);
}
String uid=session.getAttribute("a")+"";
int uuid=Integer.valueOf(uid);
String id=request.getParameter("bid");
int bid=Integer.valueOf(id);
//创建订单对象
OrderItem d=new OrderItem();
//使用多态创建商品业务逻辑层和实现类
IGoodsbiz igb=new Imp_Goodsbiz();
IorderItembiz iot=new Imp_orderItembiz();
Goods gd=new Goods();
gd=igb.getById(bid);
int oid=DBHelper.getNextId("OrderItem", "oid");
d.setOid(oid);
d.setUuid(uuid);
d.setBid(bid);
d.setBname(gd.getBname());
d.setBprice(gd.getBprice());
d.setBinfo(gd.getBinfo());
d.setBface(gd.getBface());
d.setGnumber(1);
d.setGprice();
ArrayList<OrderItem> slist=iot.getAll(uuid);
boolean b=true;
for(int i=0;i<slist.size();i++){
int ordid=slist.get(i).getOid();
int orprice=(int)slist.get(i).getBprice();
if(bid==slist.get(i).getBid()){
//int price=(int)slist.get(i).getBprice();
if(number==null){
int num=slist.get(i).getGnumber()+1;
iot.updateByOid(ordid, num);
iot.updateprice(ordid, num, orprice);
//System.out.print(slist.get(i).getGnumber());
}else{
iot.updateByOid(ordid, count);
iot.updateprice(ordid, count, orprice);
}
b=false;
}
}
if(b){
iot.add(d);
}
response.sendRedirect("gwc.jsp?number="+number);
%>
doxg.jsp
<%@page import="com.zking.biz.imp.Imp_orderItembiz"%>
<%@page import="com.zking.entity.OrderItem"%>
<%@page import="com.zking.biz.IorderItembiz"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String y=request.getParameter("aa");
int ys=Integer.valueOf(y);
String id=request.getParameter("oid");
int oid=Integer.valueOf(id);
IorderItembiz iob=new Imp_orderItembiz();
OrderItem oi= iob.getById(oid);
int number=oi.getGnumber();
if(ys==2){
int num=number+1;
iob.updateByOid(oid, num);
}else if(ys==1){
int num=number-1;
iob.updateByOid(oid, num);
}
response.sendRedirect("gwc.jsp");
%>
sc.jsp
<%@page import="com.zking.biz.imp.Imp_orderItembiz"%>
<%@page import="com.zking.biz.IorderItembiz"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String uid=session.getAttribute("a")+"";
int uuid=Integer.valueOf(uid);
IorderItembiz idb=new Imp_orderItembiz();
String id= request.getParameter("oid");
int oid=Integer.valueOf(id);
idb.deleteById(oid);
response.sendRedirect("gwc.jsp");
%>