新手指南 J2EE专家起步图解2

2008-02-23 07:46:13来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  二、 开发第一个EJB

  EJB2.0规范中定义了3种企业Bean。分别为会话Bean(Session Bean)、实体Bean(Entity Bean)和消息驱动Bean(Message Driven Bean)。会话Bean模拟一个商务过程;实体Bean模拟商务数据;而消息驱动Bean与会话Bean类似也是在模拟一个商务过程,但消息驱动Bean只接受消息的调用。

  本文着重介绍如何快速开发一个实体Bean。因为会话Bean相对简单,在理解了实体Bean后,自己很容易就能编写出来。而消息驱动Bean在用到的时候学也不迟。

  1. Eclipse中,运行"file"-> "new"-> "project"选择Lomboz J2EE Project。在project name中填入我们的工程名"EJBTest"。点击next后,会出现java setting的对话框,我们不做任何修改,直接next。在这一步,我们将建立一个EJB的模块。如图九所示,在ejb Module选项卡中,我们新建一个名为myEJB的EJB Module。


(图九)

  然后在Targent Server中,选择我们刚刚配置好的Jboss3.2.x。add以后再选择finish,我们工程就建立好了。

  2. 现在用Lomboz的向导来生成我们EJB,选择"file"-> "new"->"Lomboz EJB Creation Wizard"。如图十所示:


(图十)

  在package 中填入包名,比如"Rip.ejb.cmp";在name中,我们给这个EJB起个名字,比如"mytest"。Select EJB Type选项里,选择"Container Managed Entity EJB",表明要创建一个由容器管理的实体EJB。如图十一所示


(图十一)

  这一步中我们要声明数据表名称,数据源名称,以及表中各个字段。参照图十二:


  将各项内容填入相应的地方。注意,每添加一个字段都要点击add一次,将其放入下方的已加入的字段列表中。最后选中id这一字段,点击Make Primary Key,将其标记为主健。其中,table name项对应着我们先前在mySQL中建立的数据表myejb;datasource对应着我们在jBoss中设定的数据源mytest-ds.xml。

  点击finish后,就可以在左侧src目录下Rip.ejb.cmp包中找到并打开我们刚刚生成的mytestBean.java(mytest后的Bean是Lomboz自动添加的)文件。找到ejbCreate()方法,添加两个字符串型的输入变量"id"和"context,并添加两个方法setId(id)和setContext(context),具体实现如图十三:


(图十三)点击放大


  如果更改过程中出现载入包或者捕捉异常的错误,单击错误符号,选择载入或直接抛出异常即可。

  这个新建立的EJB需要被放入一个模块中才可以被装载、执行。如图十四所示:


(图十四)点击放大


  右健点击mytestBean.java,选择lomboz J2EE...->Add EJB to Module,再在刚才建立的myEJB这个模块前打勾,点击ok后,便实现了装载。一个完整的实体EJB是由多个不同功用的文件组合起来的,但这里它们由加了标签的mytestBean.java自动生成。所使用的是XDoclet技术,感兴趣的读者可以到网上去搜索一下,有很多的相关介绍,我们就不再介绍具体细节了。如图十五所示:右健点击myEJB这个模块,选择lomboz J2EE...->Generate EJB Classes。


(图十五)点击放大


  显示成功之后,在ejbsrc目录下的Rip.ejb.cmp包中,你就可以看到mytestHome.java等六个文件。在mytest这个模块下面的META-INF文件夹中,有许多xml文件。其中,jboss.xml、jbosscmp-jdbc.xml和ejb-jar.xml是部署EJB最关键的三个配置文件。而我们现阶段需要更改的只是jbosscmp-dbc.xml这个文件,它描述了对数据源的描述,其他的文件都已经由lomboz 配置好了。我们将这个文件的相关部分修改为:

<jbosscmp-jdbc>
<enterprise-beans>
<defaults>
 <datasource>java:/mytestDS</datasource>
 <datasource-mapping>mySQL</datasource-mapping>
 <preferred-relation-mapping>foreign-key</preferred-relation-mapping>
</defaults>
<enterprise-beans>


  其他部分不做改变。至此,我们完成了所有的EJB开发工作。右健点击myEJB这个模块,选择lomboz J2EE...->Deploy Module将这个模块装载到服务器中。然后,选择lomboz J2EE...->Debug Server运行服务器。万事俱备,只欠调用!

  三、 EJB的调用-使用JSP显示数据 

  现在我们将使用JSP作为业务层和表示层来调用EJB,将一些数据存储到数据库中,并把数据库里已有的数据全部打印到客户端的浏览器上。

  1. 如上文介绍过的,我们再建立一个名为"myEJB"的Web模块。target Server还是选择我们配置好的Jboss3.2.x,确定后将生成一个myWeb的目录。

  2. 打开myWeb的目录,将以下的代码替换掉index.jsp的原有代码。

<%@ page import="javax.ejb.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="javax.ejb.*"%>
<%@ page import="Rip.ejb.cmp.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.rmi.RemoteException"%>

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:新手指南 J2EE专家起步图解

下一篇:JSP实现上传文件的两种方法