欢迎来到天天文库
浏览记录
ID:55578444
大小:121.50 KB
页数:4页
时间:2020-05-18
《实验4--RMI框架的应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程实验报告课程名称java网络程序设计班级实验日期姓名学号实验成绩实验名称实验4RMI框架的应用实验目的及要求掌握使用RMI框架创建应用程序的步骤,验证RMI框架在远程对象方法调用中的作用。实验环境1.Windows72.eclipse实验内容使用java.rmi包中的类和接口分别创建基于RMI框架的远程接口、远程对象所属的类、服务器程序和客户程序,并运行客户及服务器程序,在程序运行过程中观察运行结果,验证RMI框架的作用。算法描述及(1)创建远程接口,继承java.rmi.Remote接口。(2)创建远程类,实现远程接口。(3)创建服务器程序,负责在rmiregistry注册表中
2、注册远程对象。(4)创建客户程序,负责定位远程对象,并且调用远程对象的方法。(5)编译远程接口、远程类、客户端和服务器端程序,并生成相应的类文件。实验步骤(9)分别启动注册表、服务端程序及客户端程序,观察并分析程序运行结果。调试过程及实验结果调试:结果如下:总结通过这次实验我们了解了RMI框架,虽然实现的只是一个功能相对比较简单的程序,但是期间受益匪浅,考察了这一个学期的学习成果,检验了综合运用所学知识点的能力,尝试将书本的理论知识运用到实践中。附SimpleServer.javapackagehello;录importjava.rmi.*;importjavax.naming.*;
3、publicclassSimpleServer{publicstaticvoidmain(Stringargs[]){try{HelloServiceservice1=newHelloServiceImpl("service1");HelloServiceservice2=newHelloServiceImpl("service2");ContextnamingContext=newInitialContext();//namingContext.rebind("rmi:HelloService1",service1);//namingContext.rebind("rmi:Hell
4、oService2",service2);namingContext.rebind("rmi://localhost:1099/HelloService1",service1);namingContext.rebind("rmi://localhost:1099/HelloService1",service2);System.out.println("服务器注册了两个HelloService对象");}catch(Exceptione){e.printStackTrace();}}}SimpleClient.javapackagehello;importjava.rmi.*;impo
5、rtjavax.naming.*;publicclassSimpleClient{publicstaticvoidshowRemoteObjects(ContextnamingContext)throwsException{NamingEnumeratione=namingContext.list("rmi:");while(e.hasMore())System.out.println(e.next().getName());}publicstaticvoidmain(Stringargs[]){Stringurl="rmi://localhost:10
6、99/";try{//System.setProperty("java.security.policy",SimpleClient.class.getResource("client.policy").toString());//System.setSecurityManager(newRMISecurityManager());ContextnamingContext=newInitialContext();HelloServiceservice1=(HelloService)namingContext.lookup(url+"HelloService1");HelloServic
7、eservice2=(HelloService)namingContext.lookup(url+"HelloService2");ClassstubClass=service1.getClass();System.out.println("service1是"+stubClass.getName()+"的实例");Class[]interfaces=stubClass.getInterfaces();for(inti=0;i
此文档下载收益归作者所有