当前位置: 技术问答>java相关
简单问题:这几个文件中要import什么?
来源: 互联网 发布时间:2015-11-13
本文导语: 4. 编写和运行HelloWorld程序 J2EE应用程序一般使用RMI(远程方法调用)来完成客户端与服务器的交互。当然,其间也少不了EJB的作用。本例为一个J2EE应用程序:客户端向服务器发送一个问候语:“Hello,Remote Object”。...
4. 编写和运行HelloWorld程序
J2EE应用程序一般使用RMI(远程方法调用)来完成客户端与服务器的交互。当然,其间也少不了EJB的作用。本例为一个J2EE应用程序:客户端向服务器发送一个问候语:“Hello,Remote Object”。服务器收到该问候语后打印该问候语,并返回一字符串作为应答。客户端收到此应答后打印它。
RemoteInterface.java
/**
* 第一步:
* 定义一个新的接口继承javax.ejb.EJBObject。新定义的接口中的每一个方法都必须抛出
* java.rmi.RemoteException异常。
*/
public interface RemoteInterface extends javax.ejb.EJBObject
{
public String message(String str)throws java.rmi.RemoteException;
}
RemoteObject.java
/**
* 第二步:
* 定义一个类来实现javax.ejb.SessionBean接口。并在该类中实现在第一步中编写的接口中所定义的方法。
*/
public class RemoteObject implements javax.ejb.SessionBean
{
public String message(String str)throws java.rmi.RemoteException
{
System.out.println("Remote Object Received From Client: ""+str+"""); //打印(从客户端)接收到的字符串。
return "Hello,I'm Remote Object,I received your message: '"+str+"'"; //返回一应答字符串。
}
public RemoteObject() {}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(javax.ejb.SessionContext sc) {}
}
RemoteHome.java
/**
* 第三步:
* 定义一个类继承javax.ejb.EJBHome 。
*/
public interface RemoteHome extends javax.ejb.EJBHome
{
RemoteInterface create()throws java.rmi.RemoteException,javax.ejb.CreateException;
}
Client.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);
RemoteInterface remote=home.create();
String receiveFromRemote=remote.message("Hello,Remote Object!"); //远程方法调用
System.out.println("Client Received From Remote Object: ""+receiveFromRemote+""");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
以上4个文件里是不是要加上
import XXXXX;
该import什么?
J2EE应用程序一般使用RMI(远程方法调用)来完成客户端与服务器的交互。当然,其间也少不了EJB的作用。本例为一个J2EE应用程序:客户端向服务器发送一个问候语:“Hello,Remote Object”。服务器收到该问候语后打印该问候语,并返回一字符串作为应答。客户端收到此应答后打印它。
RemoteInterface.java
/**
* 第一步:
* 定义一个新的接口继承javax.ejb.EJBObject。新定义的接口中的每一个方法都必须抛出
* java.rmi.RemoteException异常。
*/
public interface RemoteInterface extends javax.ejb.EJBObject
{
public String message(String str)throws java.rmi.RemoteException;
}
RemoteObject.java
/**
* 第二步:
* 定义一个类来实现javax.ejb.SessionBean接口。并在该类中实现在第一步中编写的接口中所定义的方法。
*/
public class RemoteObject implements javax.ejb.SessionBean
{
public String message(String str)throws java.rmi.RemoteException
{
System.out.println("Remote Object Received From Client: ""+str+"""); //打印(从客户端)接收到的字符串。
return "Hello,I'm Remote Object,I received your message: '"+str+"'"; //返回一应答字符串。
}
public RemoteObject() {}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(javax.ejb.SessionContext sc) {}
}
RemoteHome.java
/**
* 第三步:
* 定义一个类继承javax.ejb.EJBHome 。
*/
public interface RemoteHome extends javax.ejb.EJBHome
{
RemoteInterface create()throws java.rmi.RemoteException,javax.ejb.CreateException;
}
Client.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);
RemoteInterface remote=home.create();
String receiveFromRemote=remote.message("Hello,Remote Object!"); //远程方法调用
System.out.println("Client Received From Remote Object: ""+receiveFromRemote+""");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
以上4个文件里是不是要加上
import XXXXX;
该import什么?
|
import java.rmi.*;
import javax.ejb.*;
import javax.ejb.*;
|
是你的编译器不知道j2ee的包
|
我不知道ultra edit,我用的是jcreator,可以在jdk profile里面
添加j2ee的包。
你的问题在于,编译器不知道j2ee的包
也就是j2sdkeelib下面的几个jar没有知道
添加j2ee的包。
你的问题在于,编译器不知道j2ee的包
也就是j2sdkeelib下面的几个jar没有知道
|
import java.rmi.*;
import javax.ejb.*;
import javax.ejb.*;