企业级应用中的Applet和Servlet的通信-Java基础-Java-编程开发

【网络原理】HTTP 请求 (Request)详解 【网络原理】HTTP 请求 (Request)详解,认识URLquery string关于 URL encode, GET方法,POST 方法,GET 和 POST 的区别,User-Agent (简称 UA),Referer,Cookie 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

在今天的多层结构的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协议发送和接受任何类型的数据。

[1] [2] [3]

ADS2020与SystemVue2020Update1.0同机安装避坑指南:解决License冲突,实现EVM联合仿真 本文详细介绍了ADS2020与SystemVue2020 Update1.0同机安装的完整解决方案,重点解决License冲突问题,实现EVM联合仿真。通过合理的安装顺序、路径规划和License服务配置,确保两款EDA工具和谐共存,为射频与微波电路设计提供高效仿真环境。 阅读详情

相关推荐

移远EC20模块USB模式切换的底层逻辑与驱动适配探秘

本文深入探讨了移远EC20模块USB模式切换的底层逻辑与驱动适配机制,详细解析了AT命令控制下的USB0与WWAN0模式差异。通过分析USB协议栈、内核驱动框架及网络子系统的交互,提供了模式切换的完整操作流程和常见问题解决方案,助力开发者优化4G通信模块在嵌入式设备中的稳定连接。

cc789的博客 845

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

在今天的多层结构的web应用程序的设计中,我们可以同时使用Java applet和Servlet。Applet为建立功能强大的动态界面提供了便利的机制,Servlet为web服务器或者其他应用服务器处理请求提供了高效率的手段。Sun公司的应用程序模型描述了在Java 2平台下开发企业级的Java应用的最好的规范。一种被推荐的规范是:在前端使用Applet、HTML和JSP,在后端使用Enterpr

简简单单,平平淡淡 2126

ubuntu18.04安装gtsam过程及报错error: invalid initialization of reference of type ‘const std::vector<bool>&’

