在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); %>
|