使用jacob,jsp中怎么响应ActiveX组件中的事件?

sky99ray 2005-03-07 11:45:25
使用jacob,jsp中怎么响应ActiveX组件中的事件?同样的程序,在java应用程序中会触发事件并响应,但是在jsp中,程序一执行到事件处理函数这一步,就产生异常,提示调用的是空指针,按确定关闭这个异常消息窗口,则整个Tomcat也会关闭。
...全文
126 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
free_card 2005-06-08
  • 打赏
  • 举报
回复
在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);
  %>


tim90 2005-03-11
  • 打赏
  • 举报
回复
关注啊
我也药学

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