购物车bean类

原创 2007年09月28日 08:38:00
bean

package com.hygj.bean;

public class Products {
  private int productId;
  private String productName;
  private float unitPrice;

  public Products() {
  }
  public int getProductId() {
    return productId;
  }
  public String getProductName() {
    return productName;
  }
  public float getUnitPrice() {
    return unitPrice;
  }
  public void setUnitPrice(float unitPrice) {
    this.unitPrice = unitPrice;
  }
  public void setProductName(String productName) {
    this.productName = productName;
  }
  public void setProductId(int productId) {
    this.productId = productId;
  }

}

--------

package com.hygj.bean;
//存储具体购买的商品信息bean
public class Shopping {
  private int productId;
  private String productName;
  private float unitPrice;
  private int shuliang;
  public Shopping() {
  }
  public int getProductId() {
    return productId;
  }
  public void setProductId(int productId) {
    this.productId = productId;
  }
  public String getProductName() {
    return productName;
  }

  public void setProductName(String productName) {
    this.productName = productName;
  }
  public int getShuliang() {
    return shuliang;
  }
  public void setShuliang(int shuliang) {
    this.shuliang = shuliang;
  }
  public float getUnitPrice() {
    return unitPrice;
  }
  public void setUnitPrice(float unitPrice) {
    this.unitPrice = unitPrice;
  }

}

-------------------------------------

util

package com.hygj.util;

import java.sql.*;
import com.hygj.bean.Products;

public class DbUtil {
  private Connection conn = null;
  private PreparedStatement pt = null;
  private ResultSet rs = null;
  private java.util.Vector all = null;
  private Products product = null;
  private int kucun;
  public DbUtil() {
    try {
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    }
    catch (ClassNotFoundException ex) {
    }
  }

  public void setConn() {
    String url =
        "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=northwind";
    try {
      conn = DriverManager.getConnection(url, "sa", "");
      System.out.println("conn ok");
    }
    catch (SQLException ex) {
    }
  }

  public void closeConn() {
    if (conn != null) {
      try {
        conn.close();
        System.out.println("conn  close");
      }
      catch (SQLException ex) {
      }
    }
  }

  public java.util.Vector chaxun() {
    setConn();
    String sql = "select ProductID, ProductName, UnitPrice FROM Products";
    try {
      all = new java.util.Vector();
      pt = conn.prepareStatement(sql);
      rs = pt.executeQuery();
      while (rs.next()) {
        product = new Products();
        product.setProductId(rs.getInt(1));
        product.setProductName(rs.getString(2));
        product.setUnitPrice(rs.getFloat(3));
        all.add(product);
      }
    }
    catch (SQLException ex) {
    }
    finally {
      try {
        rs.close();
        pt.close();
        closeConn();
      }
      catch (SQLException ex1) {
      }
    }
    return all;
  }

  public Products chaxun(int id) {
    setConn();
    String sql =
        "select ProductID, ProductName, UnitPrice FROM Products where productId=?";
    try {
      pt = conn.prepareStatement(sql);
      pt.setInt(1, id);
      rs = pt.executeQuery();
      if (rs.next()) {
        product = new Products();
        product.setProductId(rs.getInt(1));
        product.setProductName(rs.getString(2));
        product.setUnitPrice(rs.getFloat(3));
      }
    }
    catch (SQLException ex) {
    }
    finally {
      try {
        rs.close();
        pt.close();
        closeConn();
      }
      catch (SQLException ex1) {
      }
    }
    return product;
  }

//验证库存
  public int chaKucun(int id) {
    setConn();
    try {
      pt = conn.prepareStatement(
          "SELECT UnitsInStock FROM Products WHERE ProductID=?");
      pt.setInt(1, id);
      rs = pt.executeQuery();
      if (rs.next()) {
        kucun = rs.getInt(1);
      }
    }
    catch (SQLException ex) {
    }
    finally {
      try {
        rs.close();
        pt.close();
        closeConn();
      }
      catch (SQLException ex1) {
      }

    }
    return kucun;
  }

  public static void main(String[] args) {
    DbUtil db = new DbUtil();
    System.out.println(db.chaKucun(2));
  }

}
------------------------------------------

index.jsp

显示商品信息

商品编号 商品名称 商品单价 购买
<%=product.getProductId()%> <%=product.getProductName()%> <%=product.getUnitPrice()%> 购买

 

goumai.jsp

请输入数量

 

商品名称:
商品单价:
商品数量:

CarServlet.jsp

 

