作者:Junsan Jin
日期:2005-3-30
版本:1.0
信箱:[email protected] ; [email protected]
聲明:本人保留本文的所有權利。
第三部分:開發Session Bean
新建EJB模塊:
選擇菜單:New〉Enterprise〉EJB〉EJB Designer,彈出對話框中選擇New,選擇Create empty EJB Module,點擊next,填入名稱Trader,一路OK即可。
設計EJB:
1、新建session bean:在打開的EJB Designer窗口(現在JBuilder的右邊窗口)中右鍵菜單〉create EJB〉Session Bean。
2、修改bean基本性質:Name修改為UserInfo,interface為local,Session Type為Stateful,其他默認。
3、增加屬性:右鍵點擊bean設計圖〉add〉fIEld,分別添加userName類型String,userAge類型String,loginTime類型Sting。
4、增加方法:右鍵點擊bean設計圖〉add〉methed,添加方法showUserInfo,返回類型為HashMap,interface為local。
5、增加ejbCreate方法:右鍵點擊bean設計圖〉add〉ejbCreate,輸入參數為:String userName, String userAge, String loginTime,home interfaces 為 local home。
6、查看bean的代碼:右鍵點擊bean設計圖〉vIEw bean source可以查看代碼。
最終代碼為:
-----------------------------------------------
UserInfoBean.Java實現類:
----------------------------------------------
package trader;
import Javax.ejb.SessionBean;
import Javax.ejb.SessionContext;
import Javax.ejb.CreateException;
import Java.util.HashMap;
import org.apache.log4j.Logger;
public class UserInfoBean implements SessionBean {
private final static Logger _logger = Logger.getLogger(UserInfoBean.class);
public UserInfoBean() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
SessionContext sessionContext;
String userName;
String userAge;
String loginTime;
public void ejbCreate(String userName, String userAge,
String loginTime) throws CreateException {
_logger.debug("Session Bean is Created.");
this.userName = userName;
this.userAge = userAge;
this.loginTime = loginTime;
}
public void ejbCreate() throws CreateException {
}
public void ejbRemove() {
}
public void ejbActivate() {
}
public void ejbPassivate() {
}
public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
}
public HashMap showUserInfo() {
HashMap userInfo = new HashMap();
userInfo.put("userName", this.userName);
userInfo.put("userAge", this.userAge);
userInfo.put("loginTime", this.loginTime);
return userInfo;
}
private void jbInit() throws Exception {
}
}
----------------------------------------------------
UserInfoLocal.Java本地遠程接口類:
---------------------------------------------------
package trader;
import Javax.ejb.EJBLocalObject;
import Java.util.HashMap;
public interface UserInfoLocal extends EJBLocalObject {
public HashMap showUserInfo();
}
-----------------------------------------------------
UserInfoLocalHome.Java本地本地接口類
-----------------------------------------------------
package trader;
import Javax.ejb.EJBLocalHome;
import Javax.ejb.CreateException;
public interface UserInfoLocalHome extends EJBLocalHome {
public UserInfoLocal create() throws CreateException;
public UserInfoLocal create(String userName, String userAge,
String loginTime) throws CreateException;
}
OK,現在我們的EJB已經可以運行了,下一部分我們將測試這個Session Bean。(未完待續)