众所周知,如果在IE中使用APPLET的话需要安装JAVA环境(JRE),这对基于INTERNET的应用来说,并非难事,只需要在JSP、HTML页面指定下载的网址就能够实现,代码如下:
<SCRIPT LANGUAGE="JavaScript"><!--
var _info = navigator.userAgent;
var _ns = false;
var _ns6 = false;
var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
//--></SCRIPT>
<COMMENT>
<SCRIPT LANGUAGE="JavaScript1.1"><!--
var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0)));
var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
//--></SCRIPT>
</COMMENT>
<SCRIPT LANGUAGE="JavaScript"><!--
if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = "1024" HEIGHT = "768" codebase="http://java.sun.com/products/plugin/1.1.2/jinstall-112-win32.cab#Version=1,1,2,0"><NOEMBED><XMP>');
else if (_ns == true && _ns6 == false) document.writeln('<EMBED type="application/x-java-applet;version=1.1.2" CODE = "EmbeddedViewerApplet.class" CODEBASE = "applets" ARCHIVE = "jasperreports-1.2.7-applet.jar" WIDTH = "600" HEIGHT = "400" REPORT_URL = "../servlets/jasperprint" scriptable=false pluginspage="http://java.sun.com/products/plugin/1.1.2/plugin-install.html"><NOEMBED><XMP>');
//--></SCRIPT>
那么在局域网内,对于web application,需要安装jre到各个客户端该如何做呢?其实很简单
第一步. 准备好JRE的安装文件jre-1_5_0_11-windows-i586-p.exe
第二步. 将上面代码codebase的值改成自己的,例如:
codebase="http://192.168.0.2:8080/webapp/jre1.5/jre-1_5_0_11-windows-i586-p.exe#Version=1,5,0,0"
将上面的Version后边的值改为你的目标JRE就可以了。这样,如果Client机JRE版本低于这个版,就会到...exe去自动下载及安装,如果高于或等于则不会。
除此之外还可以参考Active控件的做法