J2EE企业操纵之Applet和Servlet的通信[Java编程]
本文“J2EE企业操纵之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的通信[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |