1.3 Java改变Internet的方式
Internet将Java推到了编程的最前沿,反过来,Java也对Internet产生了深远的影响。一般来说,除了简化Web编程以外,Java还创立了一种新的网络程序类型,称为applet,这种程序类型改变了在线世界考虑内容的方式。Java还解决了一些与Internet相关的棘手问题:可移植性和安全性。下面进一步分析这些内容。
1.3.1 Java applet
Java applet是一种特殊类型的Java程序,是为了能够在Internet上传送而设计的,可以在兼容Java的Web浏览器中自动运行。此外,applet可以根据需要自动下载,不需要用户的进一步交互。如果用户单击包含applet的链接,就会自动下载applet,并在浏览器中运行。applet一般是小的程序,它们通常用于显示服务器提供的数据、处理用户输入或者提供在本地执行而不是在服务器上执行的简单功能,例如贷款计算器。本质上,applet使得可以将某些功能从服务器移到客户端。 applet的创建改变了Internet编程,因为它扩展了可以在网络空间(cyberspace)中自由流动的对象的范畴。一般而言,在服务器和客户端之间传输的对象有两大类:被动的信息和动态、主动的程序。例如,当阅读电子邮件时,是在查看被动的数据。甚至当下载一个程序时,在执行该程序之前,它的代码也只是被动的数据。与之相对应,applet是动态的、自我执行的程序。虽然这类程序是客户端计算机上的活动代码,然而它们却是由服务器初始化的。 网络化程序虽然在动态性方面符合人们的愿望,但是它们在安全性和可移植性方面带来了严重问题。显然,必须防止在客户端计算机上自动下载和执行的程序执行破坏性的工作,并且它们还必须能够运行于各种不同的环境以及不同的操作系统中。正如在后面即将看到的,Java以一种高效且优美的方式解决了这些问题。下面让我们进一步分析Java解决这些问题的原理。