`

企业级应用中的Applet和Servlet的通信(一)

    博客分类:
  • java
阅读更多

在今天的多层结构的web应用程式的设计中,我们能同时使用Java applet和Servlet。Applet为建立功能强大的动态界面提供了便利的机制,Servlet为web服务器或其他应用服务器处理请求提供了高效率的手段。

Sun公司的应用程式模型描述了在Java2平台下研发企业级的Java应用的最佳的规范。一种被推荐的规范是:在前端使用Applet、HTML和JSP,在后端使用Enterprise JavaBeans支持的Servlet及其他成分。

这种体系结构的关键是在客户端的Applet和在服务器说?ervlet之间的通信。不过由于Applet受浏览器安全模式的限制,在一个Applet中存取数据和信息并不想看上去的那么简单。在这篇文章中,我们将解释在Applet-Servlet结构中研发者所面对的限制,并探讨几个不同的能在Applet和Servlet之间转输数据的通信策略。

如果你已熟悉Applet和Servlet,这肯定会对你阅读本文有帮助,如果你还不是那么熟悉,那也没关系,我们会简要地介绍他们。

APPLET和SERVLET的简介

Applet Java applets实际上是运行在web页面上的Java程式。他是个继承于java.applet.applet的Java类,他通过引用被嵌入到HTML页面中去,就象一个图像相同。Applet和HTML的组合,能建立功能更为强大的动态界面。

对于一些只用来滚动正文和播放动画的Applet,我们能在一个企业级的应用程式中利用他来显示和处理来自服务器上的资源的数据。例如,一个Applet能用来浏览和修改数据库中的记录或控制运行在服务器上的其他应用程式。

Java applet除了能使用他自己定义的类文件外,还能使用其他的类,不管这些类是独立存在的还是被打包成了一个JAR文件。Applet和他的类文件通过标准的HTTP请求进行分布,所以Applet能越过web页面数据所在的平台的防火墙进行发送。

除非是涉及到保持应用程式完整性的问题,Applet总会在每次用户重新访问web主机时自动刷新并会在客户端保留一段时间。

我们得感谢Java操作系统的平台无关性,这才使得Applet能运行在所有拥有Java虚拟机(JVM)的浏览器上。Sun公司的Java插件甚至能使用能利用最新版本的JVM编制页面,而不用担心受你的用户的浏览器上的JVM的版本的限制。

因为Applet是Java平台的扩展,所以在你建立用Applet建立你的web应用程式的界面时,你能重用已存在的Java组件。

正如我们在下面的例子中能看到的那样,你能在你的Applet的组件中使用复杂的Java对象来研发本来由服务器端应用程式完成的工作。事实上,你能编写这样的Java代码,他既能在Applet上执行,也能在应用程式内执行。

Applet具有所有传统的Java应用程式的功能,包括使用Sun公司的JFC/Swing组件。Applets也能用来制作图像及应用程式中的用户界面(尽管有些辅助的窗口会被标志为“Warning, Java Applet Window”)。

不过不管他们有多么相似,在应用程式和Applet之间还是一些关键性的差别的。例如,我们不得不考虑到我们的Applet是受到安全模式的限制的。

Applet的安全约束

Applet代码来自于web主机并在最终用户的机器的浏览器中运行。有害的含有病毒的Applet可能会造成破坏性的效果,为了防止这样的Applet,Applet受到安全方面的约束,那就是Applet只能和提供这个Applet的主机进行通信,而且Applet不能操作最终用户的机器。

他们不能读写该用户的文件系统,不能执行上面的程式,也不能检查一些敏感的环境参数。(事实上,我们有一种方法能回避这种限制,那就是研发者能利用数字签名的技术对Applet进行标志,这将会询问用户是否能给予Applet某种特别的待遇。

不过这已超出我们这篇文章中所讨论的范围了。)此外,Applet不能建立或接受外来的socket连接。所谓外来的是指这个连接超出了提供这个Applet类文件的主机(不是提供引用这个Applet的HTML所在的主机)。

因为这个安全性的限制,我们和Applet的通信必须采用一种特别的策略。通信的唯一的途径就是在提供Applet的主机和提供相应的HTML的主机之前的网络连接。

Servlets Java servlet是服务器端的组件,他和CGI有非常多相似。他能处理web请求,并返回数据或HTML。Servlet能访问数据库,进行计算,并和Enterprise JavaBean这样的组件进行通信。

和CGI程式不同的是,Servlet是持久有效的,也就是说,他只要被示例一次就能不断地处理请求(这些请求非常可能是同时发生的)。因此,Servlet比CGI来得更高效。

Servlet运行在一个Servlet引擎中,通常是在一个web服务器或应用程式服务器上。Netscape Enterprise Server 4.0和Netscape Application Server都支持最新版本的Java servlet规范。

和Applet不同,Servlet不受安全约束的限制。因为Servlet是完全在服务器上运行的,他具有所有操作系统所允许的性能。

Servlet能用来非常方便地建立在Applet和Web浏览器这样的客户端和企业应用程式的核心之间的连接。对于客户端来说,向Servlet发出的请求和其他web请求并没有所有不同。客户端通过一个URL来接受返回的信息,正如我们看到的那样,返回的信息并不一定只能是HTML,实际上我们能通过HTML协议发送和接受所有类型的数据。

分享到:
评论

相关推荐

    J2EE企业应用之Applet和Servlet间的通信

    在J2EE企业级应用开发中,Applet和Servlet经常一起用于构建多层架构的Web应用程序。Applet利用Java的动态特性,提供丰富的用户界面,而Servlet则在服务器端处理业务逻辑和数据交互。根据Sun公司推荐的模型,前端使用...

    applet与servlet通讯

    Sun 的应用编程模型推荐在前端使用 Applet、HTML 和 JavaServer Pages(JSP),在后端使用 Java Servlet 配合 Enterprise JavaBeans (EJB) 或其他组件来开发企业级 Java 应用。这种架构的关键在于客户端 Applet 和...

    Java EE企业级应用架构

    Java EE企业级应用架构是用于构建大规模、复杂的企业级软件系统的框架,它提供了一整套标准和规范,旨在简化开发过程,提高可伸缩性和可维护性。Java EE(原名J2EE)自1990年代以来不断演进,从最初的1.2版本到现在...

    深入Java Servlet网络编程

    1. 2 企业级n-层应用 1. 3 典型Web应用程序的处理过程 1. 3. 1 Web浏览器发送请求 1. 3. 2 执行服务器端程序 1. 3. 3 将结果运回给浏览器 1. 4 服务器端技术 1. 4. 1 各种服务器端技术的比较 1. 4. 2 基于...

    jsp和servlet帮助文档

    它们在企业级应用开发中占据重要地位,因为它们能够提供高效、可扩展且易于维护的解决方案。** **JSP(JavaServer Pages)** 是一个Java技术,允许Web开发者创建动态网页。它结合了HTML代码和Java代码,使得开发者...

    10、聊天系统(java+applet).zip

    在JavaEE平台上,开发者可以构建可扩展、分布式的企业级应用程序,而Applet是Java的一个早期特性,它允许在Web浏览器中运行Java代码,为用户提供丰富的客户端交互体验。 【描述】中提到,这个系统是基于"Java+...

    Servlet和JSP技术简述(英文和翻译)

    Servlet和JSP技术是Web开发中的核心技术,常用于构建动态、交互式的Web应用程序。这篇文档由Gildas Avoine和Philippe Oechslin在EPFL(瑞士洛桑联邦理工学院)撰写,旨在概述这两种技术的基本概念和作用。 1.1 ...

    基于移动Agent的企业级数据挖掘应用模型研究.pdf

    此外,代码即需即取(COD)模式是分布式计算的另一模式,其特点包括Java中的applet和servlet。在这种模式下,客户端无需预装代码,可以从服务器下载远程服务的代码后在本地执行。这种模式为分布式应用系统的构建提供...

    servlet中文API

    通过掌握这些核心知识点,开发者可以更加高效地利用Java Servlet API构建复杂的企业级Web应用。此外,了解相关的Internet规范也有助于开发者更好地遵循标准,确保所开发的应用能够兼容各种网络环境和技术栈。

    吕老师servlet课件

    学习和掌握Servlet技术,对于理解Web服务器的工作原理以及进行企业级应用开发至关重要。通过深入理解Servlet的生命周期、HTTP协议以及Servlet的编程模型,开发者可以创建出高效、灵活且安全的Web服务。

    J2EE.rar_J2EE_j2ee applet

    J2EE(Java 2 Platform, Enterprise Edition)是Java平台的企业版,由Oracle公司提供,用于构建和部署分布式企业级应用程序。这个技术框架为开发人员提供了构建可扩展、高可用性、多层的服务器端应用的能力。J2EE的...

    聊天系统(java+applet)130227.rar

    标题中的“聊天系统(java+applet)130227.rar”表明这是一个基于Java技术和Applet的在线聊天系统的源代码压缩包,发布于2013年2月27日。Applet是Java的一种小程序,它可以在浏览器环境中运行,为用户提供交互式体验。...

    聊天系统(java+applet)

    它以其“一次编写,到处运行”的特性而闻名,适用于开发跨平台的桌面应用、网页应用、移动应用以及企业级系统。在本项目中,"聊天系统"是用Java语言构建的,它允许用户通过网络进行实时通信。 【Applet与Java聊天...

    J2EE企业级项目开发-3期(KC007) 1.1 j2ee.doc

    中间件,作为一种位于操作系统和应用程序之间的软件,提供了一种隔离机制,使得开发者无需关心底层操作系统细节,专注于应用功能的实现。 随着Java技术的发展,J2EE经历了多次命名变更,从J2EE到Java EE,强调了...

    J2EE技术在中国农业银行计算机审计系统中的应用.doc

    J2EE的历史可以追溯到Java Applet时代,随着Web技术的发展,Java Servlet和JSP(Java Server Pages)相继推出,进一步推动了企业级应用的开发。Servlet处理服务器端逻辑,而JSP则简化了表现层的开发。EJB...

    servlet技术

    3. **跨平台**:由于基于Java,Servlet可以在不同操作系统和应用服务器上运行。 4. **功能强大**:Servlet能直接与Web服务器交互,可以实现CGI难以完成的任务,如共享数据、数据库连接池等。 **6.1.4 Servlet的生命...

    j2ee用java applet实现聊天程序

    首先,我们要明白J2EE是一个为企业级应用提供服务的框架,包括Servlet、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)等组件。在这个聊天程序中,Java Applet将作为客户端的部分运行在用户的浏览器上,而...

    J2EE企业级项目开发-3期(KC007) 2.5 J2EE容器文档.doc

    Spring则是一个全面的企业级应用框架,它包含了IoC(依赖注入)和AOP(面向切面编程)等特性,可以替代EJB的部分功能。 **JMS(Java Message Service)**是Java平台上的一个标准,定义了如何在分布式环境中进行消息...

    javaee核心技术介绍

    在学习JavaEE时,了解以上技术的原理和应用对开发高效、稳定的企业级应用至关重要。JavaEE的核心技术不仅仅简化了应用的开发和部署过程,而且通过规范和标准促进了企业级应用平台的可扩展性、性能和跨平台互操作性。

Global site tag (gtag.js) - Google Analytics