博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EAServer 普通jsp网页中调用组件
阅读量:5899 次
发布时间:2019-06-19

本文共 1735 字,大约阅读时间需要 5 分钟。

hot3.png

我们都知道,在pb的4GL页面中,要想访问EAServer上的pb组件是很方便,也是很简单的,只要在页面属性的EAServer属性页上,定义个组件变量即可。

但如果我们是用普通的jsp页面,或则我们在写beans,又或则我们在写Servlet,怎么办呢?

下面就看看如何做吧。

1、正确创建组件,并生成Java stub! 

2、创建一个jsp文件,注意,该文件必须要导入如下java包: 
<%@ page import="org.omg.CORBA.ORB" %> 
<%@ page import="org.omg.CosNaming.NamingContext" %> 
<%@ page import="org.omg.CosNaming.NamingContextHelper" %> 
<%@ page import="org.omg.CosNaming.NameComponent" %> 
<%@ page import="org.omg.CORBA.ORB" %> 
<%@ page import="you_pkg.*" %>  

<!--上面的那个import,实际是导入你的组件包下的所有组件,所以you_pkg应该是你的组件所在的包名称--> 

<@ page import=“CTS.PBUserException“%> 
<% 
String s1; 
String s2; 
n_you_com nvo; //你的组件类型的变量 
java.util.Properties props = new java.util.Properties(); 
props.put(“org.omg.CORBA.ORBClass“, “com.sybase.CORBA.ORB“); 
props.put(“com.sybase.CORBA.NameServiceURL“, “iiop://localhost:9000“); 
ORB orb = ORB.init((String[]) null, props); 
try 
NamingContext context = NamingContextHelper.narro(orb.resolve_initial_references(“NameService“)); 
NameComponent[] name = { new NameComponent(“you_pkg/n_you_com“, "")}; 
SessionManager.Factory factory = SessionManager.FactoryHelper.narrow(context.resolve(name)); 
nvo = n_youcomHelper.narrow(factory.create(“jagadmin“, ““)); 
//登录EAServer的用户名和密码 
catch (org.omg.CORBA.ORBPackage.InvalidName aException){} 
catch(org.omg.CosNaming.NamingContextPackage.NotFound aException){} 
catch(org.omg.CosNaming.NamingContextPackage.CannotProceed aExceptiont){} 
catch(org.omg.ConNaming.NamingContextPackage.InvalidName aException){} 
try 
int rt = 0; //根据你的需要定义组件函数的返回值变量 
rt = nvo.of_you_function(s1, s2); //你的组件函数 
//有一点需要注意,如果你的组件函数参数中有Integer类型的变量,在这里调用的时候 
//必须要用short强制类型转换,或则就定义一个short类型的变量传递参数 
catch (CTS.PBUserException e){} 
%> 
好了,是不是很简单呢!

转载于:https://my.oschina.net/u/1464512/blog/914358

你可能感兴趣的文章
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤
查看>>
react 取消 eslint
查看>>
【11】ajax请求后台接口数据与返回值处理js写法
查看>>
Python菜鸟之路:Jquery Ajax的使用
查看>>
LeetCode算法题-Maximum Depth of Binary Tree
查看>>
sha1withRSA算法
查看>>
Vim和操作系统剪贴板交互
查看>>
Cox 教学视频5
查看>>
JVM类加载(4)—加载器
查看>>
public/private/protected的具体区别
查看>>
面试宝典——求一个字符串中连续出现次数最多的子串
查看>>
VMware Workstation虚拟机上网设置
查看>>
Jenkins持续集成学习-搭建jenkins问题汇总
查看>>
C#Note13:如何在C#中调用python
查看>>
Android介绍以及源码编译---Android源码下载
查看>>
SpringBoot集成redis缓存
查看>>
sql经典语句
查看>>
使用ffmpeg实现对h264视频解码 -- (实现了一个易于使用的c++封装库)
查看>>
第4周作业-面向对象设计与继承
查看>>
机器学习的原理
查看>>