当前位置: 技术问答>java相关
请问为什麽在J2ee中客户端(测试时)用jndi定位enterprise bean的时候,可以把远程接口实例化?接口不是不可以生成对象的吗?
来源: 互联网 发布时间:2015-09-22
本文导语: J2ee中客户端(测试时)用jndi定位enterprise bean的时候,为什麽可以把远程接口实例化?居然可以创造出一个对象!为什麽home接口一定要返回一个 远程接口类型的对象呢?如下面的RemoteHome中的那个方法public RemoteInterfa...
J2ee中客户端(测试时)用jndi定位enterprise bean的时候,为什麽可以把远程接口实例化?居然可以创造出一个对象!为什麽home接口一定要返回一个
远程接口类型的对象呢?如下面的RemoteHome中的那个方法public RemoteInterface create()... ... ...。请高手指教!多谢!
/////////////////////RemoteInterface.java////////////////////////
public class Client {
public static void main(String[] args){
try{
javax.naming.Context initContext=new javax.naming.InitialContext();
Object obj=initContext.lookup("HelloWorld");
RemoteHome home=(RemoteHome)javax.rmi.PortableRemoteObject.narrow(obj,RemoteHome.class);/////这里居然把接口RemoteHome实例化了!/////////////////////////////////////////
RemoteInterface remote=home.create(); ///////////////////////这里又把远程接口RemoteInterface 实例化了!///////////
String receiveFromRemote=remote.message("Hello,Remote Object!");
}
catch(Exception e){
e.printStackTrace();
}
}
}
//////////////////下面是远程接口和home接口///////////////////////
///////////////////////RemoteInterface.java//////////////////////////////
public interface RemoteInterface extends EJBObject{
public String message(String str)throws RemoteException;
}
////////////////////////////RemoteHome.java////////////////////
public interface RemoteHome extends EJBHome{
public RemoteInterface create()throws CreateException,RemoteException;///在这里为什麽home接口一定要返回一个远程接口类型的对象呢?
}
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe
远程接口类型的对象呢?如下面的RemoteHome中的那个方法public RemoteInterface create()... ... ...。请高手指教!多谢!
/////////////////////RemoteInterface.java////////////////////////
public class Client {
public static void main(String[] args){
try{
javax.naming.Context initContext=new javax.naming.InitialContext();
Object obj=initContext.lookup("HelloWorld");
RemoteHome home=(RemoteHome)javax.rmi.PortableRemoteObject.narrow(obj,RemoteHome.class);/////这里居然把接口RemoteHome实例化了!/////////////////////////////////////////
RemoteInterface remote=home.create(); ///////////////////////这里又把远程接口RemoteInterface 实例化了!///////////
String receiveFromRemote=remote.message("Hello,Remote Object!");
}
catch(Exception e){
e.printStackTrace();
}
}
}
//////////////////下面是远程接口和home接口///////////////////////
///////////////////////RemoteInterface.java//////////////////////////////
public interface RemoteInterface extends EJBObject{
public String message(String str)throws RemoteException;
}
////////////////////////////RemoteHome.java////////////////////
public interface RemoteHome extends EJBHome{
public RemoteInterface create()throws CreateException,RemoteException;///在这里为什麽home接口一定要返回一个远程接口类型的对象呢?
}
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe
|
GZ.