这期我们采用三层架构来升级我们上一期的简易版购物车
简单介绍一下三层架构:
主要分为视图层 ,数据访问层,逻辑层
这期的视图层包含:login登录页面,index主页面,shoppingcar购物车页面
数据访问层包含:dologin登录,dogwc购物车,dosc删除,doupdate修改
dologin登录
<%@page import="com.zking.entity.User"%>
<%@page import="com.zking.biz.imp.Imp_Userbiz"%>
<%@page import="com.zking.biz.IUserbiz"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//乱码
request.setCharacterEncoding("utf-8");
String uname = request.getParameter("textfield");
String jks=request.getParameter("jk");
int jk=0;
String upwd = request.getParameter("textfield2");
IUserbiz iub=new Imp_Userbiz();
User T=iub.login(uname, upwd);
if(T!=null){//成功就跳转到主页面
session.setAttribute("a", T.getUid());
request.getRequestDispatcher("index.jsp").forward(request, response);
}else{//错误就回到登录页面
out.print("<script>alert('用户名或密码错误,请重新登录');location.href='login.jsp'</script>");
}
%>
dogwc包含添加和查询
<%@page import="org.eclipse.jdt.internal.compiler.batch.Main"%>
<%@page import="com.zking.biz.imp.Imp_orderItembiz"%>
<%@page import="com.zking.biz.IorderItembiz"%>
<%@page import="com.zking.util.DBHelper"%>
<%@page import="com.zking.entity.Goods"%>
<%@page import="org.apache.catalina.util.Introspection"%>
<%@page import="com.zking.biz.imp.Imp_Goodsbiz"%>
<%@page import="com.zking.biz.IGoodsbiz"%>
<%@page import="com.zking.entity.OrderItem"%>
<%@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);
%>
dosc删除页面
<%@page import="com.zking.biz.imp.Imp_orderItembiz"%>
<%@page import="com.zking.biz.IorderItembiz"%>
<%@page import="com.zking.entity.OrderItem"%>
<%@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");
%>
逻辑关系层