ejb轻松进阶
第三步 编写ejb代码
由前述的目录结构可知,ejb代码包括三个java文件。
1、security.java是一个接口,它定义了基本的加密、解密调用接口。注意,由于security接口可生成ejb对象,所以它必须继承自ejbobject接口。其源代码如下:
文件“security.java”
package securitybeans;
import java.rmi.remoteexception;
import javax.ejb.ejbobject;
public interface security extends ejbobject
{
public string encrypt( string strsource ) throws remoteexception;
public string decrypt( string strtarget ) throws remoteexception;
}/* security */
2、securityhome接口可生成ejbhome对象,它负责直接与客户打交道,接收客户的请求,返回处理结果。在ejb规范中,securityhome必须继承自ejbhome接口。其源代码如下:
文件“securityhome.java”
package securitybeans;
import java.rmi.remoteexception;
import javax.ejb.ejbhome;
import javax.ejb.createexception;
public interface securityhome extends ejbhome
{
security create() throws createexception, remoteexception;
}/* ejbhome */
3、securitybean类才是真正做“正事”的类,它负责对securityhome对象传来的字符串执行加密、解密算法,将得到的结果返回给securityhome对象。它是一个stateless sessionbean,按照ejb规范,必须实现sessionbean接口。其源代码如下:
文件“scuritybean.java”
package securitybeans;
import java.rmi.remoteexception;
import javax.ejb.sessionbean;
import javax.ejb.sessioncontext;
public class securitybean implements sessionbean
{
public string encrypt( string strsource )
{
string strtarget = "";
for ( int i = strsource.length() - 1; i >= 0; i -- )
{
strtarget += strsource.charat( i );
}//for
return strtarget;
}//encrypt()
public string decrypt( string strtarget )
{
string strsource = "";
for ( int i = strtarget.length() - 1; i >= 0; i -- )
{
strsource += strtarget.charat( i );
}//for
return strsource;
}//decrypt()
public void ejbactivate() {}//ejbactivate()
public void ejbremove() {}//ejbremove()
public void ejbpassivate() {}//ejbpassivate()
public void setsessioncontext( sessioncontext sc ) {}//setsessioncontext()
public void ejbcreate() {}//ejbcreate()
public void ejbload() {}//ejbload()
public void ejbstore() {}//ejbstore()
}/* securitybean */
securitybean中的ejbactivate()、ejbpassivate()等方法都是sessionbean接口中的方法,由于本程序中这里不需要有实际内容,因此直接实现它就可以了。
第三步 编写ejb代码
由前述的目录结构可知,ejb代码包括三个java文件。
1、security.java是一个接口,它定义了基本的加密、解密调用接口。注意,由于security接口可生成ejb对象,所以它必须继承自ejbobject接口。其源代码如下:
文件“security.java”
package securitybeans;
import java.rmi.remoteexception;
import javax.ejb.ejbobject;
public interface security extends ejbobject
{
public string encrypt( string strsource ) throws remoteexception;
public string decrypt( string strtarget ) throws remoteexception;
}/* security */
2、securityhome接口可生成ejbhome对象,它负责直接与客户打交道,接收客户的请求,返回处理结果。在ejb规范中,securityhome必须继承自ejbhome接口。其源代码如下:
文件“securityhome.java”
package securitybeans;
import java.rmi.remoteexception;
import javax.ejb.ejbhome;
import javax.ejb.createexception;
public interface securityhome extends ejbhome
{
security create() throws createexception, remoteexception;
}/* ejbhome */
3、securitybean类才是真正做“正事”的类,它负责对securityhome对象传来的字符串执行加密、解密算法,将得到的结果返回给securityhome对象。它是一个stateless sessionbean,按照ejb规范,必须实现sessionbean接口。其源代码如下:
文件“scuritybean.java”
package securitybeans;
import java.rmi.remoteexception;
import javax.ejb.sessionbean;
import javax.ejb.sessioncontext;
public class securitybean implements sessionbean
{
public string encrypt( string strsource )
{
string strtarget = "";
for ( int i = strsource.length() - 1; i >= 0; i -- )
{
strtarget += strsource.charat( i );
}//for
return strtarget;
}//encrypt()
public string decrypt( string strtarget )
{
string strsource = "";
for ( int i = strtarget.length() - 1; i >= 0; i -- )
{
strsource += strtarget.charat( i );
}//for
return strsource;
}//decrypt()
public void ejbactivate() {}//ejbactivate()
public void ejbremove() {}//ejbremove()
public void ejbpassivate() {}//ejbpassivate()
public void setsessioncontext( sessioncontext sc ) {}//setsessioncontext()
public void ejbcreate() {}//ejbcreate()
public void ejbload() {}//ejbload()
public void ejbstore() {}//ejbstore()
}/* securitybean */
securitybean中的ejbactivate()、ejbpassivate()等方法都是sessionbean接口中的方法,由于本程序中这里不需要有实际内容,因此直接实现它就可以了。
闽公网安备 35060202000074号