package com.hygj.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class CarServlet extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html; charset=GBK";
  //Initialize global variables
  public void init() throws ServletException {
  }
  //Process the HTTP Get request
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    request.setCharacterEncoding("gb2312");
    String id=request.getParameter("id");
    String name=request.getParameter("name");
    String price=request.getParameter("price");
    String shuliang=request.getParameter("shuliang");
  //  System.out.println(id+"  "+name+"  "+price+"  "+shuliang);
  //根据id来验证库存问题
  int kucun=new com.hygj.util.DbUtil().chaKucun(Integer.parseInt(id));
  if(kucun<Integer.parseInt(shuliang)){
    //可以转回goumai.jsp,但同时需要传递商品编号和错误信息
    response.sendRedirect("kucun_error.jsp");
  }
  else{
    //商品信息添加到购物车,有两种操作,
    //一:把每个商品作为单独的属性进行添加;二:把所有商品作为一个属性添加
    HttpSession session=request.getSession(true);
   // session.setAttribute(id,shuliang);不推荐
   //把每次购买的信息先存放到了bean类中,再把所有的信息存到集合中,把集合存到session 中
   //调用购买商品的bean类
   com.hygj.bean.Shopping goumai=new com.hygj.bean.Shopping();
   //添加数据
   goumai.setProductId(Integer.parseInt(id));
   goumai.setProductName(name);
   goumai.setUnitPrice(Float.parseFloat(price));
   goumai.setShuliang(Integer.parseInt(shuliang));
   //把goumai  bean添加到属性中
   //首先要判断是否已经购买过商品
   java.util.Vector maiguo=(java.util.Vector)session.getAttribute("shopping");
   if(maiguo==null){
     maiguo=new java.util.Vector();
   }
   maiguo.add(goumai);
   //重新设置一下属性
   session.setAttribute("shopping",maiguo);
   //转道新页面:购物车信息显示页面
   response.sendRedirect("car.jsp");
 }

  }
  //Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
  }
  //Clean up resources
  public void destroy() {
  }
}

kucun.jsp

库存不足,请重新购买

car.jsp

您购买的商品信息:

商品编号 商品名称 商品单价 商品数量 商品金额 修改数量 删除商品
<%=gouwu.getProductId()%> <%=gouwu.getProductName()%> <%=gouwu.getUnitPrice()%> <%=gouwu.getShuliang()%> <%=money%> 修改数量 删除商品
总金额:<%=sum%>


继续购买 清空购物车 结帐

ClearServlet.jsp

package com.hygj.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class ClearServlet extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html; charset=GBK";
  //Initialize global variables
  public void init() throws ServletException {
  }
  //Process the HTTP Get request
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    HttpSession session=request.getSession(true);
    session.removeAttribute("shopping");
    response.sendRedirect("index.jsp");


  }
  //Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
  }
  //Clean up resources
  public void destroy() {
  }
}

<% } %>

 

 

Ejb in action(四)——购物车实例演示有状态会话Bean

前面,我们介绍了一个入门实例,其实那就是无状态回话Bean的常用情况。 上一篇文章中,我们介绍了无状态会话Bean和有状态会话Bean的相关概念。为了加深大家对它们的理解,我们一起来实现一个有状态会...

有状态会话bean

在会话bean综述中,描述了无状态和有状态bean的区别在于客户端和服务器之间交互形式不同。对于无状态会话bean,交互的开始和结束都在同一个方法中。有时客户端需要发出多个服务请求(需要调用多个方法)...

有状态会话Bean和无状态会话Bean的区别

    Session   Bean   主要的目的是让程序开发者将逻辑层抽离;    Entity   Bean   主要是资料组件,  Entity   Bean   主要的目的,在于提供资料,也...

将Bean类保存在本地,已JSON的形式提交,便于其他页面读取。常用于购物车

package com.vily.cartshop.utils; import android.content.Context; import android.util.SparseArray; ...

购物车二级列表的实现,在一级列表基础上,bean类里再添加两个字段(请求本地json数据)

首先bean类里添加两个字段,,并且封装get set方法 //商品的选中 属性 private boolean check; //商家是否选中 private bool...
  • thw_m
  • thw_m
  • 2017年11月20日 21:25
  • 68

购物车二级列表的实现,在一级列表基础上,bean类里再添加两个字段(请求本地json数据)

本文链接:http://blog.csdn.net/IT666DHW/article/details/78576847(参考本链接文章) 首先bean类里添加两个字段,,并且封装ge...

mvc(jsp+servlet+bean)购物车

  • 2010年05月27日 16:19
  • 123KB
  • 下载

PHP购物车类Cart.class.php定义与用法示例

这篇文章主要介绍了PHP购物车类Cart.class.php定义与用法,结合实例形式给出了购物车类Cart.class.php的完整定义代码并分析了相关的使用技巧,需要的朋友可以参考下 ...

php之购物车类思路及代码

  • jek803
  • jek803
  • 2012年12月22日 14:24
  • 4661

PHP session购物车类

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 购物车bean类
举报原因:
原因补充:

(最多只允许输入30个字)