咱们都知道,在pb的4GL页面中,要想访问EAServer上的pb组件是很方便,也是很简单的,只要在页面属性的EAServer属性页上,定义个组件变量便可。java
但若是咱们是用普通的jsp页面,或则咱们在写beans,又或则咱们在写Servlet,怎么办呢?jsp
下面就看看如何作吧。函数
一、正确建立组件,并生成Java stub!
二、建立一个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.*" %> it
<!--上面的那个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){}
%>
好了,是否是很简单呢!io