|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,netBeans等等,但是我认为如果java想超越.net,那么他首先要解决的就是IDE工具的整合。
在明天的多层布局的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的简介
AppletJavaapplets实践上是运转在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使用程序的界面时,你能够重用已存在的Java组件。
正如我们鄙人面的例子中能够看到的那样,你能够在你的Applet的组件中利用庞大的Java对象来开辟原本由服务器端使用程序完成的事情。现实上,你能够编写如许的Java代码,它既能够在Applet上实行,也能够在使用程序内实行。
Applet具有一切传统的Java使用程序的功效,包含利用Sun公司的JFC/Swing组件。Applets也能够用来制造图形和使用程序中的用户界面(只管有些帮助的窗口会被标记为“Warning,JavaAppletWindow”)。
可是不论他们有何等类似,在使用程序和Applet之间仍是一些关头性的不同的。比方,我们不能不思索到我们的Applet是遭到平安形式的限定的。
Applet的平安束缚
Applet代码来自于web主机并在终极用户的呆板的扫瞄器中运转。无害的含有病毒的Applet大概会形成损坏性的效果,为了避免如许的Applet,Applet遭到平安方面的束缚,那就是Applet只能够与供应这个Applet的主机举行通讯,并且Applet不克不及操纵终极用户的呆板。
它们不克不及读写该用户的文件体系,不克不及实行下面的程序,也不克不及反省一些敏感的情况参数。(现实上,我们有一种办法能够躲避这类限定,那就是开辟者能够使用数字署名的手艺对Applet举行标记,这将会扣问用户是不是能够赐与Applet某种特别的报酬。
可是这已超越我们这篇文章中所会商的局限了。)别的,Applet不克不及创建或承受外来的socket毗连。所谓外来的是指这个毗连超越了供应这个Applet类文件的主机(不是供应援用这个Applet的HTML地点的主机)。
由于这个平安性的限定,我们与Applet的通讯必需接纳一种特别的战略。通讯的独一的路子就是在供应Applet的主机和供应响应的HTML的主机之前的收集毗连。
ServletsJavaservlet是服务器真个组件,它和CGI有良多类似。它能够处置web哀求,并前往数据或HTML。Servlet能够会见数据库,举行盘算,并和EnterpriseJavaBean如许的组件举行通讯。
与CGI程序分歧的是,Servlet是耐久无效的,也就是说,它只需被示例一次就能够不休地处置哀求(这些哀求极可能是同时产生的)。因而,Servlet比CGI来得更高效。
Servlet运转在一个Servlet引擎中,一般是在一个web服务器或使用程序服务器上。NetscapeEnterpriseServer4.0和NetscapeApplicationServer都撑持最新版本的Javaservlet标准。
和Applet分歧,Servlet不受平安束缚的限定。由于Servlet是完整在服务器上运转的,它具有一切操纵体系所同意的功能。
Servlet能够用来很便利地创建在Applet和Web扫瞄器如许的客户端和企业使用程序的中心之间的毗连。关于客户端来讲,向Servlet收回的哀求与其他web哀求并没有任何分歧。客户端经由过程一个URL来承受前往的信息,正如我们看到的那样,前往的信息其实不必定只能是HTML,实践上我们能够经由过程HTML协定发送和承受任何范例的数据。
<p>
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的 |
|