JAVA版CORBA程序
1.题目分析
题目1.Java版CORBA程序1——HelloWorld
编写实现显示“Hello,World!+班级+中文姓名”字符串。
题目2.JAVA版CORBA程序2——Counter
编写实现连加、连减和加减混合等数学++/- -运算,并进行测试。
2.组件实现
题目1. HelloWorld
1 编写IDL接口HelloWorld.idl:
module sample{
interface HelloWorld{
wstring sayHello();
};
};
1
2
3
4
5
2编译IDL接口:X:\corba>idlj –fall HelloWorld.idl
编译结果生成sample包,生成下述文件
_HelloWorldStub.java
HelloWorld.java
HelloWorldHelper.java
HelloWorldHolder.java
HelloWorldOperations.java
HelloWorldPOA.java
3 编写并编译服务端程序:HelloWorldServer.java
class HelloWorldServant extends HelloWorldPOA{
//对象实现类
public String sayHello(){
return "\nHello World! xxxxxxn";
}
}
1
2
3
4
5
6
4 编写并编译客户端程序: HelloWorldClient.java
5 运行
启动名字服务器:X:\corba >tnameserv -ORBInitialPort 1050
启动服务端程序:X:\corba >java HelloWorldServer -ORBInitialPort 1050
输出:HelloWorld is running
启动客户端程序:X:\corba >java HelloWorldClient -ORBInitialPort 1050
输出:Hello World! xxxxx
题目2. Counter
1 编写IDL接口counter.idl:
module CounterApp{
interface Counter{
readonly attribute long value;
void inc();
void dec();
};
};
1
2
3
4
5
6
2编译IDL接口:X:\corba>idlj –fall counter.idl
编译结果生成CounterApp包,生成下述文件
_CounterStub.java
Counter.java
CounterHelper.java
CounterHolder.java
CounterOperations.java
CounterPOA.java
3 编写并编译对象实现代码:CounterImpl.java
4 编写并编译服务端程序: Server.java
5 编写并编译客户端程序: Client.java
5 运行
启动名字服务器:X:\corba >tnameserv -ORBInitialPort 1050
启动服务端程序:X:\corba >java Server -ORBInitialPort 1050
输出:Server started. Stop: Ctrl-c
启动客户端程序:X:\corba >java Client -ORBInitialPort 1050
3.测试、调试及运行结果
题目1. HelloWorld
1 编写并编译IDL接口:
图1.1 编译IDL接口
2 编写并编译服务端程序:HelloWorldServer.java,以及客户端程序: HelloWorldClient.java:
图1.2 编写并编译客户端和服务端程序
3 运行,输出:Hello World! 秦子琳 软工1704。
图1.3 运行
题目2. Counter
1 编写并编译IDL接口:
在这里插入图片描述
图1.1 编译IDL接口
2 编写并编译对象实现代码:CounterImpl.java,服务端程序: Server.java以及客户端程序: Client.java:
图1.2 编写并编译对象实现、客户端和服务端程序
3 运行并测试,实现自加自减功能:
图2.3 运行并测试
4.经验归纳
1 在进行操作前,需在jdk目录下添加JAVA_HOME环境变量,并在系统环境变量Path下添加“%JAVA_HOME%\bin”路径。
2 在cmd中,使用“javac 文件名.java”编译java程序,产生.class的文件;
使用“java 文件名”运行java程序,得到运行结果。
3 CORBA中处理字符串有:String和wstring两种类型。string类型主要用于处理ASCII类型的字符串,wstring用于处理多字节的字符串,例如:中文。只需将IDL接口中的“string”改为“wstring”,运行结果即可输出中文,否则会报错。
---------------------
JAVA版CORBA程序的更多相关文章
- ICE学习笔记一----运行官方的java版demo程序
建议新手和我一样,从官网下载英文文档,开个有道词典,慢慢啃. 官方文档下载: http://download.csdn.net/detail/xiong_mao_1/6300631 程序代码就不说了, ...
- 应用程序初次运行数据库配置小程序(Java版)
应用程序初始化数据库配置小程序 之前写过一个Java版的信息管理系统,但部署系统的时候还需要手动的去配置数据库和导入一些初始化的数据才能让系统运行起来,所以我在想是不是可以写一个小程序在系统初次运行的 ...
- 遗传算法 | Java版GA_TSP(我的第一个Java程序)
嗯哼,第一次写博客,准确说是第一次通过文字的方式记录自己的工作,闲话少叙,技术汪的博客就该直奔技术主题(关于排版问题,会在不断写博客的过程中慢慢学习,先将就着用吧,重在技术嘛~~~). 遗传算法(Ge ...
- java程序猿如何练习java版的易筋经?
故事背景 电视剧<天龙八部>中,阿朱易容后进入少林寺偷走了<易筋经>,她一直想把这本书送给乔峰.耿直的乔峰觉得此书来历不正,不肯接受.几番波折,这本书最后落到聚贤庄庄主游坦之手 ...
- java编译错误 程序包javax.servlet不存在javax.servlet.*
java编译错误 程序包javax.servlet不存在javax.servlet.* 编译:javac Servlet.java 出现 软件包 javax.servlet 不存在 软件包javax. ...
- 使用IzPack打包JAVA Web应用程序
使用IzPack打包JAVA Web应用程序步骤如下: 这里使用IzPack-4.3.5 + launch4j-3.1.0-beta1-win32.zip(绿色版)对Web应用程序打包,打包后即可对我 ...
- 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单
我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...
- 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
一.access_token简介 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等, 开 ...
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
第一部分:微信公众号对接的基本介绍 一.填写服务器配置信息的介绍 登录微信公众平台官网后,进入到公众平台后台管理页面. 选择 公众号基本设置->基本配置 ,点击“修改配置”按钮,填写服务器地址( ...
随机推荐
- POJ 3304 segments 线段和直线相交
Segments Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14178 Accepted: 4521 Descrip ...
- 不修改代码就能优化ASP.NET网站性能的一些方法 [转]
不修改代码就能优化ASP.NET网站性能的一些方法 阅读目录 开始 配置OutputCache 启用内容过期 解决资源文件升级问题 启用压缩 删除无用的HttpModule 其它优化选项 本文将介绍一 ...
- 容器+AOP实现动态部署(三)
上节咱们谈到容器的基本特性,这次继续说容器怎样与AOP进行结合.增强咱们的对象.为对象加入额外的方法. 咱们下面方图为说明 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkb ...
- zippo打火机的特点:
1. 耐寒.零下30多度环境下仍然能打火 2.抗压.被1.5吨的汽车压过之后仍然能打火 3.抗风,在7级下面的风速中火焰都不会熄灭 4.防水,放入水中.取出来之后任然能打火
- spring+springmvc+hibernate架构、maven分模块开发样例小项目案例
maven分模块开发样例小项目案例 spring+springmvc+hibernate架构 以用户管理做測试,分dao,sevices,web层,分模块开发測试!因时间关系.仅仅測查询成功.其它的准 ...
- luogu2467 [SDOI2010]地精部落
题目大意 求在$[1,n]$的排列中是波动序列的数量. 题解 性质 当我们对波动序列$a$进行以下操作时,得到的新序列仍然是个波动序列: 若$a_i = a_j+1且|j-i|>1$,将$a_i ...
- SuperSocket内置的命令行协议的解析
SuperSocket\SocketBase\Protocol\TerminatorReceiveFilter.cs /// <summary> /// Filters received ...
- SuperSocketClientEngine
https://github.com/kerryjiang/SuperSocket.ClientEngine TcpClientSession的用法 https://github.com/kerryj ...
- [SDOI2007]游戏
https://zybuluo.com/ysner/note/1184420 题面 题意简单,但不太好概括. 戳我 解析 不成熟想法 据题意可知,字符串字符的顺序无影响. 并且判断两个字符串能否接龙可 ...
- Python 35 进程间的通信(IPC机制)、生产者消费者模型
一:进程间的通信(IPC):先进先出 管道:队列=管道+锁 from multiprocessing import Queue q=Queue(4) q.put(['first',],block=T ...