一个Session Bean的示例原著:Dale Green 理解实例的先决条件 要理解这些实例,你必须掌握Java编程语言、SQL和关系型数据库的基本概念。特别是以下的内容: 1、JDBC 2、Threads 3、JavaBeans 4、Security 下载这些实例 如果你是在线阅读这份指南,而你希望能够建立并运行这些实例,你需要从这里下载指南的附属软件包: http://java.sun.com/j2ee/download.html#tutorial 在你安装好这个软件包之后,在j2eetutorial/examples/src目录下将可以看到实例的源代码,子目录ejb中是enterprise bean技术的实例,web子目录中是Web技术的实例,而connector子目录中是连接器技术的实例。对于绝大多数的实例,这个软件包也包含了J2EE应用程序的EAR文件,你可以在 j2eetutorial/examples/ears目录下找到这些文件。 如何建立并运行这些实例 这份指南的适用平台是J2EE SDK 1.3。要建立、部署并运行这些实例,你需要一份J2EE SDK 1.3和Java 2 Platform, Standard Edition (J2SE) SDK 1.3.1 (早一些的版本被称之为JDK)。J2EE SDK可以从这里下载: http://java.sun.com/j2ee/download.html#sdk 而J2SE 1.3.1可以从这里下载: http://java.sun.com/j2se/1.3/ 这些实例的分布使用了ant这个简便的make工具的配置文件来完成。ant是由Apache的Jakarta项目组负责维护的。你可以从这里下载ant: http://jakarta.apache.org/builds/jakarta-ant/release/v1.3/bin 要建立指南的实例,你必须完成以下几步工作: 1、下载并安装J2SE SDK 1.3.1、J2EE SDK 1.3和ant。 2、J2SE SDK、J2EE SDK和ant的安装说明书会说明如何设置必需的环境变量。根据表1检查这些环境变量是否已被正确设置。 表1 设置环境变量 环境变量:值 JAVA_HOME:J2SE SDK所安装的位置。 J2EE_HOME:J2EE SDK所安装的位置。 ANT_HOME:ant所安装的位置。 PATH:必须包含J2EE SDK、J2SE SDK和ant的bin目录。 3、转到j2eetutorial/examples目录下。 4、执行ant target。例如,要建立所有的实例,执行ant all;要建立Web层实例,执行ant web。建立过程的输出可在j2eetutorial/examples/build目录下找到。 一个Session Bean的示例 Session beans是一个强有力的组件,它将你的客户端扩展到远程的服务器--但是它的构建也很简单。在第二章中你已经构建了一个名为ConverterEJB的stateless session bean。这一章中我们将对一个名为CartEJB的stateful session bean的源代码进行研究。 CartEJB示例 CartEJB这个session bean表现了在一个在线书店的购物篮。客户端可以向篮中添加一本书、删除一本书或接受购物篮内容。要构造CartEJB,你需要以下代码: 1、Session bean类(CartBean) 2、Home接口(CartHome) 3、Remote接口(Cart) 所有session bean都需要一个session bean类。所有允许远程访问的enterprise bean都有一个home接口和remote接口。为了适应一个具体的应用程序的需要,一个enterprise bean有时也需要一些辅助类。CartEJB有两个辅助类:BookException和IdVerifier,我们将在辅助类中对其作进一步的讨论。 在j2eetutorial/examples/src/ejb/cart目录下有示例的源代码。要编译代码,到j2eetutorial/examples目录下输入ant cart。在j2eetutorial/examples/ears目录下有CartApp.ear文件的示例。 Session Bean类 这个session bean类名为CartBean。和其它所有的session bean一样,CartBean类也必须满足这些条件: 1、实现SessionBean接口。 2、类型为public。 3、不能定义为abstract或final。 4、实现一个或多个ejbCreate方法。 5、实现商业方法。 6、包含一个无参数的public构造函数。 7、不能定义finalize方法。 CartBean类的源代码如下:
|