基于jCOM搭建Java-微软信息桥梁(下)
2008-01-05 18:52:32 来源:WEB开发网WebLogic Server 8.1的发行包中带有大量参考示例,其中有专门供jCOM使用的示例,但遗憾的是这些全部的jCOM示例,演示的都是用基于COM的前端访问WebLogic Server上基于EJB的后端。故本文中仅提供从java前端访问基于COM的后端的示例。
在本例中,我们构建一个简单的银行帐户接口应用程序。在这个程序中,我们用jsp程序从前端访问服务器上COM组件里包含的业务逻辑。我们假定在用户计算机上已经安装了WebLogic Server服务器。
一、建立JSP前端
首先,要为银行帐户应用程序建立JSP前端。为简单起见,我们把表示层和业务逻辑层都一起包含到了BankAccount.jsp应用中(在使用本文源代码时,只需把解压后得到的BankAccount.jsp源文件复制到%WEBLOGIC_HOME%\samples\server\examples\build\examplesWebApp目录下)。第一件需要注重的是,从Java的角度来看,引入要调用的COM组件时,没有用任何Java熟悉的方法,使用的就是一个正常的Java类。访问COM组件的所有底层代理机制,从表面来看都被隐藏了。实际开发中,我们一般把业务逻辑从BankAccount.jsp分离出来,以Servlet的形式放在中间层;但是在此为了演示的方便性,我们把表示层和业务层都放在jsp文件里了。请参考列表1中的代码片断。
列表1.BankAccount.jsp(在此仅列出主要代码片断)
<%! PRivate clsAccount account; %>
<% //创建一个Account COM组件并把一个指向它的句柄放入session中
Account=(clsAccount)session.getAttribute(“objAccount”);
if(account==null)
account=new clsAccount();
//会话期间跟踪所有的用户信息
Vector messages=(Vector)session.getAttribute(“messages”);
if(messages=null)
messages=new Vector();
//取得表单变量
String accountName=request.getparameter(“accountName”);
Boolean NEW_ACCOUNT=true;
if(accountName==null)
accountName=””;
else
NEW_ACCOUNT=accountExists(accountName);
二、建立后端帐户COM组件
接下来,要建立后端的银行账户COM组件。为了简化,本示例假定和COM组件在同一台计算机上运行并且选用Visual Basic 6.0来创建这里的银行账户COM组件。
1.启动Visual Basic,新建一个ActiveX Dll项目。
2.把项目名称修改为Account,类名设置为clsAccount。
3.在clsAccount类中建立如下代码:
'定义全局变量
Private mstrAccountNames(1 To 100) As String
Private mdblAccountBalances(1 To 100) As Double
Public Property Get AccountNames()
AccountNames = mstrAccountNames
End Property
Public Property Get AccountBalances()
AccountBalances = mdblAccountBalances
End Property
'创建一个新帐户
Public Function Create(accountName As String, amount As Double) As Integer
Dim i As Integer
Dim flag As Boolean
i = 1
Do While (True)
If mstrAccountNames(i) = "" Then
Create = i
mstrAccountNames(i) = accountName
mdblAccountBalances(i) = amount
Exit Do
End If
i = i + 1
If i > 100 Then
Exit Do
End If
Loop
End Function
‘…………(篇幅所限,在此省略,详见所附VB源文件)
4.单击菜单“文件-项目另存为”,把项目保存在D:\myex\jCOM\BankSamp目录下。
5.在文件菜单中,单击“Make Account.dll”,建立组件的动态链接库。
三、在服务器上安装COM组件
在服务器上安装COM需要好几项操作。上面创建的COM组件要通过jCOM公开给Java客户机,然后,Java对象即可以象调用其它Java类一样调用这个COM组件。
1.注册组件
更多精彩
赞助商链接