您的位置:首页 > 移动开发

Java Applet给ActiveX跪下了

2006-11-03 15:21 309 查看
耸人听闻Java Applet又不是人怎么能跪下呢?就是跪下又怎么能给ActiveX这个手下败将跪下呢?

  曾几何时Java Applet把ActiveX踩在了脚底下ActiveX不安全Java Applet因为虚拟机的技术能够构造SandboxJava Applet可以在SandBox里面运行而Sandbox可以排除Java Applet的任何危险动作诸如针对本地文件的IO等等正因如此当然也因为Java阵营的添油加醋的造势和炒作弄得大多数的公司把自己的防火墙配置成禁止任何ActiveX通过网页上的ActiveX成为安全漏洞的代名词

  Java Applet真正把ActiveX踩在了脚底下同时正是因为Applet上的成功使得Java成为网络时代的代名词星星之火燎原于世一个为小设备和网上小程序准备的语言终于成为全功能语言进入企业级形成自己的开发平台把Microsoft打的还不了手Microsoft不得不全方位改造自己的开发语言或多或少向Java看齐大家都知道这就是.NET开发语言的来历没有JavaVB不可能这么快就变成VB.NET也不会有C#更不会有.NET Common Runtime等等恐怕没有人不同意吧

  Java的成功始自Java Applet而对Java Applet的支持始自Netscape后来Internet Explorer跟进随后所有的浏览器都必须支持Java Applet在Netscape如日中天的时候Microsoft不敢多想所以Internet Explorer一直老老实实地支持Java Applet但是Netscape并不领情所以Netscape对ActiveX的支持一直局限在选择安装的Plug-in的水平上也就是说除非用户安装一个Plug-in不然不能在Netscape浏览器里面运行ActiveX而一般用户根本就不知道还需要安装另一个软件或者知道需要安装但是不知道怎么安装或者知道需要安装也知道怎么安装但是因为怕麻烦等原因没有安装那么对不起用户没法浏览带有ActiveX的网页

  任何网站开发人员也非常清楚这一点他们如果在网页上面使用ActiveX而不是Java Applet的话那么估计有一半的互联网用户因为使用Netscape浏览器将无法使用他们的网站在顾客至上的考虑下唯有选择Java Applet放弃ActiveX

  这简直就是一种不平等条约但是那个时候Microsoft没办法反击

  现在不同了一方面Netscape已经从一只老虎变成了一只猫另一方面Microsoft赢了官司不必要在操作系统中加载JVMMicrosoft反击了现在的IE6.0已经把对Java的支持降到了选择安装的Plug-in的级别也就是说除非用户在安装完IE之后再自行安装一个JVM才能运行Java Applet对于普通用户来说这只能带来不便是一种倒退

  但是对Microsoft来说不平等条约又变成了平等的只是代价…

  我们不妨考察一下现在的IE6如何支持Java Applet吧要想在IE上面运行Java Applet网页开发人员可以指定某一个版本的Sun JVM Plug-in(专为IE开发的那种)就可以触发IE自动下载这个Plug-in比如下面的标签声明了一个Java Applet类名为com.cmpc.CMPCApplet3它需要1.4.1或更新的SUN JVM(为IE开发的Plug-in):

<object classid = "clsid:CAFEEFAC-0014-0001-0003-ABCDEFFEDCBA"
width="320" height="240" name="CMPC"
codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,1,mn">
<param name="code" value="com.cmpc.CMPCApplet3">
<param name="cache_archive_ex" value="preload;1.0.0.4">
</object>

  在JVM下载安装完毕之后IE会自动运行这个Applet当然每一个版本的JVM下载和安装只发生一次除非另外一个Applet需要另一个版本的JVM不然就不需再次下载和安装了这倒也不是特别大的不便特别是对于有高速上网条件的用户来说可要是您用的是56K Modem的话这就是个问题您可能就需要另外找到这个版本的JVM的CD自己在机器上安装然后再浏览需要这个JVM的网页

  读者可能还看不出:Java跪在哪了?我跑题跑得太厉害了吧?

  慢着您仔细看看上面的标签那里说明了这个JVM是一个ActiveX

  奇怪吗想想也不奇怪IE的Plug-in必须是ActiveXJVM降到了Plug-in级别之后也就降到了一个普通的ActiveX的级别所有的Java Applet都是在这个ActiveX里面运行的小程序

  更为安全和强大的Java Applet必须依赖于ActiveX才能运行严格地讲还是在一个ActiveX内部运行

  再想一想就更有趣了如果用户继续坚信Java阵营当初的宣传的话用户的防火墙根本就不会让身为ActiveX的SUN JVM穿过去用户也无法让IE自动安装JVM那样的话用户的出路也只有一个:就是找张CD然后在各台机器上手动安装不过根据Netscape用户的经验没有人耐烦这样做
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息