JSP常见问题

<转贴>

一般常见问题

什么是 JSP 技术?
JSP 技术的工作原理? 
什么是 servlet?
我已经采用了servlets,为何还需要 JSP 技术呢?
从哪里可以获得最新版本的 JSP 规范?
JSP 规范与 Java 2 Platform, Enterprise Edition 的关系如何? 
有哪些web服务器支持JSP 技术?
Sun 公司是否提供 JSP 规范的参考实现?
JSP 技术与其他产品技术相比有什么不同?
从那里可获得关于 JSP 技术的更多信息? 

技术常见问题

JSP 页面是什么?
JSP 页面如何工作?
JSP 技术需要使用其他 Java 平台 API 吗? 
JSP 页面如何进行调用和编译? 
JSP 技术的语法是怎样的? 
能否使用 JSP 技术来生成 XML 页面?
能否使用 XML 工具来生成和处理 JSP 页面?
在 JSP 页面中怎样使用 Javabeans 组件(bean)?

一般常见问题

什么是 JSP 技术? 
JavaServer Pages(JSP) 技术提供了一种简单快速的方法来创建显示动态生成内容的 Web 页面。由业界处于领先地位的 Sun 公司制定了相关的 JSP 技术规范,该规范定义了如何在服务器和 JSP 页面间进行交互,还描述了页面的格式和语法。 
JSP 技术的工作原理?

JSP 页面使用 XML 标签和 scriptlets(一种使用 Java 语言编写的脚本代码),封装了生成页面内容的逻辑。它将各种格式的标签(HTML 或者 XML)直接传递回响应页面。通过这种方式,JSP 页面实现了页面逻辑与其设计和显示的分离。

JSP 技术是 Java 系列技术的一部分。JSP 页面被编译成 servlets,并可能调用 JavaBeans 组件(beans) 或 Enterprise JavaBeans 组件(企业 beans),以便在服务器端处理。因此,JSP 技术在构建可升级的基于 web 的应用程序时扮演了重要角色。

JSP 页面并不局限于任何特定的平台或 web 服务器上。JSP 规范在业界有着广泛的适应性。 
什么是 servlet?

相对于浏览器上运行的 applets 而言,servlet 是在服务器上运行的,用 Java 语言编写的程序。详细信息可访问 http://java.sun.com/products/servlet. 
我已经采用了servlets,为何还需要 JSP 技术呢?

既然 JSP 页面也要被编译成 servlets,那么理论上,您可以直接写 servlets 来支持您的基于 web 的应用程序。然而,JSP 技术通过将页面内容和显示逻辑分开,简化了创建网页的过程。在许多应用程序中,需将模板内容和动态生成的数据一块发送到客户端。基于此考虑,使用 JSP 页面技术将比全部用 servlets 来写要方便得多。 
从哪里可以获得最新版本的JSP 规范?

最新的 JavaServer Pages 2.0 规范可以 从此 下载。
JSP 规范与 Java 2 Platform, Enterprise Edition 的关系如何?

JSP 2.0 规范是 Java 2 Platform, Enterprise Edition 1.4 的重要组成部分。 在构建基于 web 前端显示的分布式企业应用程序方面,JSP 和 EJB 技术的结合显示出强大的力量。
有哪些 web 服务器支持 JSP 技术?

有许多 JSP 技术实现可用于不同的 web 服务器。要获取最新已被官方支持的 web 服务器信息 ,请访问 http://java.sun.com/products/jsp/industry.html。
Sun 公司是否提供对 JSP 规范的参考实现?

J2EE SDK 是 JavaTM 2 Platform, Enterprise Edition 的参考实现。Sun 在 J2EE SDK 中改装并集成了 Tomcat JSP 和 Java Servlet 实现。在应用程序部署和发布之前,可将J2EE SDK作为开发环境。

Tomcat 是免费和开放源代码的 Java Servlet 和 JSP 技术的实现,它由 Apache Software Foundation 的Jakarta 项目组开发。可从 http://jakarta.apache.org 下载。Tomcat 的商业应用需要有 Apache Software Foundation(ASF)的许可,并且可在 Apache 的网站上获取二进制和源代码的版本。JSP 技术的实现是 J2EE SDK 的一部分。 
JSP 技术与其他产品技术相比有什么不同?

JSP 技术是行业协作的结果,它的设计是开放的,符合行业标准的,并支持绝大多数的服务器、浏览器和相关工具。由于使用可重用的组件和标签取代了对页面本身脚本语言的严重依赖,JSP 技术大大加快了开发的速度。所有 JSP 的实现均支持以 Java 编程语言为基础的脚本语言,它有与生俱来的可适应性,支持复杂的操作。
从那里可获得关于 JSP 技术的更多信息?

获得关于 JSP 技术信息的最佳地方是 http://java.sun.com/products/jsp/。这里有大量的资源,还有 JSP 相关技术主题的邮件列表和讨论组等信息。 


技术常见问题

JSP 页面是什么?

JSP 页面是 web 开发人员使用 JSP 内置标签和自定义标签,结合其他静态标签(HTML 或 XML 标签)生成的页面。JSP 页面的扩展名为 .jsp 或.jspx,web 服务器通过此扩展名通知 JSP 引擎处理该页面中的元素。通过部署描述文件 web.xml,也可使用其他扩展名和 JSP 引擎联系。 

JSP 规范里描述了 JSP 页面的确切格式。 
JSP 页面如何工作?

通过 JSP 引擎解释 JSP 页面中的标签,生成所需内容。例如,调用一个 bean 来访问一个使用JDBC API 的数据库或者是包含一个文件。然后 JSP 引擎把返回的结果以 HTML(或XML)页面的形式发送到浏览器。实质上是把生成内容的业务逻辑封装在服务器端处理的标签和 beans 中。 
JSP 技术需要使用其他 Java 平台 API 吗?

JSP 页面通常被编译成 Java 平台 servlet 类。因此,JSP 页面的运行需要有能支持 Java 平台 servlet 规范的 Java 虚拟机。 
JSP 页面如何进行调用和编译?

JSP 页面实际上只是在第一次被调用的时候被编译一次。页面被编译成 Java Servlet 类 ,并驻留在服务器内存中,这样以后调用该页面时将很快。 
JSP 技术的语法是怎样的?

有关 JSP 的 语法和参考 可以到我们的网站上浏览和下载。 
能否使用 JSP 技术来生成 XML 页面?

当然,JSP 规范支持 XML 文档的创建。对于简单的 XML 文档生成,XML 标签将以静态的部分包含在 JSP 页面中。动态的 XML 生成则需要使用 bean 组件或者自定义标签来实现。参阅白皮书 Developing XML Solutions with JavaServer Pages Technology (PDF)可以获得更多的细节。 
能否使用 XML 工具来生成和处理 JSP 页面?

JSP 2.0 规范描述了 JSP 页面和 XML 文档之间的映射。通过该映射可以使用 XML 工具来生成和处理 JSP 页面。
在 JSP 页面中怎样使用 Javabeans 组件(bean)?

JSP 规范包括了标准的标签,用于使用和处理 bean。使用 useBean 标签生成一个特定 JavaBeans 的实例。如果这个类的实例已经存在,则直接使用。否则,创建一个新的实例。setProperty 和 getProperty 标签允许您操作给定对象的属性。这些标签在 JSP 规范和指南中有详细描述。