JSP技术简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ห้องสมุดไป่ตู้ ·4·
JSP 网络开发技术及整合应用
容器。这种访问方式包括了事件模型。事件模型令浏览器可对用户输入作出反应,通过执 行脚本,无须从服务器下载一个新的页面就可以根据用户输入显示新的内容。动态 HTML 文档对象模型(DHTML DOM)以一种便捷的方式为广大普通网页制作者提供了丰富的网 页交互性。
1.2.5
第1章
JSP 技术简介
·5·
集中的安全管理:管理员可以控制对服务器而不是每一台客户计算机上的信息的 访问。
1.3
JSP 与其他动态网页技术
JSP 技术可以以一种简捷而快速的方法生成 Web 页面。使用 JSP 技术的 Web 页面可以 很容易地显示动态内容。JSP 技术的设计目的是使得构造基于 Web 的应用程序更加容易和 快捷,而这些应用程序能够与各种 Web 服务器、应用服务器、浏览器和开发工具共同工作。 JSP 技术不是惟一的动态网页技术,也不是第一个,在 JSP 技术出现之前就已经存在几 种优秀的动态网页技术,如 CGI、ASP 等。下面结合这些技术的介绍,讲述动态网页技术 的发展和 JSP 技术的诞生。
1.2.4
动态 HTML
动态 HTML(DHTML)支持 JavaScript 和 Java 等多项技术,但其最引人注目的特性是 层叠样式表(Cascading Style Sheets,CSS)。层叠样式表可以帮助页面开发人员将显示元 素从内容元素中分离出来。例如,与图书和杂志的页面布局相似的纯粹像素布局就需要 级联样式表。层叠样式表还支持颜色、字体规范、显示图层和页边空白这样的页面元素 特征。 动态 HTML(DHTML)文档对象模型(Document Object Model,DOM)使网页制作者 可以直接地以可编程的方式访问 Web 文档上每个独立的部分,而不论被访问的是元素还是
1.2
客户端 Web 程序设计介绍
Web 浏览器现已成为深受大多数用户喜爱的用户界面。 HTML 语言提供了丰富的控件, 第三方厂商提供了 Visual Basic 编写的数百个额外的控件,这些都使得 Web 浏览器独具 特色。 虽然 Web 浏览器与传统的 GUI 界面有一定的差距, 但它提供了一种独立而又简单的方 法来访问分布式资源,尤其是 Internet 资源。而且越来越多的客户端 Web 程序扩展技术变 得更加成熟,出现了包括 CSS、JavaScript、VBScript、动态 HTML、Java1.1.Applet 应用程 序等技术在内的客户端 Web 程序设计技术,它们的相互结合使得 Web 程序更加迷人。下面 简单介绍几种常用的客户端 Web 程序设计技术的特点。本书假定读者对这些技术都有一定 的了解,不对这些技术作详细介绍。
1.2.2
JavaScript
JavaScript 是用于浏览器的第一种具有通用目的、动态的客户端脚本语言。Netscape 于 1995 年首先提出了 JavaScript, 但当时将其称为 LiveScript。 后来 Netscape 迅速地将 LiveScript 改名为 JavaScript , Java 的开发商 Sun 与他们在同一年发表了一项声明。声明中指出 Java 和 JavaScript 将互相补充,但它们是截然不同的技术,这样才打消了很多人对这两项技术的 错误理解。 JavaScript 为创建用户界面控件提供了一种脚本语言。 事实上,JavaScript 在浏览器中插 入了代码逻辑。它可以支持这样的效果:当光标在 Web 页的某个位置移动时验证用户输入 或者变换图像。 Microsoft 也编写出了自己的 JavaScript 版本并将其称为 JScript 。 Microsoft 和 Netscape 都支持一种围绕 JavaScript 和 JScript 的核心特性并由( European Computer Manufacturers Association , ECMA ) 标 准 组 织 控 制 的 脚 本 语 言 标 准 。 ECMA 将 其 脚 本 语 言 命 名 为 ECMAScript。
Java Applet(Java 小应用程序)
Java Applet 就是用 Java 语言编写的一些小应用程序,它们可以直接嵌入到网页中,并 能够产生特殊的效果。包含 Applet 的网页被称为 Java-Powered 页,可以称其为 Java 支持的 网页。 当用户访问这样的网页时,Applet 被下载到用户的计算机上执行,但前提是用户使用 的是支持 Java 的网络浏览器。由于 Applet 是在用户的计算机上执行的,因此它的执行速度 不受网络带宽或者 Modem 存取速度的限制, 用户可以更好地欣赏网页上 Applet 产生的多媒 体效果。 在 Java Applet 中,可以实现图形绘制、字体和颜色控制、动画和声音的插入、人机交 互及网络交流等功能。 Applet 还提供了名为抽象窗口工具箱 (Abstract Window Toolkit, AWT) 的窗口环境开发工具,但 AWT 的设计是存在缺陷的,取而代之的 Swing 技术为 Java GUI 编程提供了强大丰富的 API 和灵活的结构设计,并在 AWT 基础上,提供了替代 AWT 重量 组件的轻量组件。它们利用用户计算机的 GUI 元素,可以建立标准的图形用户界面,如窗 口、按钮、滚动条等。目前,在网络上有非常多的 Applet 范例来生动地展现这些功能,读 者可以去查阅相应的网页以观看它们的效果。
第1章
JSP 技术简介
JSP(Java Server Pages)技术是由 Sun 公司发布的用于开发动态 Web 应用的一项技术。 它以其简单易学、跨平台的特性,在众多动态 Web 应用程序设计语言中异军突起,在短短 几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。在国内,JSP 现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用 JSP 技 术。本章就对 JSP 及其相关技术进行简单的介绍。
1.2.6
浏览器技术的作用与局限性
所有客户端技术都向 Web 浏览器添加了功能并帮助 Web 应用程序变得更加直观、 更易 于使用以及更加有趣。不过它们其中没有任何一项技术传递了服务。对于改进用户看到和 请求这种服务的方式,它们的作用是有限的。 Java 小程序是最全面和最强大的客户端技术,它通过使用复杂的缓存技术、流技术或 灵活的编程方法,Java 小程序看上去很像标准的桌面应用程序。不过,低速的网络连接或 中断的 Internet 服务都会使得它起不到预期的效果。 客户端扩展添加到浏览器的功能甚至会产生负面效果。近些年的趋势是已经将功能从 客户移到了服务器。人们将这描述为从胖客户(thick client)转移到瘦客户(thin client)模 式。瘦客户将应用程序用户界面的显示从显示的控制逻辑中分离了出来。这种从胖客户的 转移提供了许多优点。下面列出了其中一些重要的优点: 开发人员可以将应用程序或应用程序的更新版本部署到一个 集中的应用程序部署: 集中的应用程序服务器,而不是访问应用程序的多台客户计算机。 强制信息保持一致:每一个用户都共享同一种信息查看方式,而不是采用在个人的 客户计算机上配置的查看方式。
·6·
JSP 网络开发技术及整合应用
地生成响应(可能要查询数据库来完成这项请求),然后发送包含 HTML 或 XML 文档的 响应到浏览器。
注意:一个 Java Servlet 就是一个基于 Java 技术的运行在服务器端的程序(与 Applet 不
同,后者运行在浏览器端)。Servlet 会在本书第 4 章介绍。 采用这种方法,整个网页必须都在 Java Servlet 中制作。如果开发人员或者 Web 管理人 员想要调整页面显示,就不得不编辑并重新编译该 Java Servlet,即使在逻辑上已经能够运 行了。采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。 很显然,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案 将解决当前方案所受到的限制。如下: 能够在任何 Web 或应用程序服务器上运行。 将应用程序逻辑和页面显示分离。 能够快速地开发和测试。 简化开发基于 Web 的交互式应用程序的过程。 JSP 技术就是被设计用来满足这样的要求的。JSP 规范是 Web 服务器、应用服务器、交 易系统以及开发工具供应商间广泛合作的结果。 Sun 开发出这个规范来整合和平衡已经存在 的对 Java 编程环境(例如,Java Servlet 和 JavaBeans)进行支持的技术和工具。其结果是产 生了一种新的、开发基于 Web 应用程序的方法,给予使用基于组件应用逻辑的页面设计者 以强大的功能。
1.1
认识 HTTP 协议
HTTP 协议(Hypertext Transfer Protocol,超文本传送协议)是 WWW 服务器使用的主 要协议,对 HTTP 协议细节的基本理解是编写 JSP 或 Java 小程序的开发人员所必需的。因 此在学习 JSP 技术之前有必要更加仔细地研究一下 HTTP 消息的格式(这里的讨论源自 HTTP / 1.1 协议规范。参见规范 2616 ,网址为 http://www.ietf.org/rfc/rfc2616.txt )。 HTTP 协议的关键部分有 HTTP 请求和 HTTP 响应,以及客户端 Web 程序设计的一些基础知识, 在第 4 章 4.4 节将会具体介绍。
1.2.3
VBScript
在发布 JScript 的同时,Microsoft 还开发了 VBScript 作为其 Visual Basic 程序设计语言 的解释子集。Microsoft 专门开发了 VBScript ,用于在 Microsoft 的 Internet Explorer 上支持 Active X 控件。 Active X 是 Microsoft 拥有的面向对象的软件组件模型。像 JavaScript 一样, VBScript 需要在浏览器中存在解释器支持。 Microsoft 将 VBScript 定位于 JavaScript 的一种变化形式, 以供那些已经掌握了 Visual Basic 的程序员使用。只有 Microsoft 的浏览器和 Microsoft 的 Web 服务器 Internet 信息服务(Internet Information Service)才支持 VBScript。
1.3.1
JSP 的开发背景及发展历史
在万维网短暂的历史中,万维网已经从一个大部分显示静态信息的网络演化到对股票 进行交易和进行购书操作的一个基础设施。在各种各样的应用程序中,对于可能使用的基 于 Web 的客户端,看上去没有任何限制。 基于浏览器客户端的应用程序比传统的基于客户机/服务器的应用程序有几个好处。这 些好处包括几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应 用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的 应用程序)。这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。 这些快速增长的精巧的基于 Web 的应用程序要求开发技术上的改进。 静态 HTML 对于 显示相对静态的内容是不错的选择;新的挑战在于创建交互的基于 Web 的应用程序,在这 些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。 对于这个问题的一个早期解决方案是使用 CGI-BIN 接口。开发人员编写与接口相关的 单独的程序,以及基于 Web 的应用程序,后者通过 Web 服务器来调用前者。这个方案有着 严重的扩展性问题——每个新的 CGI 要求在服务器上新增一个进程。如果多个用户并发地 访问该程序,这些进程将消耗该 Web 服务器所有的可用资源,并且系统性能会降低到极其 低下的地步。 某些 Web 服务器供应商已经尝试通过为他们的服务器提供“插件”和 API 来简化 Web 应用程序的开发。这些解决方案是与特定的 Web 服务器相关的,不能解决跨多个供应商的 解决方案的问题。例如,微软的 Active Server Pages(ASP)技术使得在 Web 页面上创建动 态内容更加容易,但也只能工作在微软的 IIS 和 Personal Web Server 上。 还存在其他的解决方案,但都不能使一个普通的页面设计者能够轻易地掌握。例如, 像 Java Servlet 这样的技术就可以使得用 Java 语言编写交互的应用程序的服务器端的代码变 得容易。开发人员能够编写出这样的 Servlet,以接收来自 Web 浏览器的 HTTP 请求,动态
1.2.1
CSS
CSS(Cascading Style Sheets)称为层叠样式表,是动态 HTML 技术的一个部分,但可
第1章
JSP 技术简介
·3·
以和 HTML 结合使用。CSS 利用各式的范本样式来辅助 HTML,其简洁的语法可以容易地 控制 HTML 标记,而且最大的特点是可以将内容(HTML)与格式分开处理(以.CSS 为后 缀存储成一个独立的文件)。