JAVA和互联网外文翻译资料

 2022-08-23 03:08

JAVA and the Internet

If Java is, in fact, yet another computer programming language, you may question why it is so important and why it is being promoted as a revolutionary step in computer programming. The answer isnrsquo;t immediately obvious if yoursquo;re coming from a traditional programming perspective. Although Java is very useful for solving traditional stand-alone programming problems, it is also important because it will solve programming problems on the World Wide Web.

  1. Client-side programming

The Webrsquo;s initial server-browser design provided for interactive content, but the interactivity was completely provided by the server. The server produced static pages for the client browser, which would simply interpret and display them. Basic HTML contains simple mechanisms for data gathering: text-entry boxes, check boxes, radio boxes, lists and drop-down lists, as well as a button that can only be programmed to reset the data on the form or “submit” the data on the form back to the server. This submission passes through the Common Gateway Interface (CGI) provided on all Web servers. The text within the submission tells CGI what to do with it. The most common action is to run a program located on the server in a directory thatrsquo;s typically called “cgi-bin.” (If you watch the address window at the top of your browser when you push a button on a Web page, you can sometimes see “cgi-bin” within all the gobbledygook there.) These programs can be written in most languages. Perl is a common choice because it is designed for text manipulation and is interpreted, so it can be installed on any server regardless of processor or operating system.

Many powerful Web sites today are built strictly on CGI, and you can in fact do nearly anything with it. However, Web sites built on CGI programs can rapidly become overly complicated to maintain, and there is also the problem of be sent, as well as the load on both the server and the Internet. (On top of this, starting a CGI program tends to be slow.) The initial designers of the Web did not foresee how rapidly this bandwidth would be exhausted for the kinds of applications people developed. For example, any sort of dynamic graphing is nearly impossible to perform with consistency because a GIF file must be created and moved from the server to the client for each version of the graph. And yoursquo;ve no doubt had direct experience with something as simple as validating the data on an input form. You press the submit button on a page; the data is shipped back to the server; the server starts a CGI program that discovers an error, formats an HTML page informing you of the error, and then sends the page back to you; you must then back up a page and try again. Not only is this slow, itrsquo;s inelegant.

The solution is client-side programming. Most machines that run Web browsers are powerful engines capable of doing vast work, and with the original static HTML approach they are sitting there, just idly waiting for the server to dish up the next page. Client-side programming means that the Web browser is harnessed to do whatever work it can, and the result for the user is a much speedier and more interactive experience at your Web site.

The problem with discussions of client-side programming is that they arenrsquo;t very different from discussions of programming in general. The parameters are almost the same, but the platform is different: a Web browser is like a limited operating system. In the end, you must still program, and this accounts for the dizzying array of problems and solutions produced by client-side programming. The rest of this section provides an overview of the issues and approaches in client-side programming.

  1. Plug-ins

One of the most significant steps forward in client-side programming is the development of the plug-in. This is a way for a programmer to add new functionality to the browser by downloading a piece of code that plugs itself into perform this new activity.” (You need to download the plug-in only once.) Some fast and powerful behavior is added to browsers via plug-ins, but writing a plug-in is not a trivial task, and isnrsquo;t something yoursquo;d want to do as part of the process of building a particular site. The value of the plug-in for client-side programming is that it allows an expert programmer to develop a new language and add that language to a browser without the permission of the browser manufacturer. Thus, plug-ins provide a “back door” that allows the creation of new client-side programming languages (although not all languages are plug-ins)

  1. Scripting languages

Plug-ins resulted in an explosion of scripting languages. With a scripting language you embed the source code for your client-side program directly into the HTML page, and the plug-in that interprets that language is automatically activated while the HTML page is being displayed. Scripting languages tend to be reasonably easy to understand and, because they are simply text that is part of an HTML page, they load very quickly as part of the single server hit required to procure that page. The trade-off is that your code is exposed for everyone to see (and steal). Generally, however, you arenrsquo;t doing amazingly sophisticated things.

This points out that the scripting languages used inside Web browsers are really intended to solve specific types of problems, primarily the creation of richer and more interactive graphical user interfaces (GUIs). However, a scripting language might solve 80 percent of the problems encountered in client-side programming. Your problems might very well fit completely within that 80 percent, and since scripting languages can allow easier and faster development, you should probably consider a scripting language before looking .

The most commonly discussed browser scriptin

剩余内容已隐藏,支付完成后下载完整资料


JAVA和互联网

