求助:那个经典的HelloWorld的应用程序(含全部代码)怎么部署?
本例为一个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并且不能为abstract或final
* 该类包含一个不带参数的public构造器
* 该类不能定义finalize方法
* 在该类中实现一个或多个ejbCreate方法
* 在该类中实现(第一步中定义的)企业方法
*/
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();
}
}
}
假设以上代码都保存在D:\example 下面,而且编译没错。现不知道怎么部署,求助!
要使用什么工具?那位大哥能不能告诉具体的部署步骤?非常感谢!