程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 使用ejbframe輕松編寫EJB組件

使用ejbframe輕松編寫EJB組件

編輯:關於JAVA

EJB(Enterprise Java Bean)是J2EE中最核心的技術,定義了企業級應用組件規范。通過將業務邏輯封裝於EJB組件內,實現了3層結構的應用系統的開發。

然而,EJB規范相對比較復雜,編寫EJB需要編寫EJB的Home接口,Remote接口和EJB實現類。EJB規范對這些接口和類進行了許多約定,手工編寫十分不方便且容易出錯。這裡,我向大家推薦一個工具,ejbframe。ejbframe是minij2ee提供的一個生成EJB組件框架源程序的工具,通過GUI界面操作就能自動生成正確的EJB Home接口,EJB Remote接口和EJB實現類的框架源程序,並且還可以生成訪問數據庫,訪問URL資源,收發郵件的代碼。你只要對生成的代碼進行填充,加入你的業務邏輯就可以方便的完成對EJB組件的編寫。

在介紹如何使用ejbframe之前,我們先簡單回顧一下EJB的基礎知識。在EJB specification 1.1中,EJB分為stateful session bean,stateless session bean和entity bean三種類型的enterprise bean。對於每一個EJB,Home接口定義了創建和查找EJB的方法;Remote接口定義了EJB的業務邏輯方法;EJB類需要實現同Home接口和Remote接口對應的方法,這些方法將被EJB Container調用來提供客戶對EJB的請求。關於EJB Home接口,Remote接口和EJB類的編寫方法,可以參看minij2ee的用戶手冊( http://www.minij2ee.com/document/ ),裡面有詳細的描述。這裡,我們要介紹的是如何使用ejbframe來方便的生成EJB的框架代碼。

我們以開發一個簡單的stateful session bean為例,來演示如何使用ejbframe。我們的這個演示EJB只提供一個getHelloWorld方法,返回一個“hello world from EJB!”的字符串。目前,ejbframe工具需要在windows上運行( http://www.minij2ee.com/download/ ),支持linux的版本正在開發中。

我們啟動ejbframe程序,進入ejbframe的主界面,然後進行如下操作:

1. 指定EJB Remote接口的名字:

在EJB information中的Remote interface name框中輸入EJB Remote接口的名字,這裡我們的EJB叫Hello,輸入Hello。輸入後,ejbframe工具會自動生成EJB Home接口的名字為HelloHome,EJB類的名字為HelloEJB,EJB異常類的名字為HelloException,EJB部署的JNDI名字(ejb-jar.xml中指定的值)為HelloBean。

2. 選擇EJB的類型:

在EJB information中的EJB Type中選擇session,因為我們這個EJB是session bean。

3. 為Remote接口添加方法:

如上所述,我們的EJB提供一個getHelloWorld方法。按Remote Interface Methods中的Add按鈕,彈出add method對話框。在add method對話框中,Return Type選String,Method Name中輸入getHelloWorld,按Ok。add method對話框中Addon Code區域用來選擇給這個方法生成的附加代碼,選中Database將生成數據庫訪問代碼,選中Pop3將生成收取Email的代碼,選中Smtp將生成發送郵件的代碼,選中URL將生成訪問URL資源的代碼。由於我們的這個EJB比較簡單,所以不需要生成附加的代碼

4. 為Home接口添加方法:

我們需要為EJB的Home接口添加一個create方法,用來創建EJB對象。按Home Interface Methods中的Add按鈕,彈出add method對話框。在add method對話框中,Method Type選create method,Method Name中輸入create,按Ok。

5. 生成EJB框架代碼

按主界面上的Generate按鈕,將出現一個DOS窗口,顯示:

done!

press any key。

這時當前目錄下就會生成Hello.java,HelloHome.java,HelloEJB.java和HelloException.java。

6. 完成代碼

打開HelloEJB.java,修改public String getHelloWorld() throws HelloException方法如下:

public String getHelloWorld() throws HelloException
{
return "hello world from EJB!";
}

然後,在目錄下運行javac *.java。最後生成了Hello.class,HelloHome.class,HelloEJB.class和HelloException.class。這樣,一個EJB就完成了。

下面列出一些常見的問題,若按照上面的步驟操作中出現問題可以參考。

按Generate按鈕後沒有出現成功畫面

1. 請檢查java程序是否載路徑中,ejbframe程序調用java程序來執行生成代碼的java類

2. 請檢查GenFrameCode.class文件是否在ejbframe.exe的同一個目錄下。

javac編譯代碼出錯

1. 請檢查minij2ee.jar和mail.jar是否在CLASSPATH中,這兩個文件在minij2ee目錄的lib子目錄下。

2. 請檢查程序代碼。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved