1.      利用CORBA实现数据的访问,也就是通过客户端的代码,访问服务器端的代码。首先是定义一个idl文件,里面的主要类型就是定义一个接口,类容如下:

2.      然后利用idlj –fall DataService.idl 命令来编译idl文件,编译后得到了许多的java文件,文件如下所示:

再然后,在该文件中建立一个Server文件夹,然后将生成的文件放入,并且建立一个java功能,作为服务器端,这里要求从数据库读取数据,所以我们写了一个DBManager类来实现与数据库的连接,以及插入、查询功能:里面的代码如下:


importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;publicclass DBManager {private static String user ="root";private static String pass ="962464";private static String className="com.mysql.jdbc.Driver";private static String url ="jdbc:mysql://localhost:3306/students";private static Connection conn;private static java.sql.Statement state;public static void init(){try {Class.forName(className);conn =DriverManager.getConnection(url,user,pass);state =conn.createStatement();} catch (ClassNotFoundException e) {// TODO Auto-generated catchblocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catchblocke.printStackTrace();}}public static void CreateTable(){String sql = "create tablestuScore ( num char(20) Primary key,score double);";try {state.execute(sql);} catch (SQLException e) {e.printStackTrace();}}public static void insert(String num,doublescore){String sql = "insert intostuScore values("+"'"+num+"',"+score+");";try {state.execute(sql);} catch (SQLException e) {// TODO Auto-generated catchblocke.printStackTrace();}}public static double select(String num){String sql  = "select score from stuScore where num= '"+num+"';";double result= 0;try {ResultSet rs =state.executeQuery(sql);while(rs.next()){result = rs.getDouble("score");}} catch (SQLException e) {// TODO Auto-generated catchblocke.printStackTrace();}return result;}
}

3.      然后就是编写服务器端的代码,在服务器端里面有一个类实现定一个的接口里面的代码如下:

class DataServiceImpl extends DataServicePOA {private ORB orb ;private studentScore s =new studentScore();publicvoid setorb(ORB orb){this.orb = orb;}@Overridepublicvoid insert(String num, double score) {DBManager.insert(num, score);}@Overridepublicdouble select(String num) {return   DBManager.select(num);}@Overridepublicvoid selectAll() {// TODO Auto-generatedmethod stub}
}

这样服务器端提供的功能都实现了,然后在服务端创建服务对象并将其向 ORB 注册这样服务端的代码就写好了。

4.      下面就是写客户端的代码,和前面一个将生成的文件加入到客户端文件中,然后编写一个客户端文件,主要是实现数据初始化,并且连接服务程序,这里面需要输入IOR码,并且必须和服务器端产生的一样,这样才能得到服务端的服务,得到服务对象之后就是对服务端的方法的调用实现数据的插入和查询操作。

5.      下面就将运行的过程演示一遍:

首先是启动服务端:

然后就是运行客户端:

等待用户输入IOR码.(是由服务器端产生的),然后输入IOR码:

然后就是根据数字选择操作开始调用方法了,我们随便来演示几个:

插入成功,然后我们查询一下看看是不是正确的:

然后为了保证是正确的我们再去数据库中看看:

数据库中也有我们插入的数据,说明是正确的。

这样我们就完成了java开发CORBA的过程。

java实现CORBA相关推荐

  1. Java与CORBA技术结合的前景展望

    随着Internet.Intranet及Extranet在全球范围内的普及和发展,下一代的Web必须能够处理企业-企业(business-to- business)交易和客户-企业(consumer- ...

  2. java corba_Java Corba

    1)首先要熟悉idl语言,这个是专门进行接口设计的语言,它与java没关系,有自己的语法,具体的规则需要大家自己再网上研究,这里不多说了(或者访问如下网站详细察看http://www.iona.com ...

  3. java有any类型吗_Java开发网 - 一个关于CORBA中any类型的问题

    Posted by:an350901450 Posted on:2008-12-30 14:44 请教一个问题 我的IDL文件: module anyM{ interface anyI{ any pr ...

  4. CORBA 简单了解和JAVA与C++互操以及C++调用Java web service

    CORBA了解 CORBA(Common Object Request Broker Architecture, 公共对象请求代理体系结构)是由OMG(对象管理组织,Object Management ...

  5. java corba_JAVA版CORBA程序

    1.题目分析 题目1.Java版CORBA程序1--HelloWorld 编写实现显示"Hello,World!+班级+中文姓名"字符串. 题目2.JAVA版CORBA程序2--C ...

  6. java cobra_java实现CORBA

    1.      利用CORBA实现数据的访问,也就是通过客户端的代码,访问服务器端的代码.首先是定义一个idl文件,里面的主要类型就是定义一个接口,类容如下: 2.      然后利用idlj –fa ...

  7. Java EE学习心得

    –Java EE学习心得   1.    称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...

  8. Spring Framework 6 将采用 Java 17,是时候将你的应用升级了

    关于从先前的长期支持版本(Java 11 和 Java 8)迁移代码,你需要知道的是什么? 整理 | 王晓曼 出品 | CSDN(ID:CSDNnews) Spring Framework 6 将采用 ...

  9. .net和java互操作

    .net网站theserverside.com上,有一篇讲.net和java互操作的文章,收集了net和java互操作性的文章精选 http://www.theserverside.net/tt/ar ...

最新文章

  1. hive中的绣花模型_hive建模方法
  2. WKWebView中经常用到的操作
  3. 深度学习常见算法之训练自己的数据
  4. jQuery二维数组遍历
  5. 在 node.js 的 express web 框架中自动注册路由
  6. LFS-构建自己的linux
  7. 编程相关离线文档下载方式推荐
  8. WPF Visibility的用法
  9. 图像匹配论文与方法超全整理
  10. 小程序开发——比较好看的登录界面设计
  11. mysql改为sql_sql - 将MySQL列更改为AUTO_INCREMENT
  12. 设置Android应用全屏显示(隐藏手机状态栏)
  13. 惠普服务器蓝屏怎么修复,Win10惠普电脑出现蓝屏?解决教程附上
  14. 计算机更改锁屏密码忘记了怎么办,win10锁屏密码忘记了怎么办_w10忘记锁屏密码的处理步骤...
  15. 在单元格中进行Excel换行的两种方法和取消换行符的方法
  16. java时间段分割_任意一个起止时间段(如:20160101-20161009),用java将这个时间段拆分成一个个按自然周组成的时间段...
  17. 【MySQL】MySQL数据库结构与操作
  18. 八人抢答器讲解_8人抢答器的制作原理和过程说明是怎样的?
  19. 韦根Wiegand协议
  20. Simulink S-function 学习及使用实例

热门文章

  1. 14个PPT资源素材网站,再也不怕做PPT了
  2. linux大页卸载失败,Linux下CUDA卸载不完全与重装失败
  3. 7种SQL JOINS 的实现
  4. Web 开发学习笔记——关于互联网和互联网应用
  5. JVM:并发的可达性分析
  6. Cadence Virtuoso 原理图仿真报错问题解决
  7. rap2-delos搭建
  8. 谷歌地球不能用?国产谷歌地球替代软件提前转正
  9. RTSP 协议详细介绍
  10. C语言编程学习打造——做题游戏