通过本人对书本上示例程序的分析,自我感觉书上的示例程序实在是没有说服力,主要是部署工具出奇的麻烦,在这个JAVA不花钱的年代,怎么能用J2EE自带的部署工具,一大堆的配置实在是另人烦躁!呵呵。
说了一大堆,开始进入关键议题了,各位听好了。
我选用的是ECLIPSE,这个免费的东西实在做的不错,在我但是做STRUTS的时候就发现他的好多优点,但是实在遗憾,本人没有用过JBUILDER,也不知道他们是不是一样。
ECLIPSE有个LOMBOZ的插件,这个插件里边包含有所有服务器的配置方案。可以配置WEB
MODEL,和EJB MODEL,这里边我选用JBOSS服务器吧,因为听说他也是不要钱的。
至于ECLIPSE下JBOSS是怎么培植,这非常简单,只要上GOOGLE上搜索‘ECLIPSE部署‘就有好多,联想公司姜巍巍先生就写了一篇配置,但是大家不要看他的EJB部署,实在是垃圾。按照他说的要想让初学者学会第一个EJB是有难度的!
大家还是来看我的HELLOWORLD吧!
摘自http://www.objectlearn.com/support/docs/firstEJB.jsp
其实我只是帮大家翻译一下,呵呵。看原文可以上上边这个网址。
好了,不多说废话了。现在开始。对了,一定要保证你的LOMBOZ和ECLIPSE都已经配置好了啊。
1.
新建一个Lomboz
J2EE Project,叫"MyFirstEJBProject"。其他的地方都不要改,NEXT。
2.
然后就能进入这个界面:
看见了吧,在这个的EJB
MODULES中加一个新的MODULES,叫mybeans。
然后再选择TARGET
SERVER选项。就是这。
选择我们刚才说的已经配置好的JBOSS。
3.
好了,现在如果不报错的话。就点FINISH吧!
4.
第一个EJB模块已经完成,它可以给你生成EJB和EJB
HOME,但是开发的实现类需要自己写!下边就是怎么写一个实现类。
5.
这副图能明白吧,可是有人要问了,这个东西哪儿来的?主界面,WINDOW菜单下的PERFERNECE,点他!哈哈,把里边有LOMBOZ的全选上就有了。
6.OK拉,按照下边的图把名字输上:
这个时候FINISH就会生成一个TestSessionBean.java。这个就是生成的实现类了。
7.然后就是给这个实现类填加一些方法了。怎么填呢?别改源代码,行不通,要这么做:
然后,
这样就可以加入方法了,千万别手动加代码啊,这样会让你组件接口找不到你写的方法!
然后把这个实现类的方法改成:
public
String helloWorld(){
return
"Hello from lomboz!";
a)
把刚才写的这个EJBBEAN加入到EJB中.
b) 生成主接口,组件接口.
c)
把他部署到服务器上.
d)
写一个客户程序来实验他.
9.各位观众,现在大家以最快的速度把这个界面找到。
然后做这个操作:
这个操作就是完成任务b)的任务。
10.OK了,现在开始做c)了,就是把刚才写好的EJB部署到服务器上,按照下边两个图来做。
找控制台,看看你的部署成功不成功,要是成功的话。就可以做d)了。不成功的话,再来一遍!要是还不成功的话。找我吧。
11.现在我们就要写一个客户程序来实验他了,真是兴奋啊!
先重新建立一个JAVA项目,这样才能显示出EJB的功能嘛。
新建立的项目叫这个名MyEjbClientProject,其实随便叫什么名了。
点NEXT进下一页的时候一个要在PROJECT里边把我们刚才做的MyEJBClientProject给加上啊!否则白做了。
然后在NEW
菜单下找这个ITEM,CREATE
AN EJB TEST CLIENT。点上。
12.这么配置。这个其实根本都不用说。
FINISH之后就能看见这个类:TestClient.java。
修改这个方法
public
void testBean() {
try
{
com.testing.session.TestSession
myBean
= getHome().create();
//--------------------------------------
//This
is the place you make your calls.
System.out.println(myBean.helloWorld());
}
catch (RemoteException
e) {
e.printStackTrace();
}
catch (CreateException
e) {
e.printStackTrace();
}
catch (NamingException
e) {
e.printStackTrace();
}
}
OK,SAVE然后运行!!!!成功!!!
OK,一个最简单的EJB完成。终于可以进入到第三章了啊!
|