使用applet调用客户端程序

首先需要了解ie调用applet是需要访问jar包中的文件的,而jar包中的文件必须是经过签名认证的,否则会被浏览器禁止的。而jar包中的java类文件必须是继承自java.applet.Applet。

下面是applet签名的:

keytool -genkey -validity 1800 -keystore applet.store -alias applet
keytool -export -keystore applet.store -alias applet -file applet.cer
jarsigner -keystore applet.store jasperreports-3.0.1-applet.jar applet

上面jasperreports-3.0.1-applet.jar里面的类文件继承了java.applet.Applet,是自己写的applet。

在这applet中我的代码如下(我实现的是一个简单的调用客户端的程序)

package com.isoftstone.ireport;

import java.applet.Applet;

public class CallIReportApplet extends Applet {

static {
System.setSecurityManager(null);
}

public void init(){

System.out.println("callIreportApplet init()");
String ireportSetUpBatStr = "D:\\Program Files\\JasperSoft\\iReport-3.0.0\\bin\\startup.bat";
try {
Runtime rt = Runtime.getRuntime();
rt.exec(ireportSetUpBatStr);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}



jsp页面调用applet的时候代码如下:

function aaa(){
document.write('<OBJECT id="myApplet"');
document.write('classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH="0" HEIGHT="0" MAYSCRIPT name="myApplet"');
//jre的相对路径,也就是当前这个js所在的相对路径
document.write('codebase="../../applets/jre-1_5_0_18-windows-i586-p.exe">');
//你要调用的applet的全名,包名和文件名,该java类必须继承自applet
document.write('<PARAM NAME="CODE" VALUE="com.isoftstone.ireport.CallIReportApplet" />');
//applet的jar包所在的相对路径
document.write('<PARAM NAME="CODEBASE" VALUE="../../applets" />');
//applet的jar包名字
document.write('<PARAM NAME="ARCHIVE" VALUE="CallIReport.jar" />');
document.write('<PARAM NAME="type" VALUE="application/x-java-applet;version=1.5.0" />');
document.write('<PARAM NAME="scriptable" VALUE="false" />');
document.write('<PARAM NAME="REPORT_URL" VALUE="../../comm.view">');
document.write('<comment>');
document.write('<embed type="application/x-java-applet;version=1.5.0"');
//你要调用的applet的全名,包名和文件名
document.write('CODE="com.isoftstone.ireport.CallIReportApplet"');
//applet的jar包所在的相对路径 和 jar包的名字
document.write('JAVA_CODEBASE="../../applets" ARCHIVE="CallIReport.jar"');
document.write('scriptable=false');
//jre的相对路径,也就是当前这个js所在的相对路径
document.write('pluginspage="../../applets/jre-1_5_0_18-windows-i586-p.exe">');
document.write('<noembed></noembed>');
document.write('</embed>');
document.write('</comment>');
document.write('</OBJECT>');
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值