MVC模式购物车

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");
	}
}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃头没秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值