|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为能用到多少功能就用多少,不能用就不用!总的来说:要简单要性能好,可以不用框架。你说java复杂,就是因为你把java(j2ee)与这些框架混在了一起。
远程办法挪用(RMI)机制能够把面向对象的头脑进一步扩大,由于你能够挪用的对象不但能够在本机上,也能够在其余主机上。本文就复杂先容rmi的编程办法。
起首先容一些复杂的rmi的观点。
1,服务器和客户:在rmi中,假如有一个对象举行远程办法挪用,这个对象就叫做客户机对象,而远程对象则被称为服务器对象。
2,创立服务器对象的服务器程序:这个程序用来创立服务器对象,注册这个对象,使得客户能够经由过程注册的称号会见服务器对象。
3,接口(interface),接口可让客户端懂得服务器所能做的事情。更详细的说,就是它列出了能够在服务器上实行的一切办法。客户端程序必需可以找到这个类,不然就不克不及实行对服务器函数的挪用。
4,客户桩(stub),有的书中翻译成为代码存根,它给客户端程序供应一个桩,这个桩上"绑"着服务器对象。当客户程序必要挪用远程对象时,这个桩被下载到客户端(假如客户端有这个类,则不必要下载)。然后客户就能够像挪用当地办法一样挪用远程的办法了。
这个客户桩的感化是将客户向服务器的哀求举行编码、举行传输,服务器实行此次挪用后将了局前往到客户桩,客户桩举行解码,将解码后的了局传送到客户程序中。关于编写客户真个程序员来讲,他不必要晓得个中的详细历程。
客户桩不必要本人编写,前面会申明它的天生办法。它完成了前述的接口(interface)。
上面就经由过程一个例子来讲明编写的历程。
1,编写服务器的接口:这一步是最次要的部分,由于接口是毗连客户机与服务器的关头部分。在这个例子中,接口很复杂,代码以下:
importjava.rmi.*;
publicinterfaceProductextendsRemote
{
StringgetDescription()throwsRemoteException;
}
在这里应注重的是,远程对象的接口必定要扩大(extend)Java.rmi包的Remote接口。同时接口中的一切的办法都要声明抛出RemoteException非常。这是由于因为收集毗连的不成靠性,远程办法挪用极可能失利。假如不声明非常,在远程办法挪用失利后,使用程序就会没法停止。
2,编写服务器对象:
Java中具有一个能够间接利用的服务器类--UniCastRemoteObject。它存在于Java.rmi.server包中。我们能够间接扩大这个类,使它完成前述的接口。如许就能够使服务器满意我们的必要。
importjava.rmi.server.*;
importjava.rmi.*;
publicclassProductImplextendsUnicastRemoteObjectimplementsProduct
{
publicProductImpl(Stringname)throwsRemoteException
{
Desc=name;
}
publicStringgetDescription()throwsRemoteException
{
return"Thisis"+Desc+"product";
}
privateStringDesc;
}
能够看到,rmi服务器的完成和其他的办法代码没有甚么分歧。
<p>
在1995年5月23日以“Java”的名称正式发布了。 |
|