Es gibt nicht viele Möglichkeiten, COM-Komponenten in JSP-Programmen zu verwenden, und JSP verfügt nicht über Funktionen zum direkten Betrieb von COM. Manchmal müssen jedoch einige Arbeiten mithilfe von COM-Komponenten ausgeführt werden. Lassen Sie uns über die spezifischen Betriebsmethoden sprechen.
Es gibt zwei Möglichkeiten, COM-Komponenten in JSP zu verwenden: Eine besteht darin, Javascript zu verwenden, um sie auf dem Client zu steuern (streng genommen sollte dies eine Funktion von HTML sein), wie zum Beispiel:
<OBJECT id="myCom" classid="clsid: 9D8A2E2F-D38F- CDAC-D0C5-5B3FB2275442" codebase=".com/com.cab#version=1.9.9.0" >
</OBJECT>
<Skript>
Funktion Hello() {
var result= myCom.Hello("Li Zongbin");
Ergebnis zurückgeben;
}
</scipt>
Zurückgegebenes Ergebnis: Hallo, Li Zongbin.
Diese Methode hat jedoch einen Nachteil: Sie kann nur auf der Clientseite und nicht auf der Serverseite ausgeführt werden. Und jeder Client muss diese Komponente installieren, um ausgeführt zu werden.
Die zweite besteht darin, JSP direkt zu verwenden, um die serverseitige COM-Komponente über die Java-COM-Verbindungsbrücke JACOB zu betreiben. Die Download-Adresse von JACOB lautet http://danadler.com/jacob/ . Zum Ausführen sind zwei Dateien erforderlich: jacob.jar und jacob.dll.
Die Konfigurationsmethode lautet: Fügen Sie jacob.jar in CLASSPATH ein und fügen Sie dem Pfad den Pfad hinzu, in dem sich jacob.dll befindet.
d:com
verwendete Methode
lautet beispielsweise wie folgt:1. Registrieren Sie zunächst die COM-Komponente auf der Serverseite.
2. Suchen Sie den Namen der Komponente (normalerweise sollten Sie ihn kennen. Wenn Sie ihn nicht kennen, suchen Sie ihn in der Registrierung).
3. Programmbeispiel:
<%@ 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");//Finde die Komponente Object myCom = mf.getObject();//Generiere ein Objekt String result= Dispatch.call( myCom, "Hello", new Variant( "Li Zongbin" ) ) ;
/*Die Methode zum Aufrufen der Komponente, myCom ist der Objektname der Komponente, Hello ist die Funktion der Komponente, new Variant("Li Zongbin") ist die Parametervariable der Komponente, wenn es mehr als eine gibt, Sie kann sie am Ende hinzufügen, die Methode ist die gleiche*/
out.println(result);
%>