top
Loading...
循速漸進學用SessionBean(一)

Session Bean的作用

Session Bean代表客戶應用和EJB容器之間的會話。Session Bean通常都是實現商業邏輯并且和entity bean交互以執行具體操作。不過session bean并不一定要使用entity bean。如果需要,它可以直接和數據庫通信。

一個"Hello World"Session Bean

Enterprise JavaBean的結構在開始的時候比較難理解,不過只要你用過一下,EJB也不是太難。幸運的是,你可以無需涉及數據庫連接或者是事務,就可以熟悉基本的EJB結構。要做到這一點,可以由最有名的"Hello World"bean開始。

當你在設計EJB應用的時候,你可能不知道是先由bean開始然后再創建接口,或者先由接口開始然后創建bean。我建議你最好由接口開始。因為如果你不知道客戶如何使用bean,你就無需編寫它。

創建Remote接口

列表6.1展示的是HelloWorldSession接口,它是"Hello World" session bean的Remote接口。

Listing 6.1 Source Code for HelloWorldSession.java
package usingj2ee.hello;

import java.rmi.*;
import javax.ejb.*;

/** Defines the methods you can call on a HelloWorldSession object */

public interface HelloWorldSession extends EJBObject
{

/** Returns the session's greeting */
public String getGreeting() throws RemoteException;

/** Changes the session's greeting */
public void setGreeting(String aGreeting) throws RemoteException;

}

創建Home接口

一個session bean的Home接口包含有創建新session的方法。對于"Hello World"例子,有兩個不同的create方法,一個沒有參數,而另一個允許你提供自己的歡迎詞。列表6.2展示了HelloWorldSessionHome接口。

Listing 6.2 Source Code for HelloWorldSessionHome.java
package usingj2ee.hello;

import java.rmi.*;
import javax.ejb.*;

/** Defines the methods for creating a HelloWorldSession */

public interface HelloWorldSessionHome extends EJBHome
{

/** Creates a HelloWorldSession bean with default settings */
public HelloWorldSession create() throws RemoteException, CreateException;

/** Creates a HelloWorldSession bean with a specific initial greeting */
public HelloWorldSession create(String aGreeting)
throws RemoteException, CreateException;

}

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