มีโอกาสไม่มากที่จะใช้ส่วนประกอบ COM ในโปรแกรม JSP และ JSP ไม่มีฟังก์ชันในการใช้งาน COM โดยตรง แต่บางครั้งงานบางอย่างจะต้องทำให้เสร็จสิ้นโดยใช้ส่วนประกอบ COM
มีสองวิธีในการใช้คอมโพเนนต์ com ใน jsp: วิธีหนึ่งคือการใช้จาวาสคริปต์เพื่อควบคุมมันบนไคลเอนต์ (พูดอย่างเคร่งครัด นี่ควรเป็นฟังก์ชันของ html) เช่น:
<OBJECT id="myCom" classid="clsid: 9D8A2E2F-D38F- CDAC-D0C5-5B3FB2275442" codebase=".com/com.cab#version=1.9.9.0" >
</วัตถุ>
<สคริปต์>
ฟังก์ชั่นสวัสดี() {
var result= myCom.Hello("หลี่จงบิน");
ส่งคืนผลลัพธ์;
-
</scipt>
ผลลัพธ์ที่ส่งคืน: สวัสดี Li Zongbin
อย่างไรก็ตาม วิธีการนี้มีข้อเสียเปรียบ: สามารถใช้งานได้บนฝั่งไคลเอ็นต์เท่านั้น และไม่สามารถดำเนินการบนฝั่งเซิร์ฟเวอร์ได้ และไคลเอนต์แต่ละรายจะต้องติดตั้งส่วนประกอบนี้เพื่อให้ทำงานได้
ประการที่สองคือการใช้ jsp โดยตรงเพื่อดำเนินการส่วนประกอบ com ฝั่งเซิร์ฟเวอร์ผ่านสะพานเชื่อมต่อ Java-COM JACOB ที่อยู่การดาวน์โหลดของ JACOB คือ http://danadler.com/jacob/ จำเป็นต้องมีสองไฟล์ในการรัน: jacob.jar และ jacob.dll
วิธีการกำหนดค่าคือ: ใส่ jacob.jar ใน CLASSPATH และเพิ่มเส้นทางที่ jacob.dll อยู่ที่เส้นทาง
วิธีการที่ใช้สำหรับ
d:com
เป็นดังนี้:1. ขั้นแรกให้ลงทะเบียนส่วนประกอบ com บนฝั่งเซิร์ฟเวอร์
2. ค้นหาชื่อของส่วนประกอบ (โดยปกติคุณควรทราบ หากคุณไม่ทราบ ให้ไปที่รีจิสทรีเพื่อค้นหา)
3. ตัวอย่างโปรแกรม:
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<%@ หน้านำเข้า = "com.jacob.com.*" %>
<%@ เพจ import="com.jacob.activeX.*" %>
-
System.runFinalizersOnExit (จริง);
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(ผลลัพธ์);
-