这里的想法很简单:用户从Internet下载Java字节码,并在自己的机器上运行。在网页中运行Java程序称为applet。为了使用applet,需要启用Java的Web浏览器执行字节码。由于Sun公司负责发放Java源代码的许可证,并坚持不允许对语言和基本类库的结构做出任何修改,因此,Java的applet应该可以运行在任何启用Java浏览器上,并且无论何时访问包含applet的网页,都会得到程序的最终版本。最重要的是,要感谢虚拟机的安全机制,它让我们不必再担心来自恶意代码的攻击。
用户下载一个applet就如同在网页中嵌入一幅图片。applet成了页面的一部分。文本环绕着applet所占据的空间周围。关键一点是图片是活动的。它可以对用户命令做出响应,改变外观,在运行它的计算机与提供它的计算机之间传递数据。
图1-1展示了一个很好的动态网页的示例。Jmol applet显示了分子结构,这将需要相当复杂的计算。在这个网页中,可以利用鼠标进行旋转,调整焦距等操作,以便更加细致地理解分子结构。用静态网页将无法实现这种直接的操作,而applet却可以达到此目的(可以在http://jmol.sourceforge.net上找到这个applet)。
图1-1 Jmol applet
当applet首次出现时,人们欣喜若狂。许多人相信applet的魅力将会导致Java迅速地流行起来。然而,初期的兴奋很快就淡化了。不同版本的Netscape与Internet Explorer运行不同版本的Java,其中有些早已过时。这种糟糕的情况导致更加难于利用Java的最新版本开发applet。今天,当需要在浏览器中显示动态效果时,大多数网页都直接使用JavaScript或Flash。另外,Java已经成为用来开发服务器端应用程序的最流行的语言,使用这些服务器端应用程序可以产生网页、运行后端逻辑。