用户名: 密码: 免费注册 忘记密码? 加入收藏 | 设为首页
企业级应用中的Applet和Servlet的通信
学院首页 | 资讯中心 | 服务器软件 | 系统工具 | 系统软件 | 办公软件 | 聊天软件 | 多 媒 体 | 网页制作 | 网站运营 | 平面设计
艺术欣赏 | 数据库软件 | 程序开发 | 网络组建 | 源码下载 | 驱动下载 | 软件下载 | 电脑安全 | IT创业 | IT博客 | IT社区
硬件数码导航 | 硬件频道 | 本本频道 | MP3频道 | 相机频道 | 手机频道 | 显卡频道 | LCD 频道 | 音箱音频 | 行情 | 评测 | 导购
学院专题 软件 - 系统 - 办公 - 聊天 - 多媒体 - 网页制作 - IT创业 - 运营 - 平面 - 设计欣赏 - 数据库 - 程序 - 服务器 - 组网

 当前位置: 首页>>技术频道>>程序>>JAVA教程>>正文

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

日期:2006-9-15 4:23:43     来源:JR   编辑:   

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

gigi_miao
  ▼ 下一篇新闻 java文件操作大全
  ▲ 上一篇新闻 操纵java数组        网友发表观点请进入=>



我要纠错】【进入论坛交流】【关闭此页

文章搜索
   
最新文章

 
·千名爱好者参与首届PHP调查
·腾讯称QQ通讯信息密钥加密 不会被
·雅虎反超Google排名搜索第二
·中搜等十余家IT企业因流氓软件被
·盛大前员工克隆网游装备获暴利被
·凤凰网将向迅雷提供娱乐及宽带内
·信产部出手规范 新浪式企业法律架
·雅虎中国称旗下软件早已没有流氓
·中搜停止划词搜索与流氓软件决裂

广告赞助
相关文章 相关教程下载
焦点信息
·腾讯称QQ通讯信息密钥加密 不会被监听
·信产部出手规范 新浪式企业法律架构不得不改
·盛大前员工克隆网游装备获暴利被追刑责
·凤凰网将向迅雷提供娱乐及宽带内容
·雅虎中国称旗下软件早已没有流氓问题
·雅虎反超Google排名搜索第二
网友评论:(评论内容只代表网友观点,与本站立场无关!)
发表评论     Hard168社区推荐帖子
姓 名: *
* 请网友遵纪守法并注意语言文明。
IT人物推荐

王江民
马云
柳传志



关于本站    联络方式    广告服务    意见信箱    加入收藏   设为首页    -
本站部分内容来自网上,如有侵权部分,敬请告知,我们会在24小时内给予处理
版权所有:Hard168.Com,如需转载文章请与我们取得联系
京ICP备05063857号 Designed by Hard168.Com
企业级应用中的Applet和Servlet的通信