一个开发人员眼中的 JSP 技术 JavaServerTM Pages(JSP)技术为我们提供了一种建立动态网页的简单方法, 而且也简化了构 造 web 程序的
工作。本文从一个开发人员的角度对 JSP 技术做了一个全面介绍(并提供了一 些 JSP 实例程序) 。 前言 JavaServer Pages 技术可以让 web 开发人员和设计人员非常容易的创建和维护动态网页,特 别是目前的商业系统。作为 JavaTM 技术的一部分,JSP 能够快速开发出基于 web、独立于平 台的应用程序。JSP 把用户界面从
系统内容中分离开来,使得设计人员能够在不改变底层动 态内容的前提下改变整个网页布局。 那么什么是 JavaServer Page 呢?简单的说,一个 JSP 网页就是在 HTML 网页中包含了能够生 成动态内容的可执行应用程序代码。此应用程序可能包含 JavaBeanTM,JDBCTM 对象, Enterprise Java BeanTM (EJB)和 Remote Method Invocation (RMI)对象,所有的部分都可 以非常容易的从 JSP 网页上访问到。例如,一个 JSP 网页可以包含 HTML 代码所显示的静态 文本和图像,也可以调用一个 JDBC 对象来访问数据库;当网页显示到用户界面上以后,它将 包含静态 HTML 内容和从数据库中找到相应的动态信息。 在 JSP 网页中,要把用户界面和应用程序分开可以考虑在网页设计人员和开发人员之间 执行一个非常方便的授权任务。它也允许开发人员去建立灵活的代码,从而非常容易的进行 更新和重复利用。由于 JSP 网页能够根据需要自动进行编译,web 设计人员无须重新编译应 用程序逻辑就可以改变表述代码。这也使得 JSP 与 Java servlet(它是 JavaSever Pages 功 能的扩展)相比成为一种可以更灵活生成动态 web 内容的方法。 JSP 和 Servlet 如果你已经用过 Java servlet, 那么你就会知道 servlet 可以让你建立动态生成的网页, 而网页中包含有从服务器方的 Java 对象中所获得的数据。但是你也得知道 servlet 生成网 页的方法就是在 Java 类中嵌入 HTML 标签和表述代码。这就意味着改变表述代码需要修改和 重新编译 servlet 源文件。 因为设计 HTML 页面的设计人员可能与编写 servlet 代码的开发人 员不是同一个人,更新基于 servlet 的 web 应用程序就成了一件非常棘手的事情。 Enter JavaServer Page 是 Servlet API 的一个扩展。 事实上, 网页在编译成 servlet JSP 之前也可以使用,所以它们也具有 servlet 的所有优势,包括访问 Java API。由于 JSP 是嵌 入到 servlet 中关于应用
程序的一般表述代码, 所以他们能够被看成一种 “彻底” servlet。 的 JSP 网页主要提供了一种建立 servlet 的高水平方法,它还带来了其他的优点。即使你 已经为 web 应用程序编写了 servlet,使用 JSP 仍然有很多优势: JSP 网页可以非常
容易的与静态模板结合,包括 HTML 或 XML 片段,以及生成动态内容 的代码。 JSP 网页可以在被请求的时候动态的编译成 servlet, 所以网页的
设计人员可以非常容易 的对表述代码进行更新。如果需要的话,JSP 网页还可以进行预编译。 为了调用 JavaBean 组件,JSP 标签可以完全管理这些组件,避免网页设计人员复杂化应 用程序。
开发人员可以提供定制化的 JSP 标签库。 网页设计人员能够改变和编辑网页的固定模板部分而不影响应用程序。同样,开发人员 也无须一个个编辑页面而只须对组件进行合理的改变。 通常,JSP 允许开发人员向许多网页设计人员分发功能性应用程序。这些设计人员也不 必知道 Java 编程语言或任何 servlet 代码,所以他们能够集中精力去编写 HTML 代码,而编 程人员就可以集中精力去建立对象和应用程序。 建立 JSP 页面 粗略看来, 网页和 HTML (或 XML)网页非常相似——都包含用标签封装的文本 “< JSP (在 >”之间被定义) 。当 HTML 标签被用户的浏览器处理以显示网页的时候,JSP 标签能够通过
web 服务器的处理来生成动态内容。这些 JSP 标签能够定义个别