6.编写客户端程序访问EJB
这里,我们编写一个基于控制台的application客户端来访问EJB:
// Client.java
import javax.naming.*;
import javax.rmi.*;
public class Client {
public static void main(String[] args) throws Exception {
// init context:
Context ctx = new InitialContext();
// 通过JNDI查找HelloBean:
Object obj = ctx.lookup("ejb/Hello");
// 获得home object:
HelloHome home = (HelloHome)PortableRemoteObject.narrow(obj, HelloHome.class);
// 创建ejb object:
Hello hello = home.create();
// 调用商业方法:
String Words = hello.say();
System.out.PRintln(words);
}
}
然后打开控制台,先设置好CLASSPATH,主要是将部署时生成的helloClient.jar添加到CLASSPATH中:
C:\client>set CLASSPATH=%CLASSPATH%;C:\client\helloClient.jar
然后编译:
C:\client>javac Client.java
运行:
C:\client>java Client
屏幕输出:
Hello, world.
我们的第一个EJB终于调用成功!
7.在jsp/Servlet中调用EJB
类似EJB的部署,我们也需要将hello.jsp和helloClient.jar添加到Contents中。点击Edit添加hello.jsp和helloClient.jar这两个文件,请注意目录结构,添加完的目录结构一定是下图所示,否则Web应用程序不会正常工作:
然后Next,选择Web组件的类型,这里我们应当选择JSP:
在下一个对话框中选择hello.jsp:
然后一路Next,当出现WAR Context Root时,输入“/”:
剩下的均保持默认值即可。现在我们的Hello应用程序有两个组件:一个EJB和一个JSP:
点击查看大图
然后选择Tools > Deploy…,将应用程序重新部署一遍,完毕后,打开浏览器,输入http://localhost:8000/hello.jsp:
浏览器显示出了正确的页面!
(出处:http://www.knowsky.com)