在项目中使用到Applet的,如果在客户端没有安装Jre的话那么客户端是不能启动Applet程序,那么这个时候使用Sun提供的deployJava.js去检测是很方便的。下面是最简单的实现:
首先将deployJava.js下下来,然后放在项目的js包中就可以了,再在你的jsp中加入下面的内容就可以了(
目前deployJava只支持3种浏览器[MSIE,Netscape Family,Safari])。
<body>
<script src="<%=request.getContextPath() %>/js/deployJava.js"></script>
<p>Detected JREs:
<b>
<script>
//下面是deployJava.js提供的function,这里只列举了一部分,详细看deployJava.js。
//document.writeln(navigator.language);获取浏览器中的语言设置
//deployJava.getJREs() 返回已安装JRE版本的清单
//versionCheck(pattern) 有已安装JRE版本与字符串模式(例如:“1.5*”,“1.6+”)匹配时返回true
//installLatestJRE() 使用浏览器或者“适于平台的机制”安装最新JRE
//writeAppletTag(attributes, parameters) 自动写Applet标签
//runApplet(attributes, parameters, version) 确保合适的JRE版本已经安装,然后输出Applet标签
//isWebStartInstalled() 检查WebStart是否已安装
//createWebStartLaunchButton(jnlpURL) 输出一个按钮,点击时确保WebStart已安装然后启动特定的JNLP
//setInstallerType(type) Sets the preferred install type : null, online, kernel.
//实例:deployJava.setInstallerType('kernel');
//setAdditionalPackages(packageList) Sets additional package list to be used by kernel installer.
//示例:deployJava.setAdditionalPackages('javax.swing, javax.xml');
//得到所有安装的jre版本
jres = deployJava.getJREs();
//下面是在jsp页面中输出你的jre版本。
document.writeln(jres.length ? jres : "None");
//下面就是检测Jre和version等,我这里是检测是否是1.6。这里使用了sun的Java2D,可以改用自己写的Applet,
//只需要替换codebase、archive和code后面的内容就可以了
deployJava.runApplet({codebase:"http://java.sun.com/products/plugin/1.5.0/demos/jfc/Java2D",
archive:"Java2Demo.jar", code:"java2d.Java2DemoApplet.class",
width:"1000", Height:"600"}, "fontSize:16","1.6");
</script>
</b>
</p>
</body>
另外还有很多中方式:比如JNLP等。
下面是使用JNLP.同样的是在jsp中加入下面的内容。
<body>
<script src="<%=request.getContextPath() %>/js/deployJava.js"></script>
<p>Detected JREs:
<b>
<script>
var attributes = {codebase:'http://java.sun.com/products/plugin/1.5.0/demos/jfc/Java2D',
code:'java2d.Java2DemoApplet.class', archive:'Java2Demo.jar', width:710, height:540} ;
var parameters = {fontSize:16, jnlp_href:'java2d.jnlp'} ;
var version = '1.6' ;
deployJava.runApplet(attributes, parameters, version);
</script>
</b>
</p>
</body>
还有就是在项目中需要加入*.jnlp文件,我这里是叫java2d.jnlp,对应了parameters参数中的jnlp_href:'java2d.jnlp'.
在附件中有我上面使用的两个文件,分别是deployJava.js和java2d.jnlp两个文件,更多内容可以参考sun官网。
http://java.sun.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html
分享到:
相关推荐
此文档描述了Detected memory leaks内存泄漏的简单检测方法,通过调用系统函数,在debug模式下运行,可以很快定位出内存泄漏之处;注:此方法并不能适用所有Detected memory leaks情况
解决报错HEAP CORRUPTION DETECTED heap corruption detected after normal block.zip
USB Device Over Current Status Detected! System will Shut Down After 15 Second!这个应该是华硕主板的通病,一般都是跳线未设置好或USB电源短路造成的,提供一张维修方法,仅供参考。
运行UG提示Fatal error detected unable to continue的解决方法
centos7_XFS_报Corruption of in-memory data detected错误修复
供OD(Ollydbg)学习用的Debugger Detected原版打包zip,也是小甲鱼OD使用教程第二十三讲中用到的程序。
码云 eclipse git remote: warning: Large files detected. 非命令方式解决方案。
NULL 博文链接:https://dingherry.iteye.com/blog/1545972
转载至ST link官方链接 官方是免费下载的,因此不应该所需积分下载,这里动态调分设置为不允许 升级ST-link的官网链接: ...滑到最下面直接download并接受选择Accept即可,也可以直接用我转载的资源 ...
开机提示USB-Device-over-current-status-Detected后关机1.doc
对于ALLEGRO设计在出验证光绘文件阶段,在CAM350中导入光绘文件时经常有报错"Zero radius arc detected.Assuming linear interpolation",导致无法正常导入光绘文件。解决这个问题我是半猜半蒙,发生过几次这个问题,...
今天小编就为大家分享一篇解决Django migrate No changes detected 不能创建表的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
本文详细介绍了如何攻破已经发表的10种对抗样本防御方法。
上线后报一堆这样的错:iconv() : Detected an illegal character in input string考虑到GB2312字符集比较小,换个大的吧,于是改成GBK:$str = iconv(‘UTF-8’, ‘GBK’, unescape(isset($_GET[‘str’])?...
用于解决old ST-LINK firmware detected.do you want to upgrade it?问题 打开stlink utility工具后,kail在跳出do you want to upgrade it的提示,点击yes就可以完成升级
debug时候出现NO ST-LINK Detected的错误提示,下了很多 ST-LINK驱动都不好用,这款好用,下载后点击ST-LINK_USB_V2_1_Driver文件夹下的stlink_winusb_install.bat进行安装即可
穿越火线出现Client file corruption detected问题的解决办法.docx
centos安装kettle,运行kitchen.sh时报WARNING: no libwebkitgtk-1.0 detected, some features will be unavailable,整理了安装libwebkitgtk相关的依赖包共44个rpm,基本比较全了,因各操作系统环境不同,如还有...
文献:High-Precision Ultrasonic Ranging System Platform Based on Peak-Detected Self-Interference Technique 关键词:自干涉;超声波