选择显示字体大小

java咖啡馆(11):java插件技术

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>



  对应于nn的java插件,需要这么写:

<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>



  这样,无论是ie还是nn都会乖乖执行applet并且让王子对灰姑娘说出那一个字了。

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>');


...
  注意,为了节约篇幅,这里仅仅给出了对应ie的activex的代码。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

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   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons