Java具有创建applet的能力,它是在Web浏览器中运行的小程序。这种程序必须是安全的,
所以其功能就有所限制。不过,对于Web编程的主要问题之一,即客户端编程来说,applet
仍然是一个有力的工具。
编写 applet 很受限制,你的行为总是受到 Java 运行时刻安全系统的监视,所以这也常常
被称为“在沙箱内(sandbox)”编程。
不过,你也可以摆脱沙箱的限制,编写 applet 之外的常规应用程序,这时你就能使用本地
操作系统提供的其它功能了。本书到目前为止,我们一直在写这样的常规应用程序,不过
它们属于没有任何图形界面的控制台应用程序。可以使用 Swing 为这些常规应用程序编写
图形用户界面。
applet能作什么呢?看看设计人员对它的期望就知道了:增强浏览器中网页的功能。不过,
在互联网上冲浪的时候,你很难知道网页是否来自恶意站点,所以浏览器上运行的任何代
码必须是安全的。因此,你可能也注意到了,applet最大的限制是:
1. Applet不能访问本地盘。你不会同意在未经允许的情况下,applet读取你的私
人信息并在互联网上传播,所以不能让applet读取硬(磁)盘信息。当然也不
能向硬(磁)盘写,否则就为病毒打开了方便之门。Java为applet提供了数字
签名。当你允许一些经过签名的applet(签名的来源是可以信任的)访问本地
机器的时候,就可以放宽一些限制。本章后面你将会看到这种例子,以及有
关Java Web Start的例子,它是一种通过互联网把程序安全地传送到客户端的
技术。
2.因为每次都要下载所有内容,其中的每一个类都要单独向服务器发送请求下载,
这就使Applet显示起来更慢了。浏览器可能会缓存applet,但这一点并不能得
到保证。所以,你应该总是把applet打包到一个JAR(Java ARchive)文件中,
它能把applet的所有组件(.class文件以及图形和声音文件)压缩到一个单一
文件中,这样就能在一次服务器请求中下载了。JAR文件中的每个单独实体
所以其功能就有所限制。不过,对于Web编程的主要问题之一,即客户端编程来说,applet
仍然是一个有力的工具。
编写 applet 很受限制,你的行为总是受到 Java 运行时刻安全系统的监视,所以这也常常
被称为“在沙箱内(sandbox)”编程。
不过,你也可以摆脱沙箱的限制,编写 applet 之外的常规应用程序,这时你就能使用本地
操作系统提供的其它功能了。本书到目前为止,我们一直在写这样的常规应用程序,不过
它们属于没有任何图形界面的控制台应用程序。可以使用 Swing 为这些常规应用程序编写
图形用户界面。
applet能作什么呢?看看设计人员对它的期望就知道了:增强浏览器中网页的功能。不过,
在互联网上冲浪的时候,你很难知道网页是否来自恶意站点,所以浏览器上运行的任何代
码必须是安全的。因此,你可能也注意到了,applet最大的限制是:
1. Applet不能访问本地盘。你不会同意在未经允许的情况下,applet读取你的私
人信息并在互联网上传播,所以不能让applet读取硬(磁)盘信息。当然也不
能向硬(磁)盘写,否则就为病毒打开了方便之门。Java为applet提供了数字
签名。当你允许一些经过签名的applet(签名的来源是可以信任的)访问本地
机器的时候,就可以放宽一些限制。本章后面你将会看到这种例子,以及有
关Java Web Start的例子,它是一种通过互联网把程序安全地传送到客户端的
技术。
2.因为每次都要下载所有内容,其中的每一个类都要单独向服务器发送请求下载,
这就使Applet显示起来更慢了。浏览器可能会缓存applet,但这一点并不能得
到保证。所以,你应该总是把applet打包到一个JAR(Java ARchive)文件中,
它能把applet的所有组件(.class文件以及图形和声音文件)压缩到一个单一
文件中,这样就能在一次服务器请求中下载了。JAR文件中的每个单独实体
都能使用“数字签名”。