WEB开发网
开发学院WEB开发Jsp 基于jCOM搭建Java-微软信息桥梁(下) 阅读

基于jCOM搭建Java-微软信息桥梁(下)

 2008-01-05 18:52:32 来源:WEB开发网   
核心提示:WebLogic Server 8.1的发行包中带有大量参考示例,其中有专门供jCOM使用的示例,基于jCOM搭建Java-微软信息桥梁(下),但遗憾的是这些全部的jCOM示例,演示的都是用基于COM的前端访问WebLogic Server上基于EJB的后端,上面创建的COM组件要通过jCOM公开给Java客户机,然后

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.注册组件

Tags:基于 jCOM 搭建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接