代码如下,改了几次都编译错误,谁来帮帮忙啊?
import java.rmi.*;
import javax.rmi.*;
import java.sql.*;
import java.util.*;
import javax.ejb.*;
import javax.sql.*;
import javax.naming.InitialContext;
import java.lang.*;
public class CartBean implements SessionBean
{
private SessionContext ctx;
InitialContext ic;
Object object ; private Integer customerid;
private String customername; private OrderHome orderHome;
private OrderItemHome orderitemHome; private ArrayList items; public void ejbCreate(Integer customerid, String customername)
{
this. customerid=customerid;
this.customername=customername;
}
public void ejbRemove(){}
public void ejbActivate(){}
public void ejbPassivate(){} public void setSessionContext(SessionContext ctx)
{
this.ctx = ctx;
try
{
ic=new InitialContext();
object = ic.lookup("java:comp/env/ejb/OrderItem");
orderitemHome = (OrderItemHome)PortableRemoteObject.narrow(object,OrderItemHome.class);
object = ic.lookup("java:comp/env/ejb/Order");
orderHome = (OrderHome)PortableRemoteObject.narrow(object,OrderHome.class);
items = new ArrayList();
}
catch (Exception e)
{
throw new EJBException(e);
}
}
public void addToCart(Integer bookid, Integer quantity)
{
items.add(bookid);
items.add(quantity);
}
public Integer purchase()
{
Integer orderid=null;
try
{
Iterator it=items.iterator();
Order order=this.getNewOrder(customerid);
orderid=order.getOrderid();
while(it.hasNext())
{
Integer bookid=(Integer)it.next();
Integer quantity=(Integer)it.next();
OrderItem newItem=orderitemHome.create(orderid, bookid, quantity);
//order.addOrderItem(newItem);
}
items.clear();
}
catch (Exception e)
{
System.out.println("purchase "+e);
}
return orderid;
}
private Order getNewOrder(Integer customerid)
{
Order order=null;
try
{
int id=0;
String sql="SELECT MAX(orderid) FROM orderr";
DataSource ds=(DataSource)ic.lookup("java:comp/env/jdbc/CloudscapeDB");
Statement statement=ds.getConnection().createStatement();
ResultSet rs=statement.executeQuery(sql);
while(rs.next())
{
id=rs.getInt(1)+1;
}
try
{
Calendar c=Calendar.getInstance();
String s=c.get(1)+"-"+c.get(2)+"-"+c.get(3);
java.sql.Date d=java.sql.Date.valueOf(s);
order=orderHome.create(new Integer(id),customerid, d);
}
catch (Exception e)
{
System.out.println(e);
}
try
{
rs.close();
statement.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
catch (Exception e)
{
System.out.println(e);
}
return order;
} public Collection getCartBooks()
{
Collection a=new ArrayList();
Iterator it=items.iterator();
try
{
javax.naming.Context context=new javax.naming.InitialContext();
Object object = context.lookup("java:comp/env/ejb/Book");
BookHome bookHome = (BookHome)PortableRemoteObject.narrow(object,BookHome.class);
while(it.hasNext())
{
Integer bookid=(Integer)it.next();
Integer quantity=(Integer)it.next();
Book book=bookHome.findByPrimaryKey(bookid);
a.add(bookid);
a.add(book.getName());
a.add(book.getAuthor());
a.add(quantity);
}
}
catch (Exception e)
{
System.out.println(e);
}
return a;
}
}
import java.rmi.*;
import javax.rmi.*;
import java.sql.*;
import java.util.*;
import javax.ejb.*;
import javax.sql.*;
import javax.naming.InitialContext;
import java.lang.*;
public class CartBean implements SessionBean
{
private SessionContext ctx;
InitialContext ic;
Object object ; private Integer customerid;
private String customername; private OrderHome orderHome;
private OrderItemHome orderitemHome; private ArrayList items; public void ejbCreate(Integer customerid, String customername)
{
this. customerid=customerid;
this.customername=customername;
}
public void ejbRemove(){}
public void ejbActivate(){}
public void ejbPassivate(){} public void setSessionContext(SessionContext ctx)
{
this.ctx = ctx;
try
{
ic=new InitialContext();
object = ic.lookup("java:comp/env/ejb/OrderItem");
orderitemHome = (OrderItemHome)PortableRemoteObject.narrow(object,OrderItemHome.class);
object = ic.lookup("java:comp/env/ejb/Order");
orderHome = (OrderHome)PortableRemoteObject.narrow(object,OrderHome.class);
items = new ArrayList();
}
catch (Exception e)
{
throw new EJBException(e);
}
}
public void addToCart(Integer bookid, Integer quantity)
{
items.add(bookid);
items.add(quantity);
}
public Integer purchase()
{
Integer orderid=null;
try
{
Iterator it=items.iterator();
Order order=this.getNewOrder(customerid);
orderid=order.getOrderid();
while(it.hasNext())
{
Integer bookid=(Integer)it.next();
Integer quantity=(Integer)it.next();
OrderItem newItem=orderitemHome.create(orderid, bookid, quantity);
//order.addOrderItem(newItem);
}
items.clear();
}
catch (Exception e)
{
System.out.println("purchase "+e);
}
return orderid;
}
private Order getNewOrder(Integer customerid)
{
Order order=null;
try
{
int id=0;
String sql="SELECT MAX(orderid) FROM orderr";
DataSource ds=(DataSource)ic.lookup("java:comp/env/jdbc/CloudscapeDB");
Statement statement=ds.getConnection().createStatement();
ResultSet rs=statement.executeQuery(sql);
while(rs.next())
{
id=rs.getInt(1)+1;
}
try
{
Calendar c=Calendar.getInstance();
String s=c.get(1)+"-"+c.get(2)+"-"+c.get(3);
java.sql.Date d=java.sql.Date.valueOf(s);
order=orderHome.create(new Integer(id),customerid, d);
}
catch (Exception e)
{
System.out.println(e);
}
try
{
rs.close();
statement.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
catch (Exception e)
{
System.out.println(e);
}
return order;
} public Collection getCartBooks()
{
Collection a=new ArrayList();
Iterator it=items.iterator();
try
{
javax.naming.Context context=new javax.naming.InitialContext();
Object object = context.lookup("java:comp/env/ejb/Book");
BookHome bookHome = (BookHome)PortableRemoteObject.narrow(object,BookHome.class);
while(it.hasNext())
{
Integer bookid=(Integer)it.next();
Integer quantity=(Integer)it.next();
Book book=bookHome.findByPrimaryKey(bookid);
a.add(bookid);
a.add(book.getName());
a.add(book.getAuthor());
a.add(quantity);
}
}
catch (Exception e)
{
System.out.println(e);
}
return a;
}
}
解决方案 »
- tomcat里的日志 localhost.***.log中报的一个错误,看不懂,Cannot call sendError() after the respon
- org.hibernate.AssertionFailure: null id in com.bean.Merchan entry (don't flush t
- spring mvc
- 求spring batch 的中文说明文档!!!!
- 求教!struts文件上传,文件名乱码问题
- 问题很简单这分很好得
- 配置Eclipse3.0+tomcat5.0+lomboz的问题
- 能不能设基本类/接口的别名
- 忧闷,JBUILER和WEBLOGIC的组合,发布EJB让我头炸!
- 啊,要我定义接口,从来没有做过,怎么办!
- 紧急,大家帮帮忙unexpected token!!!!
- 怎么样可以点击电子邮件根据学生的邮件地址调出一个邮件收发器
public void addToCart(Integer bookid, Integer quantity)
{
items.add(bookid);
items.add(quantity);
}
建议作成Map的,用bookid做key,对象做value ,当然quantity应该在book类中定义一个新的字段了。
到时添加与删除的时候可以用:items.put(book.getBookid(), book);//添加
items.remove(book.getBookid());//删除