在项目中使用到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 简单检测方法 #### 背景介绍 在软件开发过程中,内存泄漏是一个常见的问题,特别是在使用C/C++等需要手动管理内存的语言进行开发时更为突出。内存泄漏不仅会导致程序占用的内存持续增长...
### USB Device Over Current Status Detected 维修思路 在IT硬件维护领域,“USB Device Over Current Status Detected”是一个常见的问题,特别是对于使用华硕主板的用户来说。这个问题通常表现为系统提示“USB ...
在IT领域,尤其是CAD/CAM软件用户中,遇到“运行UG提示Fatal error detected unable to continue”的问题时,往往会感到困扰。这一错误信息通常出现在尝试启动Unigraphics(简称UG,现称为NX)软件时,意味着系统...
在编程过程中,尤其是在C语言和使用Visual C++(VC)编译器的环境中,"heap corruption detected after normal block"是一个常见的错误提示,它通常表明在程序执行时内存堆出现了损坏。这个错误通常与动态内存分配(如...
### git remote: warning: Large files detected. 解决方案 在使用Git进行项目版本管理时,可能会遇到`git remote: warning: Large files detected.`这一警告。这种情况通常发生在尝试将大型文件(如图片、视频或者...
在Linux系统中,CentOS 7使用XFS文件系统可能会遇到一种特定的错误:“Corruption of in-memory data detected”。这个错误通常表示系统检测到了内存中的数据损坏,这可能是因为不正常关机、硬件故障或者软件问题...
标题中的“JNA方式调用dll报错:A fatal error has been detected by the Java Runtime Environment:”是一个典型的Java编程问题,涉及到Java Native Access (JNA) 和动态链接库(dll)的交互。JNA是Java平台的一个...
供OD(Ollydbg)学习用的Debugger Detected原版打包zip,也是小甲鱼OD使用教程第二十三讲中用到的程序。
### 开机提示“USB Device Over Current Status Detected”后的解决方案及电脑性能优化方法 #### 核心问题解析 本文主要探讨的是计算机启动时遇到的问题——**开机提示“USB Device Over Current Status Detected”...
转载至ST link官方链接 官方是免费下载的,因此不应该所需积分下载,这里动态调分设置为不允许 升级ST-link的官网链接: ...滑到最下面直接download并接受选择Accept即可,也可以直接用我转载的资源 ...
开发案列优质学习资料资源工具与案列应用场景开发文档教程资料
然而,有时候在修改了模型后,执行`python3 manage.py migrate`可能会遇到"No changes detected"的错误,这意味着Django认为没有任何模型变动,因此不会执行任何数据库迁移操作。这个问题在本文中得到了详细的解析和...
对于ALLEGRO设计在出验证光绘文件阶段,在CAM350中导入光绘文件时经常有报错"Zero radius arc detected.Assuming linear interpolation",导致无法正常导入光绘文件。解决这个问题我是半猜半蒙,发生过几次这个问题,...
Data Loss Detected(解决方案).md
Data Corruption Detected(处理方案).md
Interference Detected(亲测可用).md
Device Not Detected(解决方案).md
Circular dependency detected(解决方案).md
Phase Noise Detected(亲测可用).md
Memory Leak Detected(亲测可用).md