Il n'y a pas beaucoup de possibilités d'utiliser les composants COM dans les programmes JSP, et JSP n'a pas de fonctions pour faire fonctionner directement COM, mais certains travaux doivent parfois être effectués à l'aide de composants COM. Parlons des méthodes de fonctionnement spécifiques.
Il existe deux manières d'utiliser les composants com dans jsp : l'une consiste à utiliser javascript pour le contrôler sur le client (à proprement parler, cela devrait être une fonction de HTML), comme :
<OBJECT id="myCom" classid="clsid : 9D8A2E2F-D38F-CDAC-D0C5-5B3FB2275442" codebase=".com/com.cab#version=1.9.9.0" >
</OBJET>
<script>
fonction Bonjour() {
var result= myCom.Hello("Li Zongbin");
renvoyer le résultat ;
}
</scipt>
Résultat renvoyé : Bonjour, Li Zongbin
Cependant, cette méthode présente un inconvénient : elle ne peut être opérée que côté client et ne peut pas fonctionner côté serveur. Et chaque client doit installer ce composant pour s'exécuter.
La seconde consiste à utiliser directement jsp pour faire fonctionner le composant com côté serveur via le pont de connexion Java-COM JACOB. L'adresse de téléchargement de JACOB est http://danadler.com/jacob/ . Deux fichiers sont requis pour l'exécution : jacob.jar et jacob.dll.
La méthode de configuration est la suivante : placez jacob.jar dans CLASSPATH et ajoutez le chemin où se trouve jacob.dll au chemin.
la méthode utilisée pour
d:com
est la suivante :1. Enregistrez d’abord le composant com côté serveur ;
2. Recherchez le nom du composant (généralement vous devriez le connaître, si vous ne le connaissez pas, allez dans le registre pour le trouver) ;
3. Exemple de programme :
<%@ 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");//Trouver le composant Object myCom = mf.getObject();//Générer un objet String result= Dispatch.call( myCom, "Bonjour", new Variant( "Li Zongbin" ) ) ;
/*La méthode d'appel du composant, myCom est le nom d'objet du composant, Hello est la fonction du composant, new Variant("Li Zongbin") est la variable paramètre du composant, s'il y en a plusieurs, vous on peut les ajouter à la fin, la méthode est la même*/
out.println(résultat);
%>