對於一個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入門做了個簡單的介紹,希望對你有所幫助。