對於一個Java開發人員來說,EJB入門是一個小的關口,因為它比單純的開發java、servlet、JSP更多 了幾分系統設置上的麻煩,同時需要你更先要去了解更為廣泛的知識後才能好的利用它。好了,我們就開 始我們的又一次EJB學習品罷。
本程序使用了Sun的J2EE系統(如果你在使用J2EE設置上有什麼問題,可以去參見本人的代碼人生之學 習品中的《J2EE使用指南》的文章)。使用的例程也是J2EE中的一個最簡單的例子。使用的編輯和make工 具是JBuilder。不過你也可以使用手動來用javac將Java文件編譯成為.class文件的。如果你和我一樣使 用了Jbuilder來開發相關的程序,哪麼請在你的 Project中加入一個lib,它包含了你的J2EE目錄中的lib 裡的j2ee.jar文件。並且在我們以下開發的Project中都加入這個 lib。如果你是使用了javac以命令行方 式來進行編譯,哪麼請在你的CLASSPATH中加入上面這個jar文件。
首先我們看一下這個圖:

在EJB入門學習中,我們需要在我們的第一個例程中來創建一個Bean實體、一個Home的接口、一個遠程 接口。以下我們來列出相應的程序。
首先使用 Jbuilder建立一個名為ejbtest的Project(注意要將J2EE的lib加入到工程中來)。然後我 們會加入 Converter.java(實現遠程接口的工作)、ConverterHome.java(實現Home接口工作)、 ConverterEJB.java(EJB實體文件)。
Converter.java文件:
/**
* Title: EJB Test Project$#@60;p$#@62;
* Description: $#@60;p$#@62;
* Copyright: Copyright (c) HD$#@60;p$#@62;
* Company: China Code$#@60;p$#@62;
* @author HD
* @version 1.0
*/
package ejbtest;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public interface Converter extends EJBObject {
public double dollarToYen(double dollars) throws RemoteException;
public double yenToEuro(double yen) throws RemoteException;
}
ConverterHome.java文件:
/**
? Title: EJB Test Project$#@60;p$#@62;
* Description: $#@60;p$#@62;
* Copyright: Copyright (c) HD$#@60;p$#@62;
* Company: China Code$#@60;p$#@62;
* @author HD
* @version 1.0
*/
package ejbtest;
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
public interface ConverterHome extends EJBHome {
Converter create() throws RemoteException, CreateException;
}
ConverterEJB.java文件:
/**
* Title: EJB Test Project$#@60;p$#@62;
* Description: $#@60;p$#@62;
* Copyright: Copyright (c) HD$#@60;p$#@62;
* Company: China Code$#@60;p$#@62;
* @author HD
* @version 1.0
*/
package ejbtest;
import java.rmi.RemoteException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
public class ConverterEJB implements SessionBean {
public double dollarToYen(double dollars) {
return dollars * 121.6000;
}
public double yenToEuro(double yen) {
return yen * 0.0077;
}
public ConverterEJB() {}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(SessionContext sc) {}
}
好,一切都正常,哪麼我們來編譯它。如果出現了什麼Error #:302 cannot access class javax.ejb …..這樣的錯誤,哪麼就說明你沒有將EJB的相關jar文件的lib加入到工程中來。如果正確,哪麼你就可 以在工程的bin目錄中得到相應的三個class文件了。對EJB入門做了個簡單的介紹,希望對你有所幫助。