购物车模块myshoppingcart
来源:互联网 发布:新西兰硕士知乎 编辑:程序博客网 时间:2024/04/29 22:02
先看看模块的文件目录结构:
CartItem.java的源代码:
public class CartItem {private Computer c;private int quantity;public Computer getC() {return c;}public void setC(Computer c) {this.c = c;}public int getQuantity() {return quantity;}public void setQuantity(int quantity) {this.quantity = quantity;}}Cart.java的源代码:
public class Cart {private List<CartItem> items=new ArrayList<CartItem>();public boolean add(CartItem c){for(int i=0;i<items.size();i++){CartItem item=items.get(i);if(item.getC().getId()==c.getC().getId()){return false;}}items.add(c);return true;}public List<CartItem> list(){return items;}public double getTotalPrice(){double sum=0;for(int i=0;i<items.size();i++){CartItem item=items.get(i);sum+=item.getQuantity()*item.getC().getPrice();}return sum;}public void delete(long id){for(int i=0;i<items.size();i++){CartItem item=items.get(i);if(item.getC().getId()==id){items.remove(item);return;}}}public void clear(){items.clear();}public void modify(long id,int quantity){for(int i=0;i<items.size();i++){CartItem item=items.get(i);if(item.getC().getId()==id){item.setQuantity(quantity);return;}}}}ShoppingCartServlet.java的源代码:
public class ShoppingCartServlet extends HttpServlet {public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String uri=request.getRequestURI();String path=uri.substring(uri.lastIndexOf("/"),uri.lastIndexOf("."));if(path.equals("/list")){ComputerDAO dao=new ComputerDAO();try {List<Computer> computers=dao.findAll();request.setAttribute("computers",computers);request.getRequestDispatcher("computer_list.jsp").forward(request, response);} catch (Exception e) {e.printStackTrace();throw new ServletException(e);}}else if(path.equals("/buy")){String id=request.getParameter("id");ComputerDAO dao=new ComputerDAO();try {Computer c = dao.findById(Long.parseLong(id));HttpSession session=request.getSession();Cart cart=(Cart) session.getAttribute("cart");if(cart==null){cart=new Cart();session.setAttribute("cart",cart);}CartItem item=new CartItem();item.setC(c);item.setQuantity(1);boolean flag=cart.add(item);if(!flag){request.setAttribute("buy_err"+id,"你已经购买过该商品");request.getRequestDispatcher("list.do").forward(request, response);}else{response.sendRedirect("list.do");}} catch (Exception e) {e.printStackTrace();throw new ServletException(e);} }else if(path.equals("/delete")){String id=request.getParameter("id");HttpSession session=request.getSession();Cart cart=(Cart) session.getAttribute("cart");cart.delete(Long.parseLong(id));request.getRequestDispatcher("cart.jsp").forward(request, response);}else if(path.equals("/clear")){HttpSession session=request.getSession();Cart cart=(Cart) session.getAttribute("cart");cart.clear();request.getRequestDispatcher("cart.jsp").forward(request, response);}else if(path.equals("/modify")){String id=request.getParameter("id");String quantity=request.getParameter("quantity");HttpSession session=request.getSession();Cart cart=(Cart) session.getAttribute("cart");cart.modify(Long.parseLong(id),Integer.parseInt(quantity));request.getRequestDispatcher("cart.jsp").forward(request, response);}}}computer_list.jsp的源代码:
<%@ page import="entity.Computer,java.util.*" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><h3>商品列表</h3><table><tr><td>商品型号</td><td>商品图片</td><td>商品说明</td><td>商品价格</td></tr><%List<Computer> computers=(List<Computer>)request.getAttribute("computers");for(int i=0;i<computers.size();i++){Computer curr=computers.get(i);%><tr><td><%=curr.getType()%></td><td><img src="img/<%=curr.getPicName()%>" width="150" height="110"/></td><td><%=curr.getProdDesc()%></td><td>¥<%=curr.getPrice()%></td><td><a href="buy.do?id=<%=curr.getId()%>">购买</a><%String info=(String)request.getAttribute("buy_err"+curr.getId());%><span style="color:red"><%=(info==null)?"":info%></span></td></tr><%}%></table><br><input type="button" value="查看购物车" onclick="location='cart.jsp'"/></body></html>cart.jsp的源代码:
<%@ page import="bean.*,java.util.*"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><h3>购物车信息</h3><table><tr><td>商品名称</td><td>商品单价</td><td>商品数量</td></tr><%Cart cart = (Cart) session.getAttribute("cart");if (cart != null && cart.list().size() > 0) {List<CartItem> items = cart.list();for (int i = 0; i < items.size(); i++) {CartItem item = items.get(i);%><tr><td><%=item.getC().getType()%></td><td>¥<%=item.getC().getPrice()%></td><td><%=item.getQuantity()%></td><td><input type="text" size="3" id="num_<%=item.getC().getId()%>"></td><td><a href="javascript:;"onclick="location='modify.do?id=<%=item.getC().getId()%>'+'&quantity='+document.getElementById('num_<%=item.getC().getId()%>').value;">更改数量</a></td><td><a href="test.do?id=<%=item.getC().getId()%>">测试</a></td><td><a href="delete.do?id=<%=item.getC().getId()%>">删除</a></td></tr><%}} else {%><tr><td>你还没有选购任何商品</td></tr><%}%><tr><td>商品总价格:¥<%=cart.getTotalPrice()%></td></tr></table><input type="button" value="返回商品列表" onclick="location='list.do'"><input type="button" value="清空购物车" onclick="location='clear.do'"></body></html>全部打包文件已经上传至我的资源,可以免费下载,菜鸟可以学习学习。sql脚本过于简单,可以参看源码自己写出来,代码里不再给出。IDE为myeclipse6.5。
- 购物车模块myshoppingcart
- 购物车模块设计
- 购物车模块
- 购物车模块测试
- ECshop--购物车模块
- 购物车模块总结1
- 购物车模块总结2
- 购物车模块总结3
- 图书商城:购物车模块
- 购物车模块的功能设计
- 购物车模块系统的开发
- 用JSP实现的商城购物车模块
- phpcms v9 商品购物车模块 不影响升级 二次开发
- 商品添加到购物车模块java程序
- 深入PHP购物车模块功能分析(函数讲解,附源码)
- 开发购物车模块中遇到的问题
- 商城购物车模块-自定义数字加减控件
- ssh框架项目下的购物车模块
- 读书笔记
- JSP自定义标签
- Oracle创建表空间
- 将16进制的字符串 序列,转换 为汉子字符串
- 使用Eclipse构建Tuscany实例(1)
- 购物车模块myshoppingcart
- fopen 打开方式用法
- PHP 长文章的分页解决办法
- 《代码之殇》节选之Bug报告
- grid 导出到excel 类(有应用方法)
- 【笑爆肚子的超级冷笑话】
- 随机码生成代码
- Java获取随机数
- html5 小游戏 demo