这里建议从这个链接下,不要从官网下,可能会有版本冲突 2.安装依赖 3.编译 报错: 1. error: invalid initialization of reference of type ‘const std::vector&’ from expression of type ‘const std::vector’ 124 | const std::vector& mask() const { retur...

qq_35102059的博客 2912

Servlet与Applet交互

在今天的多层结构的web应用程序的设计中,我们可以同时使用Java applet和Servlet。Applet为建立功能强大的动态界面提供了便利的机制,Servlet为web服务器或者其他应用服务器处理请求提供了高效率的手段。Sun公司的应用程序模型描述了在Java 2平台下开发企业级的Java应用的最好的规范。一种被推荐的规范是:在前端使用Applet、HTML和JSP,在后端使用Enterpr

1577

Rapid SCADA MQTT

一、配置RapidSCADA 1、准备KpMqtt.dll、Jint.dll库文件,从网盘下载。 2、将以上两个文件拷贝到SCADA安装目录的Comm/KP目录下,如下: C:\SCADA\ScadaComm\KP 3、新建SCADA项目 4、新建Line 5、新建Device 6、拷贝Config目录下的KpMqtt_001.xml文件、KpMqtt_Job.js文件到项目Comm\Config下,如下示例链接 C:\SCADA\Projects\MQTTProject\Instances\Defau

mumanquan1的博客 3007

用74LS194和555定时器DIY流水灯:一个经典的数字电路课程设计复盘(附Multisim仿真文件)

本文详细介绍了使用74LS194移位寄存器和555定时器搭建八路彩灯控制器的完整过程,包括硬件选型、电路设计、调试技巧及常见问题解决方案。作为经典的数字电路课程设计,该项目涵盖了EDA工具应用、电路原理图设计和Multisim仿真等核心技能,适合电子工程学习者实践参考。

weixin_29185199的博客 428

J2EE企业应用:Applet和Servlet的通信

<br />在今天的多层结构的web应用程序的设计中,我们可以同时使用Java applet和Servlet。Applet为建立功能强大的动态界面提供了便利的机制,Servlet为web服务器或者其他应用服务器处理请求提供了高效率的手段。 <br />Sun公司的应用程序模型描述了在Java2平台下开发企业级的Java应用的最好的规范。一种被推荐的规范是:在前端使用Applet、HTML和JSP,在后端使用Enterprise JavaBeans支持的Servlet及其他成分。 <br />这种体系结构的关

gyflyx的专栏 1483

ORCAD 层次化原理图使用TCL获取位号的方法

orcad tcl 获取occurrence位号的方法。

m0_46675718的博客 1133

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

HTTP对象流你也许还没有意识到HTTP连接也能用来传输二进制的数据,就象传输文本数据相同,不过事实上每次你从一个web看到图象时或是下载.zip文件时都在使用这个功能。我们能利用这个功能并结合被称之为“对象序列”的技术从Servlet向Applet传输完整的Java对象。复杂的数据能非常容易地被传输,你不必做所有解析和解释。对象序列允许我们将对象封装到二进制数据流,他能到达一个OutputStr...

mxdxm8899的专栏 136

拯救者R9000P-2021-AMD5800H黑苹果EFI配置与优化指南

本文详细介绍了在联想拯救者R9000P 2021款(搭载AMD锐龙7 5800H处理器)上安装和优化黑苹果系统的完整指南。内容涵盖EFI配置、OpenCore引导设置、关键驱动(如NootedRed核显驱动)的调整,以及安装后的性能调优与常见问题解决,旨在帮助开发者和极客用户在这款游戏本上搭建稳定可用的macOS开发环境。

weixin_29291069的博客 289

USB驱动(URB)

本文介绍了Linux内核中USB驱动开发的核心概念URB(USB Request Block)。URB是主机与USB设备间传输数据的抽象结构体,包含目标设备、端点信息、数据缓冲区等关键字段。文章详细解析了URB的生命周期(分配、填充、提交、回调、释放)、四种传输类型(控制、批量、中断、等时)及其应用场景,并提供了鼠标设备的中断传输示例代码。最后强调了URB使用注意事项,包括DMA缓冲区分配、错误处理和资源释放等。URB作为USB驱动与内核通信的桥梁,是构建稳定USB驱动程序的基础。

m0_49476241的博客 915

[转载]企业级应用中的Applet和Servlet的通信

企业级应用中的Applet和Servlet的通信在今天的多层结构的web应用程序的设计中,我们可以同时使用Java applet和Servlet。Applet为建立功能强大的动态界面提供了便利的机制,Servlet为web服务器...

congji3817的博客 172

2026年佰维存储数字IC笔试试卷带答案

建立时间是有效时钟沿到来前,输入数据必须稳定保持的最短时间。保持时间是有效时钟沿到来后,输入数据必须继续稳定保持的最短时间。

Open 104

Applet编程——Applet与Servlet通信(转载)

本文原址 : http://fanqiang.chinaunix.net/program/other/2006-07-14/4843.shtml Applet编程——Applet与Servlet通信来源:不详 (2006-07-14 11:52:58)在今天的多层结构的web应用程序的设计中,我们可以同时使用Java applet和S

【大漠孤烟】 的专栏 800

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Applet编程——Applet与Servlet通信

 Applet编程——Applet与Servlet通信来源:不详 (2006-07-14 11:52:58)在今天的多层结构的web应用程序的设计中,我们可以同时使用Java applet和Servlet。Applet为建立功能强大的动态界面提供了便利的机制,Servlet为web服务器或者其他应用服务器处理请求提供了高效率的手段。Sun公司的应用程序模

java交流平台 528

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

企业级Applet开发

在今天的多层结构的web应用程序的设计中,我们可以同时使用Java applet和Servlet。Applet为建立功能强大的动态界面提供了便利的机制,Servlet为web服务器或者其他应用服务器处理请求提供了高效率的手段。Sun公司的应用程序模型描述了在Java2平台下开发企业级的Java应用的最好的规范。一种被推荐的规范是:在前端使用Applet、HTML和JSP,在后端使用Enterpri

827

Applet与Servlet通信

在今天的多层结构的web应用程序的设计中,我们可以同时使用Java applet和Servlet。Applet为建立功能强大的动态界面提供了便利的机制,Servlet为web服务器或者其他应用服务器处理请求提供了高效率的手段。Sun公司的应用程序模型描述了在Java 2平台下开发企业级的Java应用的最好的规范。一种被推荐的规范是:在前端使用Applet、HTML和JSP,在后端使用Enterpr...

快乐天使 173

Applet与Servlet通信问题

在今天的多层结构的web应用程序的设计中,我们可以同时使用Java applet和Servlet。Applet为建立功能强大的动态界面提供了便利的机制,Servlet为web服务器或者其他应用服务器处理请求提供了高效率的手段。Sun公司的应用程序模型描述了在Java 2平台下开发企业级的Java应用的最好的规范。一种被推荐的规范是:在前端使用Applet、HTML和JSP,在后端使用Enterpr...

hu00848的专栏 205
上一篇: 用Java实现FTP服务器-Java基础-Java-编程开发
下一篇: java文件操作大全-Java基础-Java-编程开发
java169
博客等级 码龄18年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值