实习一远程过程调用中间件及数据访问中间件_第1页
实习一远程过程调用中间件及数据访问中间件_第2页
实习一远程过程调用中间件及数据访问中间件_第3页
实习一远程过程调用中间件及数据访问中间件_第4页
实习一远程过程调用中间件及数据访问中间件_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通过实例把握RMI,RPC,JDBC等中间件的使用。RPC实现远程计算效劳。效劳器端供给计算效劳;客户端调用计算效劳。RMI+JDBC远端数据库的访问。实现简洁的成绩查询系统〔创立表,录入成绩,查询成绩等。在效劳器端,通过JDBC访问数据库。客户端调用效劳端供给的各种数据库操作。效劳器和客户端不在同的机器上进展测试。打包成易于执行的文件,如exe,bat文件。1利用RPC实现远程计算效劳。使用IDL定义效劳接口mathservice.idl,定义计算效劳操作,方法如下:加:voidCal_Add([in]doublea,[in]doubleb,[out]double*result);减:voidCal_Sub([in]doublea,[in]doubleb,[out]double*result);乘:voidCal_Mul([in]doublea,[in]doubleb,[out]double*result);除:voidCal_Div([in]doublea,[in]doubleb,[out]double*result);编写配置文件mathservice.acf,定义绑定句柄编译mathservice.idl文件,产生文件mathservice.h,mathservice_s.c,mathservice_c.c编写效劳端程序,编译连接工程,生成mathservice.exe编写客户端程序测试:测试结果截图如下:加法运算:减法运算:乘法运算:除法运算:2RMI+JDBC远端数据库的访问(1)mysql-connector-java-5[1].0.8.zipDBmanagermysql数据库,实现创立表,录入成绩,查询成绩等操作,主要代码如下://加载驱动,猎取连接static{try{Class.forName(“com.mysql.jdbc.Driver“);cn=DriverManager.getConnection(url,username,password);}catch(Exceptione){e.printStackTrace;}}//创立表publicbooleancreateTable{inti=0;try{ps=cn.prepareStatement(““+“createtablermitest(idintprimarykey,namevarchar(20)notnull);“);i=ps.executeUpdate;}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace;}if(i!=0){returntrue;}else{returnfalse;}}//插入数据publicbooleaninsertDate{intj=0;try{ps=cn.prepareStatement(“insertintormitestvalues(100,”rmitest”)“);j+=ps.executeUpdate;}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace;}if(j!=0)returntrue;elsereturnfalse;}//猎取数据publicStringgetDate{ResultSetrs=null;Stringresult=““;try{ps=cn.prepareStatement(“select*fromrmitest“);rs=ps.executeQuery;while(rs.next){result+=“id=“+rs.getObject(1).toString+“,name=“+rs.getObject(2).toString+“\n“;}}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace;}returnresult;}}定义效劳接口DataServic如下:publicbooleancreateTablethrowsRemoteException;publicbooleaninsertDatethrowsRemoteException;publicStringgetDatethrowsRemoteException;实现效劳,对实现创立表,录入成绩,查询成绩等操作。实现过程中可直接使DBmanager类,主要代码如下:publicclassDataServiceImplextendsUnicastRemoteObjectimplementsDataService{DBmanagerdBmanager;publicDataServiceImplthrowsRemoteException{super;dBmanager=newDBmanager;}//调用DBmanager的方法创立表publicbooleancreateTable{returndBmanager.createTable;}//调用DBmanager的插入数据publicbooleaninsertDate{returndBmanager.insertDate;}//调用DBmanager的方法显示数据publicStringgetDate{returndBmanager.getDate;}DeployServer,主要代码如下://创立远程对象DataServiceImplds=newDataServiceImpl;LocateRegistry.createRegistry(1117); //配置端口//远程对象绑定到效劳Naming.rebind(“//localhost:1117/ds“,ds);System.out.println(“RMI效劳器正在运行。。。。。。“);使用DataService接口,实现客户端RmiJDBCClient类,主要代码如下:DataServiceds=(DataService)Naming.lookup(“//localhost:1118/ds“);System.out.println(“猎取远程数据库中数据如下:“);ds.createTable;//调用远程创立表方法ds.insertDate;//调用远程插入数据方法System.out.printl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论