如果Java实际上是另一种计算机编程语言,你可能会质疑它为什么如此重要,为什么它被提升为计算机编程的一个革命性步骤。如果你从传统的编程角度来看,答案并不十分明显。尽管Java对于解决传统的独立编程问题非常有用,但它也很重要,因为它可以解决万维网上的编程问题。

  1. 客户端编程

Web的初始服务器浏览器设计为交互式内容提供,但交互完全由服务器提供。服务器为客户端浏览器生成静态页面,只需解释和显示它们即可。基本HTML包含简单的数据收集机制:文本输入框、复选框、收音机框、列表和下拉列表,以及一个按钮,该按钮只能编程以重置表单上的数据或将表单上的数据'提交'回服务器。此提交通过所有 Web 服务器上提供的通用网关接口 (CGI)。提交中的文本告诉 CGI 如何处理它。最常见的操作是运行位于服务器上的目录中的程序,该目录通常称为'cgi-bin'。(如果您在网页上按下按钮时查看浏览器顶部的地址窗口,有时可以看到'cgi-bin' 在所有的吞咽有。这些程序可以用大多数语言编写。Perl 是一个常见的选择,因为它专为文本操作而设计并经过解释,因此它可以安装在任何服务器上,而不管处理器或操作系统如何。

如今,许多功能强大的网站都严格地建立在 CGI 之上,实际上,您几乎可以使用它做任何事情。但是,基于 CGI 程序构建的网站可能迅速变得过于复杂,维护起来也存在发送问题以及服务器和 Internet 上的负载问题。(最重要的是,启动 CGI 程序往往很慢。Web 的初始设计者没有预见到这种带宽会以多快的速度耗尽,以用于人们开发的各种应用程序。例如,任何类型的动态图形几乎不可能一致地执行,因为必须为每个版本的图形创建 GIF 文件并从服务器移动到客户端。毫无疑问,您有直接的经验,例如验证输入表单上的数据。按下页面上的提交按钮;数据被运回服务器;服务器启动一个 CGI 程序,该程序发现错误,格式化 HTML 页面,通知您错误,然后将页面发回给您;然后必须备份一个页面,然后重试。不仅速度慢,而且不雅。

解决方案是客户端编程。大多数运行 Web 浏览器的计算机都是功能强大的引擎,能够执行大量工作,而使用原始的静态 HTML 方法,它们就坐在那里,只是无所事事地等待服务器打开下一页。客户端编程意味着 Web 浏览器被利用来执行它所能执行的任何工作,并且对用户来说,结果是在您的网站上获得更快、更具交互性的体验。

客户端编程的讨论问题在于,它们与一般编程的讨论没有很大区别。参数几乎相同,但平台不同:Web 浏览器就像有限的操作系统。最后,您仍必须编程,这说明了客户端编程产生的一系列令人眼花缭乱的问题和解决方案。本节的其余部分概述了客户端编程中的问题和方法。

  1. 插件

客户端编程中最重要的步骤之一是插件的开发。这是程序员通过下载一段代码来向浏览器添加新功能的方法,该代码可以自行插入o 执行此新活动。(您只需下载一次插件。一些快速而强大的行为通过插件添加到浏览器中,但编写插件并不是一项微不足道的任务,也不是在构建特定网站的过程中想要做的事情。客户端编程插件的价值是,它允许专家程序员开发一种新语言,并在没有浏览器制造商许可的情况下将该语言添加到浏览器中。因此,插件提供了一个'后门',允许创建新的客户端编程语言(尽管并非所有语言都是插件)。

  1. 脚本语言

插件导致脚本语言的爆炸式增加。使用脚本语言,您可以将客户端程序的源代码直接嵌入到 HTML 页中,并且解释该语言的插件会在显示 HTML 页面时自动激活。脚本语言往往相当容易理解,并且,因为它们只是 HTML 页面的一部分的文本,因此它们作为获取该页面所需的单个服务器命中的一部分加载得非常快。权衡是,您的代码被公开给每个人看到(和窃取)。然而,一般来说,你并没有做令人惊讶的复杂的事情。

这指出,Web 浏览器中使用的脚本语言实际上是为了解决特定类型的问题,主要是创建更丰富、更具交互性的图形用户界面 (GUI)。但是,脚本语言可以解决客户端编程中遇到的 80% 的问题。您的问题可能完全适合这 80%,并且由于脚本语言可以允许更轻松、更快速的开发,因此在查找 之前,您可能应该考虑使用脚本语言。

最常讨论的浏览器脚本语言是JavaScript(它与Java无关;它之所以这样命名只是为了抓住Java的一些营销势头),VBScript(看起来像VisualBasic),Tcl/Tk,它来自流行的跨平台GUI构建语言。

JavaScript可能是最常得到支持的。它内置于网景导航器和微软IE浏览器(IE)。此外,可用的 JavaScript 书籍可能比其他浏览器语言多,并且某些工具会使用 JavaScript 自动创建页面。但是,如果您已经精通 Visual Basic 或 Tcl/Tk,则使用这些脚本语言比学习新语言更有成效。(您已经完全处理了 Web 问题。

  1. Java

如果脚本语言可以解决 80% 的客户端编程问题,那么其他 20% 的编程问题又如何呢?目前最流行的解决方案是Java。它不仅是一种强大的编程语言,它构建为安全、跨平台和国际,而且 Java 正在不断扩展,以提供语言功能和库,优雅地处理传统编程语言中难以解决的问题,如多线程、数据库访问、网络编程和分布式计算。Java 允许客户端编程通过小程序。

小程序是一个小型程序,只能在 Web 浏览器下运行。小程序作为网页的一部分自动下载(例如,图形会自动下载)。当小程序被激活时,它会执行一个程序。这是其美的一部分 - 它为您提供了在用户需要客户端软件时从服务器自动分发客户端软件的方法,并且不会很快。用户获得最新版本的客户端软件没有失败,没有困难的重新安装。由于 Java 的设计方式,程序员只需要创建一个程序,该程序会自动与具有内置 Java 解释器的浏览器的所有计算机一起使用。(这安全地包括绝大多数机器。由于 Java 是一种成熟的编程语言,因此可以在发出服务器请求之前和之后对客户端执行尽可能多的工作。例如,您无需通过 Internet 发送请求表单即可发现日期或其他参数错误,并且客户端计算机可以快速执行绘制数据的工作,而不是等待服务器进行绘图并将图形图像寄回给您。您不仅可以立即获得速度和响应能力的胜利,而且可以减少服务器上的一般网络流量和负载,防止整个 Internet 减速。

Java 小程序比脚本程序具有的一个优点是它是编译格式的,因此客户端无法使用源代码。另一方面,Java小程序可以不费太多麻烦地进行退编译,但隐藏代码通常不是一个重要问题。另外两个因素可能很重要。正如您在本书后面看到的,一个编译的Java小程序可以包含许多模块,并需要多个服务器'命中'(访问)来下载。(在 Java 1.1 及更高版本中,Java 存档(称为 JAR 文件)将这种情况降至最低,这些存档允许将所有必需的模块打包在一起并压缩一次下载。脚本化程序将只是作为文本的一部分集成到网页中(通常较小,并减少服务器命中)。这对网站的响应能力可能很重要。另一个因素是最重要的学习曲线。不管你听到什么,Java并不是一个需要学习的琐碎语言。如果您是 Visual Basic 程序员,迁移到 VBScript 将是您最快的解决方案,而且它可能会解决大多数典型的客户端/服务器问题,因此您可能很难证明学习 Java 的合理性。如果你对脚本语言有经验,在提交Java之前,你肯定会从查看JavaScript或VBScript中获益,因为它们可能很轻松地满足您的需要,而且你会更高效地sooner.to运行它的小程序。

  1. Activex

在某种程度上,Java的竞争对手是微软的ActiveX,尽管它采用一种完全不同的方法。ActiveX 最初是仅 Windows 解决方案,尽管它现在正通过一个独立的联合体开发,以形成跨环境,但它可以放入网页并在支持 ActiveX 的浏览器下运行。(IE 直接支持 ActiveX,Netscape 使用插件支持 ActiveX。因此,ActiveX不会限制你使用特定的语言。例如,如果您已经是使用C 、Visual Basic 或 Borland Delphi 等语言的经验丰富的 Windows 程序员,则可以创建 ActiveX 组件,而您的编程知识几乎不发生任何更改。

  1. 安全

在互联网上自动下载和运行程序听起来像是病毒构建者的梦想。ActiveX在客户端编程中尤其提出了棘手的安全问题。如果单击某个网站,可以自动下载任意数量的内容以及 HTML 页面:GIF 文件、脚本代码、编译的 Java 代码和 ActiveX 组件。其中一些是良性的;GIF 文件不会造成任何伤害,脚本语言通常受限于它们所能执行的功能。Java 还设计为在安全的'沙盒'内运行其小程序,防止它写入磁盘或访问沙盒外的内存。

ActiveX 位于频谱的另一端。使用 ActiveX 编程就像编程 Windows 一样,您可以执行任何所需的操作。因此,如果单击下载 ActiveX 组件的页面,该组件可能会损坏磁盘上的文件。当然,您加载到您的计算机上的程序不限于在 Web 浏览器中运行,也可以执行相同的操作。从公告板系统 (BBS) 下载的病毒具有

解决方案似乎是'数字签名',通过验证代码以显示作者是谁。这是基于一个想法,即病毒之所以有效,是因为它的创建者可以是匿名的,因此,如果您删除匿名人员,将被迫对其行为负责。这似乎是一个不错的计划,因为它允许程序功能更加强大,我怀疑它会消除恶意的恶作剧。

Java 方法是通过沙盒防止这些问题的发生。当小程序被加载时,位于本地 Web 浏览器上的 Java 解释器会检查小程序是否有任何不及用的指令。特别是,小程序不能将文件写入磁盘或擦除文件(病毒的支柱之一)。小程序通常被认为是安全的,由于这对可靠的客户端/服务器系统至关重要,因此可以快速修复 Java 语言中允许病毒的任何错误。(值得注意的是,浏览器软件实际上强制实施这些安全限制,某些浏览器允许您选择不同的安全级别,以提供对系统的不同访问级别。

您可能对禁止将文件写入本地磁盘的这种相当严厉的限制持怀疑态度。例如,您可能希望构建本地数据库或保存数据以供以后脱机使用。最初的设想似乎是,最终每个人都会上网做任何重要的事情,但很快就被视为不切实际(尽管低成本的'互联网设备'也许有一天能满足相当一部分用户的需求)。解决方案是使用公钥加密来验证小程序确实来自它声称它确实来自何处的'签名小程序'。签名的小程序仍然可以破坏你的磁盘,但理论是,既然你现在可以追究小程序创建者的责任,他们就不会做坏事。Java 提供了一个数字签名框架,以便您最终能够在必要时允许小程序跳出沙盒。

数字签名忽略了一个重要问题,那就是人们在互联网上移动的速度。如果你下载一个错误程序,它做了一些不作为的事情,多久之前,你发现损害?可能是几天甚至几周。到那时,您将如何跟踪已完成的程序?那对你有什么用呢?

7.互联网 vs.内联网

Web 是客户端/服务器问题的最一般解决方案,因此,您可以使用相同的技术来解决问题的子集,尤其是公司内的经典客户端/服务器问题,这是有道理的。使用客户端/服务器方法时,您有多种类型的客户端计算机的问题,以及安装新客户端软件的困难,这两种软件都通过 Web 浏览器和客户端编程轻松解决。当 Web 技术用于仅限于特定公司的信息网络时,它被称为 Intranet。内联网比 Internet 具有更高的安全性,因为您可以物理控制对公司内服务器的访问。在培训方面,似乎一旦人们理解了浏览器的一般概念,他们更容易处理页面和小程序外观上的差异,因此新系统的学习曲线似乎减少了。

安全问题将我们带入了似乎在客户端编程世界中自动形成的部门之一。如果你的程序在互联网上运行,你不知道它将在什么平台上工作,你想格外小心,不要传播错误代码。您需要一些跨平台和安全的东西,如脚本语言或 Java。

如果在 Intranet 上运行,则可能具有一组不同的约束。您的计算机可能都是英特尔/Windows 平台,这种情况并不少见。在 Intranet 上,您负责自己的代码质量,并在发现 Bug 时对其进行修复。此外,您可能已经拥有了在更传统的客户端/服务器方法中使用的旧代码,即每次执行升级时都必须实际安装客户端程序。安装升级所浪费的时间是迁移到浏览器的最令人信服的原因,因为升级是不可见的和自动的。如果您参与这样的 Intranet,最明智的方法是使用最短路径,允许您使用现有的代码库,而不是尝试用新语言重新编码程序。

当面对客户端编程问题的一系列令人困惑的解决方案时,最好的攻击计划是成本效益分析。考虑问题的约束,以及解决问题的最短路径是什么。由于客户端编程仍然是编程,因此,对于不可避免的遇到程序开发问题,这始终是一种积极的姿态。

8.服务器端编程

整个讨论忽略了服务器端编程的问题。当您请求服务器时会发生什么情况?大多数时候,请求只是'向我发送此文件'。然后,您的浏览器会以某种适当的方式解释文件:作为 HTML 页面、图形图像、Java 小程序、脚本程序等。对服务器的更复杂的请求通常涉及数据库事务。常见方案涉及对复杂数据库搜索的请求,然后服务器将该请求格式化为 HTML 页面,然后作为结果发送给您。(当然,如果客户端通过 Java 或脚本语言具有更多智能,则可以在客户端发送原始数据并设置格式,这将在服务器上更快、更少负载。或者,当您加入组或下订单时,您可能希望在数据库中注册您的姓

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[237776],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。