服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

使用ejbframe轻松编写ejb组件

ejb(enterprise java bean)是j2ee中最核心的技术,定义了企业级应用组件规范。通过将业务逻辑封装于ejb组件内,实现了3层结构的应用系统的开发。

  然而,ejb规范相对比较复杂,编写ejb需要编写ejb的home接口,remote接口和ejb实现类。ejb规范对这些接口和类进行了许多约定,手工编写十分不方便且容易出错。这里,我向大家推荐一个工具,ejbframe。ejbframe是minij2ee提供的一个生成ejb组件框架源程序的工具,通过gui界面操作就能自动生成正确的ejb home接口,ejb remote接口和ejb实现类的框架源程序,并且还可以生成访问数据库,访问url资源,收发邮件的代码。你只要对生成的代码进行填充,加入你的业务逻辑就可以方便的完成对ejb组件的编写。

  在介绍如何使用ejbframe之前,我们先简单回顾一下ejb的基础知识。在ejb specification 1.1中,ejb分为stateful session bean,stateless session bean和entity bean三种类型的enterprise bean。对于每一个ejb,home接口定义了创建和查找ejb的方法;remote接口定义了ejb的业务逻辑方法;ejb类需要实现同home接口和remote接口对应的方法,这些方法将被ejb container调用来提供客户对ejb的请求。关于ejb home接口,remote接口和ejb类的编写方法,可以参看minij2ee的用户手册( http://www.minij2ee.com/document/ ),里面有详细的描述。这里,我们要介绍的是如何使用ejbframe来方便的生成ejb的框架代码。

  我们以开发一个简单的stateful session bean为例,来演示如何使用ejbframe。我们的这个演示ejb只提供一个gethelloworld方法,返回一个“hello world from ejb!”的字符串。目前,ejbframe工具需要在windows上运行( http://www.minij2ee.com/download/ ),支持linux的版本正在开发中。

  我们启动ejbframe程序,进入ejbframe的主界面,然后进行如下操作:

  1. 指定ejb remote接口的名字:

  在ejb information中的remote interface name框中输入ejb remote接口的名字,这里我们的ejb叫hello,输入hello。输入后,ejbframe工具会自动生成ejb home接口的名字为hellohome,ejb类的名字为helloejb,ejb异常类的名字为helloexception,ejb部署的jndi名字(ejb-jar.xml中指定的值)为hellobean。

  2. 选择ejb的类型:

  在ejb information中的ejb type中选择session,因为我们这个ejb是session bean。

  3. 为remote接口添加方法:

  如上所述,我们的ejb提供一个gethelloworld方法。按remote interface methods中的add按钮,弹出add method对话框。在add method对话框中,return type选string,method name中输入gethelloworld,按ok。add method对话框中addon code区域用来选择给这个方法生成的附加代码,选中database将生成数据库访问代码,选中pop3将生成收取email的代码,选中smtp将生成发送邮件的代码,选中url将生成访问url资源的代码。由于我们的这个ejb比较简单,所以不需要生成附加的代码

  4. 为home接口添加方法:

  我们需要为ejb的home接口添加一个create方法,用来创建ejb对象。按home interface methods中的add按钮,弹出add method对话框。在add method对话框中,method type选create method,method name中输入create,按ok。

  5. 生成ejb框架代码

  按主界面上的generate按钮,将出现一个dos窗口,显示:

  done!
  press any key。

  这时当前目录下就会生成hello.java,hellohome.java,helloejb.java和helloexception.java。

  6. 完成代码

  打开helloejb.java,修改public string gethelloworld() throws helloexception方法如下:

public string gethelloworld() throws helloexception
{
return "hello world from ejb!";
}

  然后,在目录下运行javac *.java。最后生成了hello.class,hellohome.class,helloejb.class和helloexception.class。这样,一个ejb就完成了。

  下面列出一些常见的问题,若按照上面的步骤操作中出现问题可以参考。

  按generate按钮后没有出现成功画面

  1. 请检查java程序是否载路径中,ejbframe程序调用java程序来执行生成代码的java类
  2. 请检查genframecode.class文件是否在ejbframe.exe的同一个目录下。

  javac编译代码出错

  1. 请检查minij2ee.jar和mail.jar是否在classpath中,这两个文件在minij2ee目录的lib子目录下。
  2. 请检查程序代码。

扫描关注微信公众号