`
tansitongba
  • 浏览: 503502 次
文章分类
社区版块
存档分类
最新评论

RMI(远程方法调用)实现简单的查单词功能

 
阅读更多

1. RMI概念

RMI(Remote Method Invocation),远程方法调用,是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。简单地说,这样使原先的程序在同一操作系统的方法调用,变成了不同操作系统之间程序的方法调用,由于J2EE是分布式程序平台,它以RMI机制实现程序组件在不同操作系统之间的通信。比如,一个EJB可以通过RMI调用Web上另一台机器上的EJB远程方法。

2. 工作原理

在RMI中,调用远程对象的对象被称为客户机对象(Client Object)而远程对象被称为服务器对象(Server Object),同时引入了两种特殊类型对象,存根(stub)和框架(Skelton)。存根实际上是远程对象的客户端代理,它和远程对象具有相同的接口或方法列表,当客户端调用远程对象时,实际上是由相应的存根对象代理完成。在服务器端,框架对象处理“远方”的所有细节,完全可以像编写本地对象一样来编写远程对象。框架将远程对象从RMI基础结构分离开来。也就是说,客户端获得的只是代理对象,并不是服务器上的类型,只不过它实现了服务器上类型的全部功能。

3. 实例

实现简单的查单词功能,一台应用服务器以RMI的方式向客户端提供英译汉词典的服务。

创建一个简单的Java分布式远程方法调用程序可以按以下几个步骤操作:

1)定义远程接口

2)实现远程接口

由于只是简单的示例,故词典使用map来存储,当然也可以构造专门的词典文件或者从数据库中查询。

3)编写服务器类

4)编写客户端类

4. 运行结果

服务器端和客户端分别运行在两台机子上

服务器端运行结果


客户端运行结果

分享到:
评论

相关推荐

    rmiscout:RMIScout使用单词列表和蛮力策略来枚举Java RMI函数并利用RMI参数解组漏洞

    RMIScout可以对暴露的Java RMI接口进行单词列表和蛮力攻击,从而无需调用即可安全地猜测方法签名。它支持多种Java RMI协议,方法调用和利用。 功能概述 支持多种类型的Java RMI服务器: RMI-JRMP(又称纯RMI;通常...

    remote-method-guesser:Java RMI漏洞扫描程序

    通过使用蛮力(单词列表)方法识别现有的远程方法 使用用户指定的参数调用远程方法(无需编码) 在参数内使用ysoserial小工具调用远程方法 使用客户端指定的代码库调用远程方法(远程类加载攻击) 使用ysererial...

    (完整版)JAVA中常用英文单词简写释义.pdf

    * RMI (Remote Method Invocation):远程方法调用,是一种允许 Java 程序调用远程对象的方法的机制。 * CVS (Concurrent Versions System):版本控制器,是一种管理软件代码的版本的系统。 * SVN (Subversion):版本...

    C院Java常用单词

    26. **DWR (Direct Web Remoting)**:DWR允许在浏览器和服务器之间进行直接的JavaScript到Java的远程调用。 27. **JIT (just-in-time)**:JIT编译器将字节码在运行时转换为机器码,以提高性能。 28. **...

    hessian 在PHP中的使用介绍

    Hessian是一个轻量级的远程的数据交换工具,使用简单的方法提供了RMI(远程方法调用)的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据 ...

    Java1-9章思维导图

    分布式特性让Java能够处理TCP/IP协议,并支持远程方法调用(RMI),便于网络上的程序交互。安全性和健壮性体现在其内置的内存管理、异常处理机制上,确保了程序的稳定运行。多线程功能则增强了程序的并发执行能力,...

    JAVA基础加强 --学习心得一(JAVA中常用英文单词简写释义).docx

    6. **RMI (Remote Method Invocation)**:RMI允许Java对象在不同的Java虚拟机之间进行远程调用,实现分布式计算。 7. **JMS (Java Message Service)**:JMS是Java消息服务,提供了一种标准的方式来创建、发送、接收...

    jmc使用说明

    堆栈信息则能够提供方法调用的堆栈追踪,帮助定位性能瓶颈和程序中的死锁情况。 标签“java jmc”指明了这个工具是与Java语言紧密相关的,同时也意味着用户应当具备一定的Java和JVM(Java虚拟机)知识,以便更好地...

    JAVA基础加强 --学习心得一(JAVA中常用英文单词简写释义).pdf

    12. **RMI (Remote Method Invocation)**:RMI允许JAVA对象在不同的JVM之间进行远程调用,支持分布式计算。 13. **CVS (Concurrent Versions System), SVN (Subversion)**:这两个都是版本控制系统,用于跟踪文件和...

    mavenproject工程列表说明1

    23. **RMIDemo**: `rmidemo`展示了Java的远程方法调用(RMI)技术,包含客户端和服务端的实现。 24. **Spring Boot**: `springboot2listmybatisdemo`等几个Spring Boot项目展示了如何集成MyBatis、Mybatis Plus、...

    javase基础毕向东老师全程笔记

    - **分布式**:Java支持分布式计算,如远程方法调用(RMI)。 - **动态性**:Java允许在运行时进行扩展,可以动态地加载类库。 - **多线程**:Java内置了多线程的支持,使得并发处理变得简单。 - **安全性**:Java...

Global site tag (gtag.js) - Google Analytics