src:
index:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 通过c标签进行判断-->
<c:if test="${empty ls}">
<jsp:forward page="index.do"></jsp:forward>
</c:if>
<h2 style="text-align: center">zking购物商城界面</h2>
<hr />
<c:if test="${empty user.username}">
<p><a href="dl.jsp">登录</a></p>
</c:if>
<c:if test="${!empty user.username}">
<p>欢迎您 大哥——${user.username}</p>
</c:if>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tr>
<th>商品编号</th>
<th>商品名称</th>
<th>商品类型</th>
<th>商品图片</th>
<th>商品价格</th>
<th>商品库存</th>
<th>商品简介</th>
<th>操作</th>
</tr>
<!--通过c标签遍历 -->
<c:forEach items="${ls}" var="goods">
<tr>
<td>${goods.gid }</td>
<td>${goods.gname }</td>
<td>${goods.gtype }</td>
<td><img src="${goods.gimage}" width="80" heigth="50"/></td>
<td>${goods.gprice }</td>
<td>${goods.gkc }</td>
<td>${goods.ginfo }</td>
<td><button onclick="addCart(${goods.gid})">加入购物车</button></td>
</tr>
</c:forEach>
</table>
<script type="text/javascript">
//加入购物车的点击事件
function addCart(gid) {
window.location.href="addCart.do?gid="+gid;
}
</script>
</body>
</html>
cart:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>我的购物车</h2>
<hr />
<c:if test="${empty listCarts}">
在忙也要记得犒劳一下自己!!<a href="index.jsp">点我购物</a>
</c:if>
<c:if test="${!empty listCarts}">
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tr>
<th>购物车编号</th>
<th>商品名称</th>
<th>商品图片</th>
<th>商品单价</th>
<th>商品库数量</th>
<th>商品总价</th>
<th>操作</th>
</tr>
<!--通过c标签遍历 -->
<c:forEach items="${listCarts}" var="cart">
<tr>
<td>${cart.cid}</td>
<td>${cart.goods.gname }</td>
<td><img src="${cart.goods.gimage}" width="80" heigth="50" /></td>
<td>${cart.goods.gprice }</td>
<td>${cart.ccount}</td>
<td>${cart.ctotal }</td>
<td><a onclick="return confirm('确定要删除吗')" href="DeleteServlet.do?cid=${cart.cid}">删除</a>
<button>修改</button></td>
</tr>
</c:forEach>
</table>
<P style="text-align: right">
<button
style="background: yellow; color: red; font-weight: bold; width: 100px; height: 50px; border-radius: 30px; cursor: pointer;"
onclick="buy()">点我结算</button>
</P>
</c:if>
<script type="text/javascript">
function buy() {
location.href = "FindCartInfoServlet";
}
</script>
</body>
</html>
确认订单:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>确认订单</h3>
<h6>确认收货地址</h6>
<input id="oaddress" type="text" style="width:100%;height:40px;"/>
<br/><br/><br/><br/>
<hr/>
<h6>确认订单信息</h6>
<p>商品总件数:${sessionScope.maps.sumCount}</p>
<h6>商品信息</h6>
<c:forEach items="${sessionScope.maps.ls}" var="cart">
<span>
<span>${cart.goods.gname}</span>
<img src="${cart.goods.gimage }" width="100px" heigth="40px"/>
</span>
</c:forEach>
<hr/>
<p style="text-align: center">
<h1> 总金额:${sessionScope.maps.sumPrice}</h1>
</p>
<p style="text-align: right">
<button style="background: yellow;color:red;font-weight: bold;width:100px;height:50px;border-radius:30px; cursor: pointer;" onclick="confimOrder()">确认订单</button>
</p>
<script type="text/javascript">
function confimOrder() {
var oaddress=document.getElementById("oaddress").value;
if(!oaddress){
alert("请输入地址在确认订单");
return
}
location.href="ConfirmOrderServlet?oaddress="+oaddress;
}
</script>
</body>
</html>
sevlet:
package com.zking.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.zking.biz.IGoodsBiz;
import com.zking.biz.impl.GoodsBiz;
import com.zking.entity.Goods;
import com.zking.entity.User;
/**
* Servlet implementation class GoodsListServlet
*/
@WebServlet("/index.do")
public class GoodsListServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
IGoodsBiz igb = new GoodsBiz();
List<Goods> ls=igb.getAll();
HttpSession session= request.getSession();
session.setAttribute("ls", ls);
String path=request.getServletContext().getContextPath();
response.sendRedirect(path+"/index.jsp");
}
}
sevlet:
package com.zking.servlet;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.zking.biz.ICartBiz;
import com.zking.biz.impl.CartBizImpl;
import com.zking.entity.Cart;
import com.zking.entity.User;
@WebServlet("/FindCartInfoServlet")
public class FindCartInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//加入购物车的servlet
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
HttpSession session= request.getSession();
User user=(User) session.getAttribute("user");
//直接获取数据库数据
ICartBiz icb = new CartBizImpl();
List<Cart> ls= icb.getCartByUsersid(user.getUserid());
//获取总数量和总价格
int sumCount=0;
int sumPrice=0;
for (Cart cart : ls) {
sumCount+=cart.getCcount();
sumPrice+=cart.getCtotal();
}
Map<String, Object> maps= new HashMap<String,Object>();
maps.put("ls", ls);
maps.put("sumCount", sumCount);
maps.put("sumPrice", sumPrice);
session.setAttribute("maps", maps);
response.sendRedirect("confirmOrder.jsp");
}
}
servlet:
package com.zking.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.zking.biz.IUserBiz;
import com.zking.biz.impl.UserBizimpl;
import com.zking.entity.User;
@WebServlet("/DlServLet.do")
public class DlServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 设置编码方式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charsert=utf-8");
// 获取session域对象值
HttpSession session = request.getSession();
// 获取out
PrintWriter out = response.getWriter();
// 接收表单提交过来的值
String name = request.getParameter("uname");// 拿到用户名
String pwd = request.getParameter("pwd");// 用户密码
// 调用biz层方法
IUserBiz iub = new UserBizimpl();
User y = iub.dl(name, pwd);
// 判断
if (y != null) {
// 把该用户存进去
session.setAttribute("user", y);
// 登录成功跳转页面
out.print("<script>alert('登录成功');location.href='index.jsp';</script>");
} else {
// 用户名密码错误
out.print("<script>alert('用户名或密码有误');location.href='dl.jsp';</script>");
}
}
}
sevlet:
package com.zking.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.zking.biz.ICartBiz;
import com.zking.biz.impl.CartBizImpl;
import com.zking.entity.Cart;
import com.zking.entity.User;
@WebServlet("/DeleteServlet.do")
public class DeleteServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//获得session
HttpSession session = request.getSession();
//接收jid
String cid=request.getParameter("cid");
//实例化biz层
ICartBiz icb = new CartBizImpl();
//调用方法
int n =icb.delCartByGid(Integer.valueOf(cid));
//userid
User user= (User)session.getAttribute("user");
List<Cart> listCarts= icb.getCartByUsersid(user.getUserid());
session.setAttribute("listCarts", listCarts);
response.sendRedirect("cart.jsp");
}
}
sevlet:
package com.zking.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.zking.biz.ICartBiz;
import com.zking.biz.IOrderBiz;
import com.zking.biz.impl.CartBizImpl;
import com.zking.biz.impl.OrderBizimpl;
import com.zking.entity.Cart;
import com.zking.entity.Order;
import com.zking.entity.User;
@WebServlet("/ConfirmOrderServlet")
public class ConfirmOrderServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//加入购物车的servlet
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String oaddress=request.getParameter("oaddress");
//生成订单和订单详情
HttpSession session= request.getSession();
User user=(User) session.getAttribute("user");
//直接获取数据库数据
ICartBiz icb = new CartBizImpl();
List<Cart> ls= icb.getCartByUsersid(user.getUserid());
//获取总数量和总价格
int sumCount=0;
int sumPrice=0;
for (Cart cart : ls) {
sumCount+=cart.getCcount();
sumPrice+=cart.getCtotal();
}
Order order= new Order(user, sumCount, sumPrice, oaddress, 0);
//将当前用户的购物车集合进行set
order.setLs(ls);
//实例化Biz
IOrderBiz iob = new OrderBizimpl();
iob.addOrder(order);
}
}
servlet:
package com.zking.servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.zking.biz.ICartBiz;
import com.zking.biz.IGoodsBiz;
import com.zking.biz.impl.CartBizImpl;
import com.zking.entity.Cart;
import com.zking.entity.Goods;
import com.zking.entity.User;
/**
* Servlet implementation class AddCartServlet
*/
@WebServlet("/addCart.do")
public class AddCartServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//加入购物车的servlet
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//获取值
//userid
HttpSession session= request.getSession();
User user= (User)session.getAttribute("user");
System.out.println(user);
if("null".equals(user)) {
response.sendRedirect("dl.jsp");
}
String id=request.getParameter("gid");
int gid=0;
if(null!=id) {
gid=Integer.valueOf(id);
}
Cart c = new Cart();
IGoodsBiz igb = new com.zking.biz.impl.GoodsBiz();
Goods goods=igb.getGoodsById(gid);
c.setGoods(goods);
c.setUsers(user);
c.setCcount(1);
c.setCtotal();
ICartBiz icb = new CartBizImpl();
List<Cart> listCarts= icb.getCartByUsersid(user.getUserid());
boolean f = true;
if(null==listCarts) {
listCarts = new ArrayList<Cart>();
}else {
//遍历所有商品
for (Cart cart : listCarts) {
//判断
if(cart.getGoods().getGid()==c.getGoods().getGid()) {
cart.setCcount(cart.getCcount()+1);
cart.setCtotal();
//进行数据库更新
icb.updateCartByCidAndUserid(cart);
f=false;
break;
}
}
}
//加入购物车不是加入集合而是加入数据库库
if(f) {
icb.addCart(c);
}
//listCarts.add(c);
//加入后数据更新
listCarts= icb.getCartByUsersid(user.getUserid());
session.setAttribute("listCarts", listCarts);
response.sendRedirect("cart.jsp");
}
}