java实现CORBA
来源:互联网 发布:阿里云国际版云免翻墙 编辑:程序博客网 时间:2024/05/21 08:43
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 catchblock e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catchblock e.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 catchblock e.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 catchblock e.printStackTrace(); } return result; }}
3. 然后就是编写服务器端的代码,在服务器端里面有一个类实现定一个的接口里面的代码如下:
class DataServiceImpl extends DataServicePOA { private ORB orb ; private studentScore s =new studentScore(); publicvoid setorb(ORB orb) { this.orb = orb; } @Override publicvoid insert(String num, double score) { DBManager.insert(num, score); } @Override publicdouble select(String num) { return DBManager.select(num); } @Override publicvoid selectAll() { // TODO Auto-generatedmethod stub }}
这样服务器端提供的功能都实现了,然后在服务端创建服务对象并将其向 ORB注册这样服务端的代码就写好了。
4. 下面就是写客户端的代码,和前面一个将生成的文件加入到客户端文件中,然后编写一个客户端文件,主要是实现数据初始化,并且连接服务程序,这里面需要输入IOR码,并且必须和服务器端产生的一样,这样才能得到服务端的服务,得到服务对象之后就是对服务端的方法的调用实现数据的插入和查询操作。
5. 下面就将运行的过程演示一遍:
首先是启动服务端:
然后就是运行客户端:
等待用户输入IOR码.(是由服务器端产生的),然后输入IOR码:
然后就是根据数字选择操作开始调用方法了,我们随便来演示几个:
插入成功,然后我们查询一下看看是不是正确的:
然后为了保证是正确的我们再去数据库中看看:
数据库中也有我们插入的数据,说明是正确的。
这样我们就完成了java开发CORBA的过程。
- java实现CORBA
- 使用java实现基于corba的helloworld
- Java Corba
- java corba
- 使用 RJB(Ruby Java Bridge) 实现 Ruby 的CORBA RPC
- 用Java实现基于CORBA的自动负载均衡
- 用Java实现基于CORBA的自动负载均衡
- 实习二 对象中间件--CORBA开发练习 java实现
- Corba开发之基于Java实现Service与Client
- 使用java和CORBA实现分布应用编程
- orbd实现corba接口
- Corba实现步骤
- Java Corba实例
- java corba实例
- Java&CORBA编程实例
- Java 之 Corba
- java corba dii
- JAVA&CORBA详解
- Hashmap详解
- 海量数据转储备忘及C#的SqlBulkCopy类使用说明
- 高通Wi-Fi显示技术:电视机同步显示手机画面
- IIS HTTP 500 - 内部服务器错误 之三步解决方案
- 错误 执行Transact-SQL语句批处理时发生了异常。无法设置主体'sa'的凭据
- java实现CORBA
- DOS功能调用
- Android Service 问题总结
- AlertDialog总是在最前,电话着信时着信画面被覆盖,如何解决
- linux多线程编程1--线程的创建
- java 设计模式之三-模版模式
- maximo库存
- asp.net如何去掉HTML标记
- android返回HOME界面