耸人听闻
!
Java Applet又不是人
,怎么能跪下呢?就是跪下
,又怎么能给ActiveX这个手下败将跪下呢?
曾几何时 , Java Applet把ActiveX踩在了脚底下 。ActiveX不安全 ,而 Java Applet因为虚拟机的技术 ,能够构造Sandbox , Java Applet可以在SandBox里面运行 ,而Sandbox可以排除 Java Applet的任何危险动作 ,诸如针对本地文件的IO等等 。正因如此 ,当然也因为 Java阵营的添油加醋的造势和炒作 ,弄得大多数的公司把自己的防火墙配置成禁止任何ActiveX通过 。网页上的ActiveX成为安全漏洞的代名词 。
Java Applet真正把ActiveX踩在了脚底下 。同时 ,正是因为Applet上的成功 ,使得 Java成为网络时代的代名词 ,星星之火 ,燎原于世 。一个为小设备和网上小程序准备的语言 ,终于成为全功能语言 ,进入企业级 ,形成自己的开发平台 ,把Microsoft打的还不了手 。Microsoft不得不全方位改造自己的开发语言 ,或多或少向 Java看齐 。大家都知道 ,这就是.NET开发语言的来历 。没有 Java ,VB不可能这么快就变成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赢了官司 ,不必要在操作系统中加载JVM 。Microsoft反击了 。现在的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必须是ActiveX 。JVM降到了Plug-in级别之后 ,也就降到了一个普通的ActiveX的级别 。所有的 Java Applet都是在这个ActiveX里面运行的小程序 。
更为安全和强大的 Java Applet必须依赖于ActiveX才能运行 。严格地讲 ,还是在一个ActiveX内部运行 。
再想一想就更有趣了 ,如果用户继续坚信 Java阵营当初的宣传的话 ,用户的防火墙根本就不会让身为ActiveX的SUN JVM穿过去 ,用户也无法让IE自动安装JVM 。那样的话 ,用户的出路也只有一个:就是找张CD ,然后在各台机器上手动安装 。不过根据Netscape用户的经验 ,没有人耐烦这样做 。
曾几何时 , Java Applet把ActiveX踩在了脚底下 。ActiveX不安全 ,而 Java Applet因为虚拟机的技术 ,能够构造Sandbox , Java Applet可以在SandBox里面运行 ,而Sandbox可以排除 Java Applet的任何危险动作 ,诸如针对本地文件的IO等等 。正因如此 ,当然也因为 Java阵营的添油加醋的造势和炒作 ,弄得大多数的公司把自己的防火墙配置成禁止任何ActiveX通过 。网页上的ActiveX成为安全漏洞的代名词 。
Java Applet真正把ActiveX踩在了脚底下 。同时 ,正是因为Applet上的成功 ,使得 Java成为网络时代的代名词 ,星星之火 ,燎原于世 。一个为小设备和网上小程序准备的语言 ,终于成为全功能语言 ,进入企业级 ,形成自己的开发平台 ,把Microsoft打的还不了手 。Microsoft不得不全方位改造自己的开发语言 ,或多或少向 Java看齐 。大家都知道 ,这就是.NET开发语言的来历 。没有 Java ,VB不可能这么快就变成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赢了官司 ,不必要在操作系统中加载JVM 。Microsoft反击了 。现在的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必须是ActiveX 。JVM降到了Plug-in级别之后 ,也就降到了一个普通的ActiveX的级别 。所有的 Java Applet都是在这个ActiveX里面运行的小程序 。
更为安全和强大的 Java Applet必须依赖于ActiveX才能运行 。严格地讲 ,还是在一个ActiveX内部运行 。
再想一想就更有趣了 ,如果用户继续坚信 Java阵营当初的宣传的话 ,用户的防火墙根本就不会让身为ActiveX的SUN JVM穿过去 ,用户也无法让IE自动安装JVM 。那样的话 ,用户的出路也只有一个:就是找张CD ,然后在各台机器上手动安装 。不过根据Netscape用户的经验 ,没有人耐烦这样做 。