1、大连交通大学 2011 届本科生毕业设计(论文)外文翻译1THE TECHNIQUE DEVELOPMENT HISTORY OF JSPBy:Kathy Sierra and Bert BatesSource: ServletPHP3 PHP4.In the JSP norm book, did not request the procedure in the JSP code part( be called the Scriptlet) and must write with the Java definitely. Actually, have some engines of JSP a
2、re adoptive other script languages such as the EMAC- Script, etc., but actually this a few script languages also are to set up on the Java, edit and translate for the Servlet to carry out of. Write according to the norm of JSP, have no Scriptlet of relation with Java also is can of, however, mainly
3、lie in the ability and JavaBeans, the Enterprise JavaBeanses because of the JSP strong function to work together, so even is the Scriptlet part not to use the Java, edit and translate of performance code also should is related with Java.大连交通大学 2011 届本科生毕业设计(论文)外文翻译51.4JSP MECHANISMTo comprehend the
4、JSP how unite the technical advantage that above various speak of, come to carry out various result easily, the customer must understand the differentiation of“ the module develops for the web page of the center“ and“ the page develops for the web page of the center“ first. The SSJS and ASP are all
5、in several year ago to release, the network of that time is still very young, no one knows to still have in addition to making all business, datas and the expression logic enter the original web page entirely heap what better solve the method. This kind of model that take page as the center studies
6、and gets the very fast development easily. However, along with change of time, the people know that this kind of method is unwell in set up large, the Web that can upgrade applies the procedure. The expression logic write in the script environment was lock in the page, only passing to shear to slice
7、 and glue to stick then can drive heavy use. Express the logic to usually mix together with business and the data logics, when this makes be the procedure member to try to change an external appearance that applies the procedure but do not want to break with its llied business logic, apply the proce
8、dure of maintenance be like to walk the similar difficulty on the eggshell. In fact in the business enterprise, heavy use the application of the module already through very mature, no one would like to rewrite those logics for their applied procedure.HTML and sketch the designer handed over to the i
9、mplement work of their design the Web plait the one who write, make they have to double work- Usually is the handicraft plait to write, because have no fit tool and can carry the script and the HTML contents knot to the server to put together. Chien but speech, apply the complexity of the procedure
10、along with the Web to promote continuously, the development method that take page as the center limits sex to become to get up obviously. At the same time, the people always at look for the better method of build up the Web application procedure, the module spreads in customers machine/ server the r
11、ealm. JavaBeans and ActiveX were published the company to expand to apply the procedure developer for Java and Windows to use to come to develop the complicated procedure quickly by“ the fast application procedure development“( RAD) tool. These techniques make the expert in the some realm be able to
12、 write the module for the perpendicular application plait in the skill area, but the developer can go fetch the usage directly but need not control the expertise of this realm.Be a kind of take module as the central development terrace, the JSP appeared. It with the JavaBeans and Enterprise JavaBean
13、s( EJB) module includes the model of the 大连交通大学 2011 届本科生毕业设计(论文)外文翻译6business and the data logic for foundation, provide a great deal of label and a script terraces to use to come to show in the HTML page from the contents of JavaBeans creation or send a present in return. Because of the property t
14、hat regards the module as the center of the JSP, it can drive Java and not the developer of Java uses equally. Not the developer of Java can pass the JSP label( Tags) to use the JavaBeans that the deluxe developer of Java establish. The developer of Java not only can establish and use the JavaBeans,
15、 but also can use the language of Java to come to control more accurately in the JSP page according to the expression logic of the first floor JavaBeans. See now how JSP is handle claim of HTTP. In basic claim model, a claim directly was send to JSP page in. The code of JSP controls to carry on hour
16、 of the logic processing and module of JavaBeanses hand over with each other, and the manifestation result in dynamic state bornly, mixing with the HTML page of the static state HTML code. The Beans can be JavaBeans or module of EJBs. Moreover, the more complicated claim model can see make from is r
17、equest other JSP pages of the page call sign or Java Servlets.The engine of JSP wants to chase the code of Java that the label of JSP, code of Java in the JSP page even all converts into the big piece together with the static state HTML contents actually. These codes piece was organized the Java Ser
18、vlet that customer can not see to go to by the engine of JSP, then the Servlet edits and translate them automatically byte code of Java.Thus, the visitant that is the website requests a JSP page, under the condition of it is not knowing, an already born, the Servlet actual full general that prepared
19、 to edit and translate completes all works, very concealment but again and efficiently. The Servlet is to edit and translate of, so the code of JSP in the web page does not need when the every time requests that page is explain. The engine of JSP need to be edit and translate after Servlet the code
20、end is modify only once, then this Servlet that editted and translate can be carry out. The in view of the fact JSP engine auto is born to edit and translate the Servlet also, need not procedure member begins to edit and translate the code, so the JSP can bring vivid sex that function and fast devel
21、opments need that you are efficiently.Compared with the traditional CGI, the JSP has the equal advantage. First, on the speed, the traditional procedure of CGI needs to use the standard importation of the system to output the equipments to carry out the dynamic state web page born, but the JSP is di
22、rect is mutually the connection with server. And say for the CGI, each 大连交通大学 2011 届本科生毕业设计(论文)外文翻译7interview needs to add to add a progress to handle, the progress build up and destroy by burning constantly and will be a not small burden for calculator of be the server of Web. The next in order, th
23、e JSP is specialized to develop but design for the Web of, its purpose is for building up according to the Web applied procedure, included the norm and the tool of a the whole set. Use the technique of JSP can combine a lot of JSP pages to become a Web application procedure very expediently.JSP的技术发展
24、历史作者: Kathy Sierra and Bert Bates来源: Servlet&JSPJava Server Pages(JSP)是一种基于 web的脚本编程技术,类似于网景公司的服务器端 Java脚本语言 server-side JavaScript(SSJS)和微软的 Active Server Pages(ASP)。与 SSJS和ASP相比,JSP 具有更好的可扩展性,并且它不专属于任何一家厂商或某一特定的 Web服务器。尽管 JSP规范是由 Sun公司制定的,但任何厂商都可以在自己的系统上实现 JSP。 在 Sun正式发布 JSP(Java Server Pages)之后,这
25、种新的 Web应用开发技术很快引起了人们的关注。JSP 为创建高度动态的 Web应用提供了一个独特的开发环境。按照 Sun的说法,JSP 能够适应市场上包括 Apache WebServer、IIS4.0 在内的 85%的服务器产品。本文将介绍 JSP相关的知识,以及 JavaBean的相关内容,当然都是比较粗略的介绍其中的基本内容,仅仅起到抛砖引玉的作用,如果读者需要更详细的信息,请参考相应的 JSP的书籍。1.1 概述JSP(Java Server Pages)是由 Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而特别的功
26、能。JSP 与 Microsoft的 ASP技术非常相似。两者都提供在 HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。下面我们简单的对它进行介绍。JSP页面最终会转换成 servlet。因而,从根本上,JSP 页面能够执行的任何任务都可以用servlet来完成。然而,这种底层的等同性并不意味着 servlet和 JSP页面对于所有的情况都等同适用。问题不在于技术的能力,而是二者在便利性、生产率和可维护性上的不同。毕竟,在特定平台上能够用 Java编程语言完成的事情,同样可以用汇编语言来完成,但是选择哪种语言依旧十分重要。和单独使用 servlet相比,JSP 提供下述好处:
27、JSP中 HTML的编写与维护更为简单。JSP 中可以使用常规的 HTML:没有额外的反斜杠,没有额外的双引号,也没有暗含的 Java语法。能够使用标准的网站开发工具。即使是那些对 JSP一无所知的 HTML工具,我们也可以使用,因为它们会忽略 JSP标签(JSP tags)。可以对开发团队进行划分。Java 程序员可以致力于动态代码。Web 开发人员可以将经理集中在大连交通大学 2011 届本科生毕业设计(论文)外文翻译8表示层(presentation layer)上。对于大型的项目,这种划分极为重要。依据开发团队的大小,及项目的复杂程度,可以对静态 HTML和动态内容进行弱分离(weak
28、er separation)和强分离(stronger separation)。此处的讨论并不是说人们应该放弃使用 servlet而仅仅使用 JSP。事实上,几乎所有的项目都会同时用到这两种技术。在某些项目中,更适宜选用 servlet,而针对项目中的某些请求,我们可能会在 MVC构架下组合使用这两项技术。我们总是希望用适当的工具完成相对应的工作,仅仅是servlet并不一定能够胜任所有工作。1.2 JSP的由来Sun公司的 JSP技术,使 Web页面开发人员可以使用 HTML或者 XML标识来设计和格式化最终页面。使用 JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的)。J
29、ava Servlet是 JSP技术的基础,而且大型的 Web应用程序的开发需要 Java Servlet和 JSP配合才能完成,Servlet 这个名称源于 Applet,现在国内的翻译方式很多,本书为了避免误会,决定直接采用 Servlet而不做任何翻译,读者如果愿意,可以称之为“小服务程序” 。Servlet 其实和传统的 CGI、ISAPI、NSAPI 等 Web程序开发工具的作用是相似的,在使用 Java Servlet以后,用户不必再使用效率低下的 CGI方式,也不必使用只能在某个固定 Web服务器平台运行的 API方式来动态生成 Web页面。许多 Web服务器都支持 Servle
30、t,即使不直接支持 Servlet的 Web服务器也可以通过附加的应用服务器和模块来支持 Servlet。得益于 Java的跨平台的特性,Servlet 也是平台无关的,实际上,只要符合 Java Servlet规范,Servlet 是完全与平台无关且是与 Web服务器无关的。由于 Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此 Java Servlet效率非常高。但 Java Servlet也不是没有缺点,和传统的 CGI、ISAPI、NSAPI 方式相同,Java Servlet 是利用输出 HTML语句来实
31、现动态网页的,如果用 Java Servlet来开发整个网站,动态部分和静态页面的整合过程会非常难以实现。为了解决 Java Servlet的这种缺点,SUN 推出了 JSP。许多年前,Marty 受到邀请,参加一个有关软件技术的小型研讨会.坐在 Marty旁边的人是James Gosling- Java编程语言的发明者。隔几个位置,是来自华盛顿一家大型软件公司的高级经理。在讨论过程中,研讨会的主席提出了 Jini的议题,这在当时是一项新的 Java技术。主席向该经理询问他的想法.他回答说,虽然现在言之过早,但这看起来会是非常有前途的一项技术。他们会持续关注这项技术,如果这项技术变得流行起来,
32、他们会遵循公司的“接受并扩充(embrace and extend)”的策略.此时, Gosling 随意地插话说“你的意思其实就是不接受且不扩充(disgrace and distend)。”在此, Gosling 的抱怨显示出,他感到这个公司会从其他公司那里拿走技术,用于他们自己的目的.出人意料的是,形势已经完全不同。Java 团队并没有发明这一思想-将页面设计成由静态HTML和用特殊标签标记的动态代码混合组成.。ColdFusion 多年前就已经这样做了。甚至 ASP(来自于前述经理所在公司的一项产品)都在 JSP出现之前推广了这种方式。实际上,JSP 不只采用了这种通用概念,它甚至使用
33、许多和 ASP相同的特殊标签。大连交通大学 2011 届本科生毕业设计(论文)外文翻译9JSP是建立在 Java servlets模型之上的表达层技术,它使编写 HTML变得更简单。像 SSJS一样,它也允许你将静态 HTML内容与服务器端脚本混合起来生成动态输出。JSP 把 Java作为默认的脚本语言,然而,就像 ASP可以使用其他语言(如 JavaScript和 VBScript)一样,JSP 规范也允许使用其他语言。1.3 JSP的特点按 照 脚 本 语 言 是 服 务 于 某 一 个 子 系 统 的 语 言 这 种 论 述 , JSP 应 当 被 看 作 是 一 种 脚 本 语 言 。
34、 然而 , 作 为 一 种 脚 本 语 言 , JSP 又 显 得 过 于 强 大 了 , 在 JSP 中 几 乎 可 以 使 用 全 部 的 Java 类 。作为一种基于文本的、以显示为中心的开发技术,JSP 提供了 Java Servlet的所有好处,并且,当与一个 JavaBeans类结合在一起时,JSP 提供了一种使内容和显示逻辑分开的简单方式。分开内容和显示逻辑的好处是,更新页面外观的人员不必懂得 Java代码,而更新 JavaBeans类的人员也不必是设计网页的行家里手,就可以用带 JavaBeans类的 JSP页面来定义 Web模板,以建立一个由具有相似的外观的页面组成的网站。J
35、avaBeans 类完成数据提供,这样在模板中就没有 Java代码,这意味着这些模板可以由一个 HTML编写人员来维护。当然,也可以利用 Java Servlet来控制网站的逻辑,通过 Java Servlet调用 JSP文件的方式来将网站的逻辑和内容分离。一般来说,在实际的 JSP引擎中,JSP 页面在执行时是编译式,而不是解释式的。解释式的动态网页开发工具如 ASP、PHP3 等由于速度等原因已经满足不了当前大型电子商务应用的需要了,传统的开发技术都在向编译执行的方式改变,如 ASPASP+;PHP3PHP4。在 JSP规范书中,并没有明确要求 JSP中的程序代码部分(称为 Scriptl
36、et)一定要用 Java来写。实际上,有一些 JSP引擎就是采用的其他脚本语言,如 EMAC-Script、WebL 等,但实际上这几种脚本语言也是构建在 Java上面,编译为 Servlet来实现的。按照 JSP规范书写,和 Java没有任何关系的 Scriptlet也是可以的,不过,由于 JSP的强大功能主要在于能和JavaBeans、Enterprise JavaBeans 共同运转,所以即使是 Scriptlet部分不使用 Java,编译成的执行代码也应该是与 Java相关的。1.4 JSP的机制要理解 JSP怎样联合以上各种所提到的技术的优点,从而轻而易举地实现各种效果,用户必须首先
37、了解“组件为中心的网页开发”和“页面为中心的网页开发”的区别。 SSJS和 ASP都是在几年前推出的,那时网络还很年轻,没有人知道除了把所有的商务、数据和表达逻辑统统堆进原始网页中之外还有什么更好的解决方法。这种以页面为中心的模型容易学习并且得到相当快速的发展。然而,随着时间的推移,人们认识到这种方法不适于构建大型的、可升级的 Web应用程序。在脚本环境中书写的表达逻辑被锁在页面内,只有通过剪切和粘贴才能被重用。表达逻辑通常和商务及数据逻辑混在一起,这使得当程序员试图改变一个应用程序的外观而不想破坏与之紧密结合的商务逻辑时,应用程序的维护就变得十分艰难。其事实上,企业中可重用组件的应用早已经很
38、成熟,没有人愿意为它们的应用程序重写那些逻辑。HTML 和图形设计师把它们的设计的实施工作交给了 Web编写者,使他们不得不加倍工作 常常是手工编写,因为没有合适的工具可以把服务器端脚本与 HTML内容结合起来。简而言之,随着 Web应用程序的复杂性不断提升,大连交通大学 2011 届本科生毕业设计(论文)外文翻译10以页面为中心的开发方式的局限性变得明显起来。 与 此 同 时 , 人 们 一 直 在 寻 找 建 立 Web 应 用 程 序 的 更 好 方 法 , 组 件 在 客 户 机 /服 务 器 领 域 流 行 起来 。 JavaBeans 和 ActiveX 被 “快 速 应 用 程
39、序 开 发 ”(RAD)工 具 发 行 商 推 广 给 Java 和 Windows 应用 程 序 开 发 者 用 来 快 速 开 发 复 杂 的 程 序 。 这 些 技 术 使 某 领 域 内 的 专 家 可 以 为 本 领 域 内 的 垂 直 应 用编 写 组 件 , 而 开 发 者 可 以 直 接 拿 来 使 用 而 不 必 掌 握 这 一 领 域 的 专 门 技 术 。作为一种以组件为中心的开发平台,JSP 出现了。它以 JavaBeans和 Enterprise JavaBeans(EJB)组件包含商务和数据逻辑的模型为基础,提供大量标签和一个脚本平台用来在HTML页中显示由 Jav
40、aBeans产生或回送的内容。由于 JSP的以组件为中心的性质,它可以被 Java和非 Java开发者同样使用。非 Java开发者可以通过 JSP的标签(Tags)来使用高级 Java开发者创建的 JavaBeans。Java 开发者不仅可以创建和使用 JavaBeans,还能在 JSP页中使用 Java语言来更精密地控制基于底层 JavaBeans的表达逻辑。 现在来看看 JSP是如何处理 HTTP请求的。在基本请求模型中,一个请求直接被送到 JSP页中。JSP代码控制着进行逻辑处理时与 JavaBeans组件的交互,并在动态生成的、混合了静态 HTML代码的 HTML页中显示结果。Bean
41、s 可以是 JavaBeans 或 EJB组件。另外,更加复杂的请求模型可看作从被请求页呼叫其他 JSP页或 Java Servlets。JSP引擎实际上要把 JSP标签、JSP 页中的 Java代码甚至连同静态 HTML内容都转换为大块的Java代码。这些代码块被 JSP引擎组织到用户看不到的 Java Servlet中去,然后 Servlet自动把它们编译成 Java字节码。这样,当网站的访问者请求一个 JSP页时,在它不知道的情况下,一个已经生成的、预编译过的 Servlet实际上将完成所有的工作,非常隐蔽而又高效。因为 Servlet是编译过的,所以网页中的 JSP代码不需要在每次请求
42、该页时被解释一遍。JSP 引擎只需在 Servlet代码最后被修改后编译一次,然后这个编译过的 Servlet就可以被执行了。由于是 JSP引擎自动生成并编译 Servlet,不用程序员动手编译代码,所以 JSP能带给你高效的性能和快速开发所需的灵活性。和传统的 CGI相比较,JSP 有相当的优势。首先,在速度上,传统的 CGI程序需要使用系统的标准输入输出设备来实现动态网页的生成,而 JSP是直接和服务器相关联的。而且对于 CGI来说,每一个访问就需要新增加一个进程来处理,进程不断地建立和销毁对于作为 Web服务器的计算机将是不小的负担。其次,JSP 是专门为 Web开发而设计的,其目的是为了建立基于 Web的应用程序,其中包含了一整套的规范和工具。使用 JSP技术可以很方便地将一大堆 JSP页面组合成为一个 Web应用程序。