|
看《精通EJB》(第三版)这本书到第十章的时候我还在写 HelloWorld 程序。书上第三章说:本书建议开发者能够动手将HelloWorld组件编译,并且运行起来。我现在终于做到了。
从官方网站下载最新版的Jboss作EJB容器,安装后在 classpath 加上 jboss所在目录 \server\default\lib\jboss-j2ee.jar。现在可以写程序了。Java程序很简单,直接给出代码。
Hello.java
- package powerwind;
- public interface Hello extends javax.ejb.EJBObject
- {
- public String sayHello() throws java.rmi.RemoteException;
- }
复制代码
HelloHome.java
- package powerwind;
- public interface HelloHome extends javax.ejb.EJBHome
- {
- public Hello create() throws java.rmi.RemoteException,javax.ejb.CreateException;
- }
复制代码
HelloBean.java
- package powerwind;
- public class HelloBean implements javax.ejb.SessionBean
- {
- private javax.ejb.SessionContext ctx;
- public void ejbCreate(){}
- public void ejbRemove(){}
- public void ejbActivate(){}
- public void ejbPassivate(){}
- public void setSessionContext(javax.ejb.SessionContext ctx)
- {
- this.ctx=ctx;
- }
- public String sayHello()
- {
- return "Hello EJB!";
- }
- }
复制代码
使用JSP文件调用EJB组件。
- <%@ page contentType="text/html;charset=GBK" %>
- <%@ page import="powerwind.*,javax.ejb.*,javax.naming.*,javax.rmi.*" %>
- <html>
- <body>
- <%
- String message=null;
- try{
- InitialContext ic=new InitialContext();
- Object obj=ic.lookup("HelloEJB");
- HelloHome home=(HelloHome)PortableRemoteObject.narrow(obj,powerwind.HelloHome.class);
- Hello hello=home.create();
- message=hello.sayHello();
- }catch(Exception e){
- e.printStackTrace();
- }
- %>
- <h1><%=message%></h1>
- </body>
- </html>
复制代码
(未完)
[ 本帖最后由 powerwind 于 2006-8-3 00:52 编辑 ] |
|