1、附录A 译文JSP基于Web的应用前景在万维网短暂的历史中,它已经从一个大部分显示静态信息的网络演化到对股票进行交易和进行购书操作的一个基础设施。在各种各样的应用程序中,对于可能使用的基于Web的客户端,看上去没有任何限制。基于浏览器客户端的应用程序比传统的客户机/服务器的应用程序有很多好处。这些好处几乎没有限制客户端的访问和机器简化的应用程序部署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。这样,软件工业正迅速地想建造机遇浏览器客户端的多层次应用程序迈进。这些快速增长的精巧的基于Web应用程序要求开发技术上的改进。静态HTML对
2、于显示相对静态的内容是不错的选择;新的挑战在于创建交互的基于Web的应用程序,在这些程序中,页面的内容是基于用户的请求或系统的状态,而不是预先定义的文字。很显然,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案将解决当前方案所受到的限制,即能够在任何Web或应用程序服务器上运行将应用程序逻辑和页面显示分离,能够快速地开发和测试,简化开发基于Web的交互式应用程序的过程。JSP技术就是被设计用来满足这样的要求的。JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商见惯犯合作的结果。SUN公司开发出这个规范来整合平衡已经存在的对Java编程环境进行支持的技术和工具。
3、其结果是产生了一种新的、开发基于Web应用程序的方法,给予使用基于组件应用逻辑的页面设计者的页面设计以强大的功能。JSP简介JSP(JavaServerPages)是由SUNMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件中加入Java程序片段(Scr
4、iptlet)和JSP标记(tag),就构成了JSP网页。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。JSP特点JSP技术在多个方面加速了动态Web页面的开发:a. 将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML标识来设计和格式化最终页面。使
5、用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。b. 强调可重用的组件绝大
6、多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeans TM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。c. 采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置
7、或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaSe
8、rvlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与Java2平台,企业版(J2EE)和EnterpriseJavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。d. 技术分析Microsoft公司的ASP技术也是动态网页开发技术。JSP和ASP从形式上非常相似,ASP程序员一眼就能认出以及。但是深入
9、探究下去会发现它们很多的差别,其中最主要的有以下三点:1)JSP的效率和安全性更高ASP以源码形式存放,以解释方式运行,每次ASP网页调用都需要对源码进行解释,运行效率不高。另外,IIS的漏洞曾使得许多网站源程序大曝光,包括笔者以前用ASP开发的网站,ASP程序全部被人下载了去。JSP在执行以前先被编译成字节码(bytecode),字节码由Java虚拟机(JavaVirtualMachine)解释执行,比源码解释的效率高;服务器上还有字节码的Cache机制,能提高字节码的访问效率。第一次调用JSP网页可能稍慢,因为它被编译成Cache,以后就快得多了。同时,JSP源程序不大可能被下载,特别是J
10、avaBean程序完全可以放到不对外的目录中。2)JSP的组件(Component)方式更方便ASP通过COM来扩充复杂的功能,如文件上传、发送email以及将业务处理或者复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBean实现了同样的功能扩充。在开发方面,COM的开发远比JavaBean复杂和繁琐,学会ASP不难,但学会开发COM可不简单。而JavaBean就简单多了,从本文上述示例中可以看出开发JavaBean很方便。在维护方面,COM必须在服务器上注册,如果修改了COM程序,就必须重新注册,甚至必须关机和重新启动。JavaBean则不需要注册,放在CLASSPATH包含的
11、目录中就行了。如果JavaBean进行了修改,则JSWDK和Tomcat现在还需要关闭和重新运行(但不是关机),但开发者已经许诺将在以后的版本中做到不需要关闭服务器。另外JavaBean是完全的OOP,可以针对不同的业务处理功能方便地建立一整套可重复利用的对象库,例如用户权限控制、email自动回复等等。3)JSP的适应平台更广ASP目前仅适用于NT和IIS。虽然Unix下有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。JSP运行原理当服务器上的一个JSP页面第一次请求执行时,服务器上的JSP引擎首先将J
12、SP页面文件转译成一个Java文件,再将这个Java文件编译生成字节码文件,然后通过执行字节码文件响应客户的请求,而当这个JSP页面再次被请求执行时,JSP引擎将直接将这个字节码文件来响应客户,这也是JSP比ASP运行速度快的一个原因。而JSP页面的首次执行往往由服务器执行者来执行。这个字节码文件的主要工作是:1)把JSP也面中普通的HTML标记符号(也面的静态部分)交给客户的浏览器负责显示。2)执行“”之间的Java程序片(JSP页面中的动态部分),并把执行结果交给客户的浏览器来显示。3)当多个客户请求一个JSP也面时,JSP引擎为每个客户启动一个线程而不是启动一个进程,这些现成由JSP引擎
13、服务器来管理,与传统的CGI为每个用户启动一个进程相比较,其效率要高得多。JSP运行环境介绍自从JSP发布以后,出现了各式各样的JSP引擎。1999年10月SUN公司将Java Server Page 1.1 代码Apache组织,Apache组织对JSP进行了实用研究,并将这个服务器项目称为Tomcat,从此,著名的Web服务器Apache开始支持JSP。这样,Jakarta-Tomcat就诞生了(Jakarta是JSP项目的最初名称)。目前, Tomcat能和大部分主流服务器一起高效率的工作。JSP与Java Servlet的关系Java Servlet是Java 语言的一部分,提供了用于
14、服务器编程的API,Java Servlet编写的Java 程序称为Servlet。Servlet通过HTML与客户交互信息。Servlet的最大特点是不能有效地管理也面的逻辑部分和页面的输出部分,导致Servlet代码非常混乱,用Servlet来管理网站是一件很困难的事情。为了克服Servlet的缺点,SUN公司用Java Servlet作为基础。推出了Java Servlet Page 。JSP提供了Servlet的几乎所有好处,当一个客户请求一个JSP页面时,JSP引擎根据JSP页面生成一个Java 文件,即一个Servlet。用JSP支持 Javabeans 这一特点,可以有效地管理页
15、面的逻辑部分和页面的输出部分。另外JSP也可以和Servlet有效地结合,分离页面的逻辑部分和页面的输出部分。JSP页面的基本结构在传统的HTML页面文件中加入Java程序片和JSP标签就构成了一个JSP页面文件。一个JSP页面可由5中元素组合而成:a. 普通的HTML标记符。b. JSP标签,如指令标签、动作标签。c. 变量和方法的声明。e. Java程序片。f. Java表达式。其中c、e、f形成的部分被称为JSP的脚本部分。当服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个Java文件,再将这个Java文件便宜生成字节码文件,然后通过执行字节
16、码文件响应客户的请求。这个字节码文件的任务就是:1) 把JSP页面中普通的HTML标记符号交给客户的浏览器来执行显示。2) JSP标签、数据库和方法声明、Java程序片由服务器负责执行。将需要显示的结果发送给客户的浏览器。3) Java表达式由服务器负责计算,并将结果转化为字符串,然后叫给客户的浏览器负责显示。JSP中使用数据库在JSP中可以使用Java的JDBC技术,实现对数据库中表记录的查询、修改和删除等操作。JDBC技术在JSP开发占有很重要的地位。JDBC(Java DataBase Connectivity)是Java数据库建立连接API。简单地说,JDBC能完成三件事:a. 与一个
17、数据库建立连接。b. 向数据库发送SQL语句。c. 处理数据库返回的结果。JDBC在设计上和ODBC很相似。JDBC和数据库建立连接的一种常见方式是建立起一个JDBC-ODBC桥接器。由于ODBC驱动程序被广泛地使用,建立这种桥接器后,使得JDBC有能力访问数据库。如果要使用JDBC-ODBC桥接器必须事先设置数据源。JSP中使用Java语言a. Java语言介绍Java是一种简单易用、完全面向对象、有平台无关性、安全可靠的、主要面向Internet 的开发工具。Java自从1995年正式问世以来,它的快速发展已经让整个Web世界发生了翻天覆地的变化。随着Java Servlet的推出,Jav
18、a在电子上午方面开始暂露头角,最新的Java Server Page(JSP)技术的推出,更是让Java成为基于Web应用程序的首选开发工具。Java是第一套允许使用者将应用程序通过 Internet从远端服务器传输到本地机上并执行的一种语言:是一种应用程序提供者不需要知道使用者的计算机硬件与软件环境的语言。比尔.盖茨曾经说过:“Java是最卓越的程序设计语言”。Java自问世以来,技术和应用发展非常快,在计算机、移动电话、家用电器等领域中无一没有Java技术的存在。在Internet上,几乎每个网页都包含Java程序或代码。由于Java的广泛应用,使它受到了史无前例的关注,Java是一种In
19、ternet编程语言,Java还曾是网络动画技术的代名词,Java虚拟机更是让人耳目一新,Java简单易学、跨平台而又不失强大功能。相比其他语言,Java技术平台具有鲜明的优越性。从最初建造Java平台开始,就考虑了安全性的问题,即安全性是建立在Java平台的内核中的。其他的语言只是在开发软件时才由用户自行处理其安全问题,难免会有安全漏洞。其次,对于程序员来说,Java语言比以往其他的任何一门语言都好用,原因在于:Java有自动回收垃圾的功能,Java增加了对象和变量的强制类型检查,Java还取消了指针。目前,Java技术的架构包括以下三个方面:1) J2EE(Java 2 Platform
20、Enterprise Edition)企业版,是以企业为环境而开发应用程序的解决方案。2) J2SE(Java 2 Platform Stand Edition)标准版,是桌面开发和低端商务应用的解决方案。3) J2ME(Java Platform Micro Edition)小型版,是致力于消费产品和嵌入式设备的最佳解决方案。b. Java技术的内涵1) 首先,它是一门编程语言,Java能够创建所有其他传统语言能编写的应用程序,Java能够编写独立的应用程序,运行在装有Java虚拟机的操作系统上。Java在浏览器中执行不许操作系统JVM的支持。2) 其次,Java还是一个开发环境,Java技
21、术包含一系列的工具:编译器、解释器、文档生成工具、打包工具等。另外由Java 2 SDK提供的JRE(Java Runtime Envioument)还包含了一个完整的Java类集合,比如基本语言类、GIU控件类等。3) 最后,Java也是一个运行环境,我们可以从SUN公司提供的Java 2 SDK中来搭建运行环境,而这一切都是免费的。c. Java开发环境SUN公司提供了自己的一套Java开发环境,通常称之为JDK(Java Development Kit).SUN公司提供了 多种操作系统下的JDK,随着时间的推移和技术的进步,JDK的版本也在不断地升级,如JDK 1.2、JDK 1.3、J
22、DK 1.4。各种操作系统下的JDK的各种版本在使用上基本类似,读者可以根据自己的使用环境,从SUN公司的网站上下在相应的版本。要想真正的掌握好JSP技术,必须有较好的Java基础,以及HTML语言方面的知识。JSP技术是在传统的HTML页面文件中加入Java程序片和JSP标签 ,JSP技术基于Java语言,名字区分大小写。JSP中使用的SQL语句a. SQL的介绍SQL语言是1974年由Boyce和Chamberlin提出的。1975年-1979年IBM公司Sun Jose Research Laboratory研制了著名的关系数据库管理系统原型System R并实现了这种语言。由于它功能丰
23、富,语言见解倍受用户及计算机工业界受欢迎,被众多计算机公司和软件恭喜所采用。经各公司的不断修改、扩充和完善,SQL语言最终发展成为关系数据库的标准语言。1986年10月美国国家标准局的数据库委员会X3H2批准了SQL作为关系数据库语言的美国标准。同年公布了SQL标准文本。1987年国际标准化组织也通过了这一标准。此后ANSI不断修改和完善SQL标准,并于1989年公布了SQL-89标准,1992年又公布了SQL-92标准。目前ANSI即将公布正在酝酿新的标准SQL-99,亦称SQL3。自SQL成为国际标准语言以后,各个数据库厂家纷纷推出各自的SQL软件或与SQL接口软件。这就使大多数据库均用S
24、QL作为共同的数据存取语言和标准借口,使不同数据库系统之间的互操作有了共同的基础。这个意义十分重大。因此,有人把确立SQL为关系数据库语言标准及其后的发展称为是一场革命。SQL成为国际标准,对数据库以外的领域也产生了很大影响,有不少软件产品将SQL语言的数据查询功能 与图形功能、软件工程工具、软件开发工具、人工只能程序结合起来。SQL已成为数据库领域中一个主流语。b. SQL概述SQL是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询。SQL是一个通用的、功能极强的关系数据库语言。c. SQL的特点SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的
25、、功能极强同时又简捷易学的语言。SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括:1) 综合统一数据库系统主要功能是通过数据库支持的数据语言来实现的。2) 高度非过程化非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径。而用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。3) 面向集合的操作方式非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录。例如插入所有平均成绩在80分以上的学生姓
26、名,用户必须一条一条地把满足条件的学生记录找出来。而SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且依次插入、删除、更新操作的对象也可以是元组的集合。4) 以同一种语法结构提供两种使用方式SQL语言既是自含式语言,又是嵌入式语言。SQL语句能够嵌入到高级语言程序中,供程序员设计程序时使用。而在良种不同的使用方式下,SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的使用方式的做法,提供了极大的灵活性与方便性。5) 语言简捷,易学易用SQL语言接近英语口语,因此容易学习和使用。d. 只有学好SQL语言才能更好的掌握JSP技术。附录B 外文文献Based
27、on Web application prospectIn the World Wide Web short history, it already evolved from a majority of demonstrations static states information network to carries on the transaction to the stock and carries on buys the book operation an infrastructure. In various application procedures, regarding pos
28、sibly uses based on the Web customer end has a liking for not any limit.Has very many advantage based on the browser customer end application procedure compared to the traditional client/server application procedure. These advantage have not nearly limited the application procedure which the custome
29、r end the visit and the machine simplifies to deploy and the management (must renew an application procedure, administrative personnel only to need to change based on server procedure, but is not tens of thousands of installments in customer end application procedure). Thus, the software industry ra
30、pidly wants to construct the opportunity browser customer end the multi-level application procedure to make great strides forward.These fast grow exquisitely based on the Web application procedure request development technology in improvement. Static HTML regarding the demonstration relative static
31、state content is the good choice; the new challenge lies in the foundation interactive based on the Web application procedure, in these procedures, the page content is based on users request or the system condition, but is not the writing which defines in advance.What very obviously, at present need
32、s is in a field scope foundation dynamic content page solution? This plan will solve the limit which the current plan will receive, namely will be able transports the about to application procedure logic and the page demonstration separation in any Web or on the application procedure server, will be
33、 able fast the development and the test, the simplification development based on the Web interactive application procedure process. The JSP technology is designed uses for to satisfy such request. The JSP standard is the Web server, using the server, the transaction system, as well as the developmen
34、t kit supplier sees the result which the recidivist cooperates. SUN Corporation developed this standard to come the conformity balance already to exist carries on the support to the Java programming environment the technology and the tool. Its result was produces one kind to be new, the development
35、based on the Web application procedure method, gave the use based on the module application logic page designers page design by the formidable function.JSP simple introductionJSP (JavaServer Pages) is Corporation initiates one kind of dynamic homepage technical standard by SUN Microsystems which, ma
36、ny companies participation establishes together. This technology has provided for the foundation demonstration dynamic production content Web page simple and direct and the fast method. The JSP technology design goal is makes the structure to be easier based on the Web application procedure and quic
37、kly, but these application procedures can with each kind of Web server, using the server, the browser and the development kit work together. The JSP standard is the Web server, applies the server, the transaction system, as well as between the development kit supplier the broad cooperation result. J
38、oins the Java procedure fragment in the traditional homepage HTML document (Scriptlet) and the JSP mark (tag), constituted the JSP homepage. The Web server when meets visits the JSP homepage the request, first carries out procedure fragment, then will carry out the result to return by the HTML form
39、for the customer. The procedure fragment may operate the database, again the directional homepage as well as transmits email and so on; this is a function which the establishment dynamic website needs. All procedures operation all in the server end execution, in the network transmits the result whic
40、h only is obtains for the customer end, is lowest to the client browser request, may realize does not have Plugin, does not have ActiveX, non- Java Applet, even does not have FrameJSP characteristicThe JSP technology has accelerated the dynamic Web page development in many aspects:a. carries on the
41、content production and the demonstration the separationUses the JSP technology, the Web page development personnel may use HTML to mark designs and the formatted final page. Uses the JSP marking or originally produces on the page the dynamic content (content is according to requested changes). The p
42、roduction content logic is sealed in marking and in the JavaBeans module, and ties up in the small script, all scripts in server end movement. If the core logic is sealed in marking and Beans, then other people, like the Web administrative personnel and the page designer, can edit and use the JSP pa
43、ge, but does not affect the content the production. In the server end, the JSP engine explained the JSP marking and the small script, produce the content which requested (for example, through visits the JavaBeans module, uses JDBCTM technology visit database, or included file), and transmits the res
44、ult by the HTML page form the browser. This is helpful to the author protects own code, but also guarantees any based on the HTML Web browser complete usabilityb. emphases may entrust with heavy responsibility moduleThe overwhelming majority JSP page relies on to may entrust with heavy responsibilit
45、y, the cross platform module (JavaBeans or Enterprise the JavaBeans TM module) carries out a more complex processing which the application procedure requests. The development personnel can share and exchange the execution ordinary operation the module, or causes these modules uses for more users or
46、the customer association. Has accelerated the overall performance history based on the module method, and causes each kind of organization obtains the balance in their existing skill and in the optimized result development endeavor.c. uses the marking simplification page developmentThe Web page deve
47、lopment personnel cannot all be the familiar script language programmers. JavaServer the Page technology has sealed many functions: these functions are easy to use, marking to carry on the dynamic content production with JSP in correlation XML to need. The standard JSP marking can visit and the exam
48、ple JavaBeans module, the establishment or the retrieval module attribute, downloads Applet, as well as the execution difficulty with codes and consumes when the function with the alternative means.Has custom-made the marking storehouse through the development, the JSP technology is may expand. From now on, the third party development personnel and other personnel will be allowed to found own for the commonly used function marking storehouse. This enables the Web page development personnel to be able to use the familiar tool and to be similar to marking same to carry out the speci