Eclipse整合JBoss开发EJB3.0
EJB3.0的两个重要变化是:使用Java5中的程序注释工具和基于Hibernate的O/R映射模型。我们先试试,感受一下:
首先创建一个名为HelloEJB的Java项目,在项目的Library选项中添加一个外部Jar,在项目中添加jboss-ejb3x.jar,点击Finish
在项目中添加一个接口文件FirstEJB.java。详细代码如下:
打包com.ejb
公共接口FirstEjb {
公共字符串hello();
}
保存。
添加另一个类文件FirstBean.java,并实现刚刚创建的接口。具体代码如下:
打包com.ejb
导入javax . EJB . *;
@ Stateless
@ Remote({ first EJB . class })
公共类FirstBean实现FirstEjb {
公共字符串hello() {
返回“hello”;
}
}
在这个文件中,我们导入了javax.ejb.*并添加了两行特殊的注释。
@Stateless表示这是一个无状态会话Bean
@ remote({ FirstEJB.class })表示Bean的远程接口是first EJB . class。
我们创造了一个简单的EJB。让我们把它打包成一个Jar文件。
点击文件-导出,选择Java -Jar文件,点击下一步,只需选择导出类文件,选择保存Jar文件名即可。这个例子被命名为TestEjb.jar,路径被保存。让我们创建一个测试项目。创建一个名为MyTestEjb的Web项目。创建项目后,将EJB项目中的接口类复制到这个Web项目的src目录中(包括Java包)。这是为了方便测试,但在实际使用中没有太大意义。然后创建一个名为MyJsp.jsp的Jsp文件,页面具体代码如下:
Hashtable prop = new Hashtable();
prop . put(" Java . naming . factory . initial "," org . jnp . interfaces . namingcontextfactory ");
prop . put(" Java . naming . provider . URL "," localhost:1099 ");
prop . put(" Java . naming . factory . URL . pkgs "," org . JBoss . naming ");
initial context CTX;
try {
/initialize environment
CTX = newinitial context(prop);
//根据JNDI的名字,找到EJB。JNDI名称的命名格式如下:Remote interface name/Remote
first JB hello world =(first JB)CTX . lookup(" first bean/Remote ");
out . println(hello world . hello());
} catch(naming exception e){
out . println(e . getmessage());
}
% >
保存后,可以打包和部署这个Web应用程序
。点击【文件】-【导出】,选择并导出WAR文件。保存文件名:MyTestEjb.war单击Finish。
0条评论