下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
通过实例把握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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术说明书样本
- 整体厨房装修设计承包范本
- 2024混凝土道路施工合同样本
- 2024品牌代理经营合同版
- 广西壮族自治区七年级上学期语文期中测试试卷10套【附答案】
- 广告设计制作合作方案
- 保健食品委托代理销售协议书
- 设备维修承包合同2024年
- 2023年高考地理第一次模拟考试卷-(湖北B卷)(考试版)
- 2023年高考地理专题复习新题典题精练-洋流(解析版)
- 新产品试制流程管理办法
- 通用横版企业报价单模板
- 潜油泵及潜油泵加油机讲义
- 物业服务公司各岗位规范用语
- 医患沟通内容要求记录模板(入院、入院三日、术前、术后、出院)
- 航海学天文定位第四篇第6章天文定位
- 浅谈深度教学中小学数学U型学习模式
- 物理电学暗箱专题30道
- 装修公司员工劳动合同
- 江西上饶铅山汽车驾驶科目三考试线路
- 通过一起放火案件浅析放火案件的移交工作
评论
0/150
提交评论