JSP プログラムで COM コンポーネントを使用する機会は多くありません。また、JSP には COM を直接操作する機能はありませんが、一部の作業は COM コンポーネントを使用して完了する必要がある場合があります。具体的な操作方法について説明します。
<OBJECT id="myCom" classid="clsid:
のように、JavaScript を使用してクライアント上でコンポーネントを制御する方法です (厳密に言えば、これは HTML の関数である必要があります)。
9D8A2E2F-D38F-CDAC-D0C5-5B3FB2275442" codebase=".com/com.cab#version=1.9.9.0" >
</オブジェクト>
<スクリプト>
関数 Hello() {
var result= myCom.Hello("李宗斌");
結果を返します。
}
</scipt>
返される結果: こんにちは、Li Zongbin。
ただし、このメソッドには欠点があります。クライアント側でのみ操作でき、サーバー側では操作できません。また、各クライアントが実行するにはこのコンポーネントをインストールする必要があります。
2 つ目は、jsp を直接使用して、Java-COM 接続ブリッジ JACOB を通じてサーバー側の com コンポーネントを操作する方法です。 JACOB のダウンロード アドレスはhttp://danadler.com/jacob/です。実行するには、jacob.jar と jacob.dll の 2 つのファイルが必要です。
設定方法は、CLASSPATHにjacob.jarを置き、pathにjacob.dllがあるパスを追加します。
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( "Liゾンビン" ) ) ;
/* コンポーネントの呼び出し方法。myCom はコンポーネントのオブジェクト名、Hello はコンポーネントの関数、new Variant("Li Zongbin") はコンポーネントのパラメータ変数です。複数ある場合は、最後に追加することもできます。方法は同じです*/
out.println(結果);
%>