欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    java会话bean.docx

    • 资源ID:9516629       资源大小:36.95KB        全文页数:29页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java会话bean.docx

    1、java会话bean第十五章 Java会话Bean 下面是一个无状态会话Bean的Home interface编程实例:import java.rmi.RemoteException;import javax.ejb.*;public interface BookDealerHome extends EJBHome /无状态的会话Bean的Home interface /只能有一个没参数的create()函数,且必须返回Bean的Remote interface public BookDealer create() throws CreateException,RemoteException;

    2、 下面是无状态会话Bean的Remote interface的编程实例:import java.util.Collection;import java.rmi.RemoteException;import javax.ejb.*;/用户自定义的包import bookstore.ejb.NoSuchBookException;public interface BookDealer extends EJBObject /根据业务需要定义的各种business函数/这些函数将在EJB的Bean class中具体实现 public boolean buyBook(String booksn) thr

    3、ows RemoteException,NoSuchBookException; public Collection getAvailableBooksInPriceRange(String booktype, float maxprice) throws RemoteException; 以下,是一个无状态会话Bean的编程实例:/引入需要的包import java.util.*;import java.sql.*;import javax.ejb.*;import javax.sql.*;import javax.naming.*;/引入用户自定义的包import bookstore.ej

    4、b.*;public class BookDealerBean implements SessionBean SessionContext ctx; /程序运行中所连接的数据源的参考private javax.sql.DataSource ds; /setSessionContext函数用于取得一些运行中使用的资源public void setSessionContext(SessionContext ctx) /保留SessionContext对象的参考,以备运行中其他函数使用this.ctx=ctx; /取得数据源的参考,以备运行中其他函数需要数据库操作时使用 /没作用的callback函

    5、数但因为implements了SessinBean接口,/所以仍需定义 public void ejbCreate() public void ejbRemove() public void ejbPassivate() public void ejbActivate() /实现Remote interface中定义的business 函数 public Collection getAvailableBooksInPriceRange(String booktype,float maxPrice) public boolean buyBook(String booksn) throws NoS

    6、uchBookException 例如,下面的实例将ExampleEJB中名为getContext()的函数的事务管理属性指定为Required。 ExampleEJB getContents Required下面的代码实例说明了如何使用JTA实现Bean的事务管理:UserTransaction tx=ctx.getUserTransaction();try tx.begin(); business_Method() mit();catch(Exception e) try tx.rollback(); catch(SystemException sysex) throw new EJBEx

    7、ception( Rollback failure:+sysex.toString(); throw new EJBException(Rollback failure:+e.toString();本实例选用Oracle8作为后台数据库。/实例文件:bookstore.sql:建立数据表,并插入一些演示数据DROP TABLE book;CREATE TABLE book ( booksn varchar(8), bookname varchar(30), author varchar(30), booktype varchar(20), price number(5,2);INSERT IN

    8、TO book VALUES(0001,Thinking in Java,Bruce Eckel,Java,60.00);INSERT INTO book VALUES(0002,Java and XML,McLaughlin,Java,69.00);INSERT INTO book VALUES(0003,Thinking in C+,Bruce Eckel,C+,39.00);INSERT INTO book VALUES(0004,Java Cookbook,Darwin,Java,89.00);15.2.3 编写代码1、图书信息对象:BookValueObject.java这个实例程序

    9、要求有一个表示图书种类,价格等信息的对象BookValueObject。BookDealer访问数据库,并用查询的结果填充这个对象,最后把这个对象返回给客户机。客户机程序从BookValueObject中提取各种图书的信息。因为这个对象是通过远程接口传递的,所以必须实现java.io.Serializable接口。/图书信息对象:BookValueObject.java/将本接口定义在包bookstore.ejbpackage bookstore.ejb;import java.io.*;public final class BookValueObject implements Seriali

    10、zable /换行符 private static String EOL=System.getProperty(line.separator); /图书的各种基本信息 private String booksn; private String bookname; private String author; private String booktype; private float bookprice; /无参数构造函数 public BookValueObject() /* *构造函数 *参数:各种图书的基本信息 */ public BookValueObject(String bsn,S

    11、tring bname,String au, String btype,float bprice) setBooksn(bsn); setBookname(bname); setAuthor(au); setBooktype(btype); setBookprice(bprice); /重载java.lang.Object的toStrng()函数 public String toString() StringBuffer sb=new StringBuffer(); sb.append(EOL); sb.append(编号:+getBooksn(); sb.append( 书名:+getBoo

    12、kname(); sb.append( 作者:+getAuthor(); sb.append( 类别:+getBooktype(); sb.append( 价格:+getBookprice(); sb.append(EOL); return sb.toString(); public String getBooksn() return this.booksn; public void setBooksn(String bsn) this.booksn=bsn; public String getBookname() return this.bookname; public void setBo

    13、okname(String bname) this.bookname=bname ; public String getAuthor() return this.author; public void setAuthor(String au) this.author=au; public String getBooktype() return this.booktype; public void setBooktype(String btype) this.booktype=btype ; public float getBookprice() return this.bookprice; p

    14、ublic void setBookprice(float bprice) this.bookprice=bprice ; 2、自定义的异常类:NoSuchBookException.java本实例还需要一个用户自定义的异常类NoSuchBookException,以当用户欲购买一本不存在的图书时,报告异常。/自定义的异常类:NoSuchBookException.javapackage bookstore.ejb;public class NoSuchBookException extends Exception public NoSuchBookException() public NoS

    15、uchBookException(String msg) super(msg); 3、有状态会话Bean:BookBuyer/Remote interface:BookBuyer.java/将本接口定义在bookstore.buyer.ejb下,结构分明,便于管理package bookstore.ejb.buyer;/有状态Bean-BookBuyer的Remote interfaceimport java.util.Collection;import java.rmi.RemoteException;import javax.ejb.EJBObject;import bookstore.e

    16、jb.*;public interface BookBuyer extends EJBObject /* *业务逻辑函数:查询符合客户要求的书籍 *参数: 无 *返回: java.util.Collection 符合要求的书目 *异常: java.rmi.RemoteException */ public Collection getAvailableBooks() throws java.rmi.RemoteException; /* *业务逻辑函数:购买指定的书籍 *参数: String bsn 书籍的编号 *返回: boolean 交易成功 *异常: java.rmi.RemoteExc

    17、eption * bookstore.ejb.NoSuchBookException */ public boolean buyBook(String bsn) throws RemoteException,NoSuchBookException;/Hoem interface:BookBuyerHome.java/将本接口定义在bookstore.buyer.ejb下,结构分明,便于管理package bookstore.ejb.buyer;/有状态Bean-BookBuyer的Home interfaceimport java.rmi.RemoteException;import java

    18、x.ejb.CreateException;import javax.ejb.EJBHome;public interface BookBuyerHome extends EJBHome /* *create函数:获取Remote intface的参考 *参数: String booktype 书目的类别 * float maxPrice 查询书目的价格上限 *返回: BookBuyer BookBuyer的Remote interface *异常: java.rmi.RemoteException * javax.ejb.CreateException */ public BookBuyer

    19、 create(String booktype, float maxPrice) throws CreateException,RemoteException; /Bean class:BookBuyerBean.java/将本接口定义在包bookstore.buyer.ejb下package bookstore.ejb.buyer;/引入所使用的类import java.rmi.RemoteException;import java.util.*;import javax.ejb.*;import javax.naming.*;import javax.rmi.*;/引入用户自定义的类imp

    20、ort bookstore.ejb.NoSuchBookException;import bookstore.ejb.dealer.*;public class BookBuyerBean implements SessionBean /SessinContext的参考 private SessionContext ctx; /用户欲查询图书的类型和最高价格 private String bookType; private float maxPrice; /对无状态会话BeanBookDealer的参考 private BookDealer bookDealer; /* *callback函数

    21、 *参数:SessinContext EJBContaienr参入的SessionContext对象的参考 */ public void setSessionContext(SessionContext c) ctx=c; /* *ejbCreate函数:实现Home interface中实现的create函数 *参数: String booktype 书目的类别 * float maxPrice 查询书目的价格上限 *返回: void */ public void ejbCreate(String booktype,float maxPrice) this.bookType=booktype

    22、; this.maxPrice=maxPrice; /通过Jndi获得有状态会话Bean的Home interface参考 BookDealerHome bookDealerHome=null; try Context ic=new InitialContext(); Object h=ic.lookup(BookDealerEJB); bookDealerHome=(BookDealerHome) PortableRemoteObject.narrow(h,BookDealerHome.class); catch (NamingException ne) ne.printStackTrace

    23、(); throw new EJBException(Exception during look up BookDealerHome); /获得有状态会话Bean的Remote interface参考 try bookDealer=bookDealerHome.create(); catch (Exception e) e.printStackTrace(); throw new EJBException(Exception during get BookDealer Remote interface); /callback函数,在本实例中用不着,但由于implements了SessionBe

    24、an, /所以还是必须实现它们。 public void ejbRemove() public void ejbActivate() public void ejbPassivate() /* *业务逻辑函数:查询符合客户要求的书籍 *参数: 无 *返回: java.util.Collection 符合要求的书目 *异常: java.rmi.RemoteException */ public Collection getAvailableBooks() throws RemoteException /调用BoookDealer提供的服务:getAvailableBookInPriceRange

    25、 return bookDealer.getAvailableBooksInPriceRange(bookType,maxPrice); /* *业务逻辑函数:购买指定的书籍 *参数: String bsn 书籍的编号 *返回: boolean 交易成功 *异常: java.rmi.RemoteException */ public boolean buyBook(String bsn) throws RemoteException,NoSuchBookException /调用BoookDealer提供的服务:buyBook(String) return bookDealer.buyBook

    26、(bsn); 3、无状态会话Bean:BookDealer/Remote interface:BookDealer.javapackage bookstore.ejb.dealer;/引入所需的类import java.util.Collection;import java.rmi.RemoteException;import javax.ejb.*;/引入用户自定的异常类import bookstore.ejb.NoSuchBookException;public interface BookDealer extends EJBObject /根据业务需要定义的各种业务函数 /* *业务逻辑

    27、函数:删除数据库中相应的数据记录 *参数: String bsn 书籍的编号 *返回: boolean 交易成功 *异常: java.rmi.RemoteException * bookstore.ejb.NoSuchBookException */ public boolean buyBook(String booksn) throws RemoteException,NoSuchBookException; /* *业务逻辑函数:查询数据库中符合用户要求的书籍信息 *参数: String booktype 书籍的种类 * float maxPrice 书籍的最高价格 *返回: java.u

    28、til.Collection 符合查询条件的书籍信的信息对象(BookValueObject)的集合 *异常: java.rmi.RemoteException */ public Collection getAvailableBooksInPriceRange(String booktype,float maxprice) throws RemoteException; /Home interface:BookDealerHome.javapackage bookstore.ejb.dealer;import java.rmi.RemoteException;import javax.ejb.*;public interface BookDealerHome extends EJBHome /无状态的会话Bean的Home interface /只能有一个没参数的create()函数,且必须返回Bean的Remote interface public BookDealer create() throws CreateException,RemoteExcepti


    注意事项

    本文(java会话bean.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开