欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在jsp程序中使用com组件

程序员文章站 2024-02-22 23:22:58
  在jsp程序中使用com组件的机会并不多,jsp也没有直接操作com的函数,但有的工作有时候还必须使用com组件来完成,下面就来说一下具体的操作方法。  在jsp中使用...

  在jsp程序中使用com组件的机会并不多,jsp也没有直接操作com的函数,但有的工作有时候还必须使用com组件来完成,下面就来说一下具体的操作方法。
  在jsp中使用com组件有两种方法:一种是用javascript在客户端来控制(严格说这个应该是html的功能),如:

   <object id="mycom" classid="clsid:9d8a2e2f-d38f-cdac-d0c5-5b3fb2275442" codebase=".com/com.cab#version=1.9.9.0" >
  </object>
  <script>
  function hello() {
  var result=  mycom.hello(“李宗斌“);
  return result;
  }
  </scipt>

  结果返回:你好,李宗斌

  但是这种方法有个弊端就是只能在客户端操作,不能操作服务器端的东西。而且每个客户端都要安装这个组件才能运行。
  第二种是直接用jsp通过java-com连接桥jacob来操作服务器端的com组件。jacob的下载地址是http://danadler.com/jacob/。运行的时候需要两个文件:jacob.jar和jacob.dll。
  配置的方法是:把jacob.jar放到classpath里,把jacob.dll所在的路径加到path里。如d:\com

  使用的方法如下:

  1。先在服务器端注册com组件;
  2。找到组件的名字(一般应该是知道的,不知道的话就到注册表中去找);
  3。程序示例:

   <%@ page contenttype="text/html; charset=gb2312" language="java" %>
  <%@ page import="com.jacob.com.*" %>
  <%@ page import="com.jacob.activex.*" %>
  <%
  system.runfinalizersonexit(true);
  activexcomponent mf = new activexcomponent("makercom.makerext");//找到组件
  object  mycom = mf.getobject();//生成一个对象
  string  result= dispatch.call( mycom, "hello", new variant( "李宗斌") )  ;
  /*调用组件的方法,mycom是组件的对象名,hello是组件的函数,new variant( "李宗斌") 是组件的参数变量,如果有多个可以在后边加上,方法一致*/
  out.println(result);
  %>