top
Loading...
代碼人生學習品之EJB入門篇
br>今天終于開始我們的EJB之路了。我會帶著大家一點點的學習EJB的開發、使用以及在應用系統中的部屬。對于一個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文件。

首先我們看一下這個圖:



我們需要在我們的第一個例程中來創建一個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部屬到J2EE系統中去。



相關資源:

有關本文章相關問題可以到news://news.chinacode.net 新聞組的CCU.Program.Java.EJB組中去討論。同時你也可以在哪里找到本文章最新的版本。

J2EE系統: http://java.sun.com/j2ee 可以免費下載到J2EE系統軟件

JBuilder: http://www.borland.com 可以免費下載到Jbuilder 3.5基礎版,本文章中開發工具就是它了。

代碼人生,人生之代碼如何去寫?

如果你也是一位代碼人,哪么讓我們互道珍重,一起前進!


轉自 www.chinacode.net 中國代碼聯盟新聞組
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com