1.java插件技术
java插件技术(java plug-in technology)是一个神奇的设计,它架起了时下流行的浏览器(包括inte.net explorer,下面简称ie.netscape navigator,下面简称nn以及mozilla)与java平台之间的桥梁。 也就是说,只需要一个浏览器,它不必内置java虚拟机(比如与windows xp捆绑销售的ie 6),也不必特意安装java运行环境,在打开包含java applet的网页时,只要按照浏览器提示安装这个java插件后便能任意运行applet了,而这个安装过程与安装macromedia flash、3721等插件一样简单。
要知道,java插件技术与我们上回咖啡馆中介绍的运行applet的方法有着本质上的区别。
在上回java咖啡馆中,我向大家介绍了applet编写过程,以及在ie中运行applet的方法。回忆一下,我们是通过在html网页中嵌入<applet>标签实现的。实际上,如果你的系统中已经安装java运行时环境时,当浏览器遇到<applet>标签时,浏览器便会启动java虚拟机,从网上下载applet的class文件后执行它。这种方法有两个明显缺点:第一,如果系统中如果没有java运行时环境,浏览器便会名正言顺地怠工,拒绝执行applet;第二,如果系统中的java运行时环境版本过低,而applet又使用了新版本中的新技术,这也将导致applet运行不正常。
而java插件技术可以很好解决这两个问题。本质上,java插件技术是借助浏览器的插件机制给客户端安装或更新java运行时环境的技术。目前流行的浏览器都有插件机制,比如mozilla、nn的plug-in技术,ie的activex构件技术。当这些浏览器遇到网页中java插件标签时,会自动连接到sun公司的服务器下载或者更新java运行时环境,然后可以运行applet程序了。省却了用户自行安装java运行时环境的不便,这真是一个漂亮的实现。
2.通过java插件技术调用applet
java插件技术不能依靠<applet>标签调用applet了,你必须像调用其他nn的插件或者ie的activex构件一样调用java插件。
还是拿例子来说明一下。我们原先的sample.htm网页是这样调用applet的:
<applet code="newsapplet.class" codebase="." width=480 height=384>
<param name="from" value="prince charming">
<param name="to" value="cinderella">
</applet>
<embed type="application/x-java-applet;jpi-version=1.5"
code="newsapplet.class"
width=480
height=384
pluginspage = "http://java.sun.com/products/plugin/index. html#download"
from="prince charming"
to="cinderella">
</embed>
而对应于ie的activex构件技术的java插件,需要这么写:
<object classid="clsid:cafeefac-0015-0000-0000-abcdeffedcba"
codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab#version=1,5,0,0"
width=480 height=384>
<param name="code" value="newsapplet.class">
<param name = "type" value = "application/x-java-applet;jpi-version=1.5">
<param name="from" value="prince charming">
<param name="to" value="cinderella">
</object>
当然,如果想写出可以适应所有浏览器的调用java插件的代码,可以利用nn忽略<object>与<comment> 标签,以及ie忽略<embed>标签的事实来个嵌套,类似于
<object ...>
<comment>
<embed ...>
</embed>
</comment>
</object>
3.升级情人节的applet
现在是时候把情人节的applet程序升级一下了,很简单,惟一要做的就是把原先index.htm代码中的如下部分进行修改:
...
document.write('<applet code="newsapplet.class" codebase="."width=480 height=384>');
document.write(' <param name="from" value="' + from + '">');
document.write(' <param name="to" value="' + to + '">');
document.write('</applet>');
document.write('<object classid="clsid:cafeefac-0015-0000-0000-abcdeffedcba" codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab#version=1,5,0,0" width=480 height=384>');
document.write(' <param name="code" value="newsapplet.class">');
document.write(' <param name = "type" value = "application/x-java-applet;jpi-version=1.5">');
document.write(' <param name="from" value="' + from + '">');
document.write(' <param name="to" value="' + to + '">');
document.write('</object>');
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器