⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cartforwindow.java~94~

📁 购物车模块实例。购物车模块可以浏览商品类别;可以根据商品类别浏览商品信息;可以购买商品;可以查看购物车的商品;可以修改购买商品的数量和删除购买的商品。
💻 JAVA~94~
字号:
package data;

import javax.naming.*;
import java.util.*;
import javax.rmi.PortableRemoteObject;
import java.rmi.RemoteException;
import cmscartpro.*;

public class CartForWindow {
  CartHome cartHome = null;
  Cart cart = null;
  String customer = "";
  //创建购物车的处理方法类
  CartMethod cartMethod = new CartMethod();

  public CartForWindow(String customer) {
    this.customer = customer;
    try {
      initialize();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }
  //EJB的初始化方法
  public void initialize() throws Exception {
    //创建服务器对象查找类
    Context context = getInitialContext();
    //取得EJB在服务器的对象
    Object ref = context.lookup("Cart");
    //取得Cart EJB的创建接口
    cartHome = (CartHome) PortableRemoteObject.narrow(ref, CartHome.class);
    //取得Cart EJB的远程接口
    cart = create();
  }
  //服务器对象查找类的创建方法
  private Context getInitialContext() throws Exception {
    String url = "t3://bemyfriend:7001";
    String user = null;
    String password = null;
    Properties properties = null;
    //初始化联接服务器的属性
    try {
      properties = new Properties();
      properties.put(Context.INITIAL_CONTEXT_FACTORY,
                     "weblogic.jndi.WLInitialContextFactory");
      properties.put(Context.PROVIDER_URL, url);
      if (user != null) {
        properties.put(Context.SECURITY_PRINCIPAL, user);
        properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
      }
      return new InitialContext(properties);
    }
    catch(Exception e) {
      System.out.println("Unable to connect to WebLogic server at " + url);
      System.out.println("Please make sure that the server is running.");
      throw e;
    }
  }
  //创建Cart EJB的远程接口
  public Cart create() throws Exception {
    cart = cartHome.create(customer);
    return cart;
  }
  //添加商品的方法
  public void addGoods(java.util.Hashtable goods) {
    try{
      cart.addGoods(goods);
    }catch(Exception ex){
      ex.printStackTrace();
    }
  }
  //修改商品数量的方法
  public void updateGoods(java.util.Hashtable goods) {
    try{
      cart.updateGoods(goods);
    }catch(Exception ex){
      ex.printStackTrace();
    }
  }
  //删除商品数量的方法
  public void removeGoods(java.util.Collection goodsId) {
    try{
      cart.removeGoods(goodsId);
    }catch(Exception ex){
      ex.printStackTrace();
    }
  }
  //取得顾客名字的方法
  public java.lang.String getCustomer() {
    try{
      return cart.getCustomer();
    }catch(Exception ex){
      ex.printStackTrace();
      return "";
    }
  }
  //设置顾客名字的方法
  public void setCustomer(java.lang.String customer) {
    try{
      cart.setCustomer(customer);
    }catch(Exception ex){
      ex.printStackTrace();
    }
  }
  //取得商品集合的方法
  public Hashtable getGoods() {
    try{
      return cart.getGoods();
    }catch(Exception ex){
      ex.printStackTrace();
      return null;
    }
  }
  //取得商品数组的方法
  public Object[][] getGoodsobjs(){
    Hashtable goods = getGoods();
    Enumeration GoodsIds = goods.keys();
    //创建商品数组
    Object[][] goodsObjs = new Object[goods.size()+1][7];
    //创建单个商品数组
    String[] oneGoodsStrs = new String[4];
    int row = 0;
    String goodsStr = "";
    String goodsId = "";
    double amount = 0;
    double oneGoodAmount = 0;
    int quantity = 0;
    while(GoodsIds.hasMoreElements()){
      //取得商品标识
      goodsId = (String)GoodsIds.nextElement();
      //取得商品字符串
      goodsStr = (String)goods.get(goodsId);
      //分解商品字符串
      oneGoodsStrs = cartMethod.decodeGoodsStr(goodsStr);
      goodsObjs[row][0] = goodsId;                         //取得商品标识
      goodsObjs[row][1] = oneGoodsStrs[0];                 //取得商品名称
      goodsObjs[row][2] = oneGoodsStrs[1];                 //取得单位数量
      goodsObjs[row][3] = new Double(oneGoodsStrs[2]);     //取得单价
      goodsObjs[row][4] = new Boolean(false);              //是否修改
      goodsObjs[row][5] = new Integer(oneGoodsStrs[3]);    //取得购买数量
      try{
        oneGoodAmount = Double.parseDouble(oneGoodsStrs[2]) *
            Double.parseDouble(oneGoodsStrs[3]);
        quantity += Integer.parseInt(oneGoodsStrs[3]);     //累加购买数量
      }catch(Exception ex){
        oneGoodAmount = 0;
      }
      //累加总金额
      amount += oneGoodAmount;
      goodsObjs[row][6] = new Double(oneGoodAmount);        //取得金额
      row++;
    }
    //在最后一行显示总金额
    goodsObjs[row][0] = "总金额";
    goodsObjs[row][1] = "";
    goodsObjs[row][2] = "";
    double averagePrice = 0;
    //计算平均单价
    if(quantity != 0){
      averagePrice = cartMethod.roundUp(amount/quantity);
      averagePrice /= 100;
    }else{
      averagePrice = 0;
    }
    goodsObjs[row][3] = new Double(averagePrice);
    goodsObjs[row][4] = new Boolean(false);                //是否修改
    goodsObjs[row][5] = new Integer(quantity);             //取得购买数量
    goodsObjs[row][6] = new Double(roundUp(amount));
    return goodsObjs;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -