企业级应用中的 Applet 和 Servlet 的通信
作者: ∣来源:JavaResearch∣原文地址∣2005-7-19
在今天的多层结构的 web 应用程序的设计中,我们可以同时使用 Javaapplet 和
Servlet。Applet 为建立功能强大的动态界面提供了便利的机制,Servlet 为 web 服务器或者
其他应用服务器处理请求提供了高效率的手段。Sun 公司的应用程序模型描述了在 Java2 平台
下开发企业级的 Java 应用的最好的规范。一种被推荐的规范是:在前端使用 Applet、HTML 和
JSP,在后端使用 EnterpriseJavaBeans 支持的 Servlet 及其他成分。
这种体系结构的关键是在客户端的 Applet 和在服务器说?ervlet 之间的通信。但是由于
Applet 受浏览器安全模式的限制,在一个 Applet 中存取数据和信息并不想看上去的那么简单。
在这篇文章中,我们将解释在 Applet-Servlet 结构中开发者所面对的限制,并探讨几个不同的
可以在 Applet 和 Servlet 之间转输数据的通信策略。如果你已经熟悉 Applet 和 Servlet,这肯
定会对你阅读本文有帮助,如果你还不是那么熟悉,那也没关系,我们会简要地介绍它们。
APPLET 和 SERVLET 的简介
Applet
Javaapplets 实际上是运行在 web 页面上的 Java 程序。它是一个继承于
java.applet.applet 的 Java 类,它通过引用被嵌入到 HTML 页面中去,就象一个图像一样。
Applet 和 HTML 的组合,可以建立功能更为强大的动态界面。对于一些只用来滚动正文和播放
动画的 Applet,我们可以在一个企业级的应用程序中利用它来显示和处理来自服务器上的资源
的数据。例如,一个 Applet 可以用来浏览和修改数据库中的记录或者控制运行在服务器上的其
他应用程序。
Javaapplet 除了可以使用它自己定义的类文件外,还可以使用其他的类,不管这些类是独立
存在的还是被打包成了一个 JAR 文件。Applet 和它的类文件通过标准的 HTTP 请求进行分布,
所以 Applet 可以越过 web 页面数据所在的平台的防火墙进行发送。除非是涉及到保持应用程序
完整性的问题,Applet 总会在每次用户重新访问 web 主机时自动刷新并会在客户端保留一段时
间。
我们得感谢 Java 操作系统的平台无关性,这才使得 Applet 可以运行在任何拥有 Java 虚拟机
(JVM)的浏览器上。Sun 公司的 Java 插件甚至可以使用可以利用最新版本的 JVM 编制页面,
而不用担心受你的用户的浏览器上的 JVM 的版本的限制。
因为 Applet 是 Java 平台的扩展,所以在你建立用 Applet 建立你的 web 应用程序的界面时,