【计算机专业文献翻译】JSP概述

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JSP介绍

J2EE(Java2企业版)已经承担起了曾经很混乱的建立互联网平台的任务,并使开发者们能够使用Java来高效地创建多层服务器端应用程序。现今,Java企业版的API已经扩展为涵盖了众多领域:用于远程对象处理的RMI和CORBA,用于数据库交互的JDBC,用于访问命名和目录服务的JNDI,用于创建可重用商务组件的企业级JavaBeans(EJB),用于面向消息的中间件的JMS TM(Java Messaging Service,Java消息服务),用于XML处理的JAXP TM,以及用于执行原子性(atomic)事务的JTA TM(Java Transaction API,Java事务API)。另外,J2EE还支持servlets是一种非常流行的用于替代CGI脚本的Java小程序。这些技术的组合使得程序员可以为各种不同的任务创建分布式的商务解决方案。

在1999年末,Sun Microsystems公司向企业级Java工具集中加入了一个新的元素:Java Server Pages(JSP,Java服务器页面)。JSP建立在Java servlet之上,它的设计目的是使程序员乃至非程序员都能高效地创建Web内容。

什么是JSP?

简明扼要地说,JSP是一种用来开发含有动态内容网页的技术。纯HTML页面只包含静态的内容,它的内容通常保持不变,而JSP页面则不同,它可以根据任意数量的变量来改变自己的内容,这些变量包括用户的身份信息,用户使用的浏览器类型,用户提供的信息,以及用户所做的选择等。

JSP页面就和常规的网页一样,包含标准的标记语言元素,例如HTML的标签。然而,JSP页面还包含特殊的JSP元素,这些元素使得服务器可以把动态内容插入到网页中。JSP 元素的用途非常广泛,例如从数据库取得信息,或记录用户的个性信息。当用户请求一个JSP页面时,服务器先执行JSP元素,并把结果同网页的静态部分相结合,然后把动态合成后的页面送回到浏览器。

JSP定义了许多用于Web应用程序的有用的标准元素,例如访问JavaBeans组件的元素,在页面间传递控制权的元素,以及在请求,页面和用户间共享信息的元素。程序员也可以通过使用应用程序的专用元素来扩展JSP语法,从而完成像访问数据库和EJB,发送电子邮件,生成表示应用程序专用数据的HTML这样的任务,与JSP规范相关的规范(JSTL规范)定义了一组这种常用的自定义元素。标准元素和自定义元素的组合确保了可以开发出强大的Web 应用程序。

为什么要使用JSP?

在Web发展的早期,CGI(Common Gateway Interface,公共网关接口)是开发动态Web 内容的唯一工具,然而,CGI并非一种高效率的解决方案。对每一个传来的请求,Web服务器都必须创建一个新的操作系统进程,载入一个解释器和一个脚本,接着执行这个脚本,然后再把这些全部释放掉。这使得服务器承受着繁重的负担,而且当通信量增加时性能会变得很低。

过去几年里,出现了许多CGI的替代品和增强版,例如FastCGI,Apache的mod_perl,Netscape的NSAPI,Microsoft的ISPAI和Sun Microsystems的Java servlet。虽然这些解决方案能提供更高的性能和可缩放性,但是所有这些技术都面临着同一个问题:它们都是通过把HTML代码直接嵌入到程序语言代码中来生成网页。这使得动态网页的创建成为程序员所独立的领域。然而,JSP改变了这一切。

在HTML页面中嵌入动态元素

JSP从一个角度来处理这个问题。JSP允许将特殊的活性元素嵌入到HTML页面中,而不是将HTML语言嵌入到编程代码中。这些元素看起来与HTML元素类似,但它们实际上是组件化的Java程序,当用户请求页面时,服务器便会执行该程序。下面这个简单的JSP页面解释了这一点:

<% taglib prefix=”c” url=”/jstl/core”%>

Good morning!

Good day!

Good evening!

Welcome to our site, open 24 hours a day.

这个页面根据当天的时间向用户发去了不同的消息:如果当地时间是在中午12:00之前,则发送“Good morning!”;如果是在中午12:00到晚6:00之间,则发送“Good day!”;如果是在晚6:00之后,则发送“Good evening!”。当用户请求这个页面时,支持JSP的Web服务器就会执行由黑体的Java元素所代表的逻辑判断,并创建一个HTML页面,把它发送回用户的浏览器。例如,如果现在的时间是晚上8:53,那么从服务器发回到浏览器的结果页面就会是这个样子:

Good evening!

Welcome to our site, open 24 hours a day.

除了与HTML类似的JSP元素外,JSP页面还可以包含嵌入在所谓“脚本元素(scripting element)”中的Java代码。从JSP规范的第一个版本开始,这种功能已经是其中的一部分了,而且它对于简单的条件逻辑来说也非常方便。但是,随着新的JSP Standard Tag Library (JSTL)的引入,Java代码在页面中其实很少用到。此外,在Web页面中嵌入过多的代码就像在服务器端程序中使用HTML元素一样,通常会使Web应用程序难以维护和调试。

人尽其用

正如前面所述,JSP可以把HTML这样的标记语言代码和用来处理用户输入、访问数据库以及执行其他应用任务的编程语言代码分离开来。这种分离任务的一种表现方式就是JSP 标准和自定义元素的使用;这些元素是用编程代码来实现的,在使用方式上,它们与通常网

相关文档
最新文档