了解 Web 应用程序

上次更新日期: 2021年12月20日

用户界面已经在 Dreamweaver 和更高版本中做了简化。 因此,您可能在 Dreamweaver 和更高版本中找不到本文中描述的一些选项。 有关详细信息,请参阅此文章

关于 Web 应用程序

Web 应用程序是包含部分或完全未确定内容页面的网站。页面的最终内容仅在访客从 Web 服务器请求页面时确定。由于页面的最终内容会根据访客的操作而在每次请求时发生变化,因此这种页面称为动态页面。

Web 应用程序用于解决各种挑战和问题。本部分介绍了 Web 应用程序的常见用途并提供一个简单示例。

Web 应用程序的一般用途

Web 应用程序对网站访客和开发人员都有许多用途,包括以下内容:

  • 让访客在内容丰富的网站上快速轻松地查找信息。

    这种 Web 应用程序让访客能够按照自己的方式搜索、组织和导航内容。示例包括公司内网、Microsoft MSDN (www.msdn.microsoft.com) 和 Amazon.com (www.amazon.com)。

  • 收集、保存和分析站点访问者提供的数据。

    过去,在 HTML 表单中输入的数据会作为电子邮件发送给员工或 CGI 应用程序进行处理。Web 应用程序可以直接将表单数据保存到数据库中,并且还可以提取数据并创建基于 Web 的报告进行分析。示例包括网上银行页面、网络商店结账页面、调查和用户反馈表单。

  • 对内容不断变化的网站进行更新。

    Web 应用程序让 Web 设计师无需持续更新地点的 HTML。内容提供者(如新闻编辑)为 Web 应用程序提供内容,Web 应用程序会自动更新网站。示例包括 Economist (www.economist.com) 和 CNN (www.cnn.com)。

Web 应用程序示例

Janet 是一名专业的 Web 设计师,也是 Dreamweaver 的长期用户,负责维护一家拥有 1000 名员工的中等规模公司的内网和 Internet 地点。有一天,人力资源部的 Chris 找她解决一个故障。人力资源部管理一项员工健身项目,为员工的每英里步行、骑行或跑步给予积分。每位员工必须通过电子邮件向 Chris 报告其每月英里总数。月末,Chris 收集所有电子邮件并根据员工的积分总数颁发小额现金奖励。

Chris 的问题是这个健身计划太成功了。 如今参与的员工太多,Chris 在每个月末都会收到大量电子邮件。Chris 询问 Janet 是否有基于 Web 的解决方案。

Janet 建议使用基于 Intranet 的 Web 应用程序来执行以下任务:

  • 让员工使用简单的 HTML 表单在网页上输入他们的里程

  • 将员工的英里数存储在数据库中

  • 根据英里数数据计算健身积分

  • 允许员工跟踪他们每月的进展情况

  • 让 Chris 在每月月末一键访问积分总数

    Janet 在午餐时间之前使用 Dreamweaver 启动并运行应用程序,Dreamweaver 拥有她快速轻松构建此类应用程序所需的工具。

Web 应用程序如何工作

Web 应用程序是静态和动态网页的集合。静态网页是指网站访客请求时不会更改的网页:Web 服务器将页面发送到请求的 Web 浏览器时不会对其进行修改。相反,动态网页在发送到请求的浏览器之前会被服务器修改。页面之所以被称为动态,正是因为其内容会变化。

例如,您可以设计一个页面来显示健身结果,同时将某些信息(如员工姓名和结果)留到特定员工请求页面时再确定。

接下来的部分将更详细地描述 Web 应用程序的工作原理。

处理静态网页

静态网站由托管在运行 Web 服务器的计算机上的一组相关 HTML 页面和文件组成。

Web 服务器是响应 Web 浏览器请求提供网页服务的软件。当访客单击网页上的链接、在浏览器中选择书签或在浏览器地址文本框中输入 URL 时,会生成页面请求。

静态网页的最终内容由页面设计者确定,在请求页面时不会更改。以下是一个示例:

<html>

<head>

<title>Trio Motors Information Page</title>

</head>

<body>

<h1>About Trio Motors</h1>

<p>Trio Motors is a leading automobile manufacturer.</p>

    </body> 

</html>

页面 HTML 代码的每一行都是在页面放置到服务器上之前由设计者编写的。因为 HTML 一旦放置到服务器上就不会更改,所以这种页面被称为静态页面。

严格来说,“静态”页可能不是完全静态的。 例如,一个鼠标经过图像或一个 Flash 内容(SWF 文件)可以使静态页活动起来。 因此,本文档所说的静态页是在发送到浏览器时不进行修改的页。

当 Web 服务器收到静态页面请求时,服务器会读取请求、找到页面并将其发送到请求的浏览器,如以下示例所示:

处理静态网页

A. Web 浏览器请求静态页面。 B. Web 服务器查找该页面。 C. Web 服务器将该页面发送到请求浏览器。 

对于 Web 应用程序,当访客请求页面时,某些代码行是未确定的。这些行必须通过某种机制来确定,然后才能将页面发送到浏览器。以下部分将讨论该机制。

处理动态页面

当 Web 服务器收到对静态网页的请求时,服务器会将页面直接发送给发出请求的浏览器。但是,当 web 服务器接收到动态页面请求时,它的反应有所不同:它将页面传递给负责完成页面的特殊软件。这个特殊软件叫做应用程序服务器。

应用程序服务器读取页面上的代码,根据代码中的指令完成页面,然后从页面中删除代码。结果是应用程序服务器传递回 web 服务器的静态页面,然后 web 服务器将页面发送给请求的浏览器。页面到达时浏览器获得的全部是纯 HTML。下面是此过程的示意图:

处理动态页面

A. Web 浏览器请求动态页面。 B. Web 服务器查找该页面并将其传递给应用程序服务器。 C. 应用程序服务器扫描该页面中的指令并完成该页面。 D. 应用程序服务器将完成的页面传递回 Web 服务器 E. Web 服务器将完成的页面发送到请求浏览器 

访问数据库

应用程序服务器允许您使用服务器端资源,如数据库。例如,动态页面可能指示应用程序服务器从数据库中提取数据并将其插入到页面的 HTML 中。有关详细信息,请参阅 www.adobe.com/go/learn_dw_dbguide_cn

使用数据库存储内容允许您将网站的设计与要向网站用户显示的内容分开。您只需为要呈现的不同类型信息编写一个页面或模板,而不是为每个页面编写单独的 HTML 文件。然后,您可以将内容上载到数据库中,然后让网站响应用户请求检索该内容。您还可以在单一来源中更新信息,然后将该更改应用到整个网站,而无需手动编辑每个页面。您可以使用 Adobe Dreamweaver 设计网页表单,以便从数据库中插入、更新或删除数据。

从数据库中提取数据的指令称为数据库查询。查询包含以称为 SQL(结构化查询语言)的数据库语言表达的搜索条件。SQL 查询被写入页面的服务器端脚本或标记中。

应用程序服务器无法与数据库直接通信,因为数据库的专有格式使数据变得无法解读,就像在 Notepad 或 BBEdit 中打开 Microsoft Word 文档可能无法解读一样。应用程序服务器只能通过数据库驱动程序这一中介与数据库进行通信,该驱动程序是充当应用程序服务器和数据库之间解释器的软件。

驱动程序建立通信后,将对数据库执行查询并创建记录集。记录集是从数据库中的一个或多个表中提取的一组数据。记录集返回到应用程序服务器,应用程序服务器使用数据来完成页面。

下面是一个用 SQL 编写的简单的数据库查询:

SELECT lastname, firstname, fitpoints

FROM employees

此语句创建一个 3 列记录集,并用包含数据库中所有员工的姓氏、名字和健身点数的行填充它。有关详细信息,请参阅 www.adobe.com/go/learn_dw_sqlprimer_cn

以下示例显示了查询数据库并将数据返回给浏览器的过程:

访问数据库

A. Web 浏览器请求动态页面。 B. Web 服务器查找该页面并将其传递给应用程序服务器。 C. 应用程序服务器扫描该页面中的指令。 D. 应用程序服务器将查询发送到数据库驱动程序。 E. 驱动程序对数据库执行查询。 F. 将记录集返回给驱动程序。 G. 驱动程序将记录集传递给应用程序服务器 H. 应用程序服务器将数据插入页面中,然后将该页面传递给 Web 服务器 I. Web 服务器将完成的页面发送到请求浏览器。 

您可以将几乎任何数据库用于您的 Web 应用程序,只要 服务器上安装了相应的数据库驱动程序。

如果您计划构建 小型低成本应用程序,您可以使用基于文件的数据库, 例如在 Microsoft Access 中创建的数据库。如果您计划构建强大的商业 重要应用程序,您可以使用基于服务器的数据库,例如在 Microsoft SQL Server、Oracle 9i 或 MySQL 中创建的数据库。

如果您的数据库位于 Web 服务器以外的系统上, 请确保两个系统之间有快速连接, 以便您的 Web 应用程序可以快速高效地运行。

创作动态页

创作动态页就是先编写 HTML,然后将服务器端脚本或标签添加到 HTML 中,使该页成为动态页。 当您查看结果代码时,语言将显示为嵌入在页的 HTML 中。 因此,这些语言称为 HTML 嵌入式编程语言。 以下基本示例使用 ColdFusion 标记语言 (CFML):

注意:Dreamweaver 及更高版本已删除 CFML 支持。

<html>

<head>

<title>Trio Motors Information Page</title>

</head>

<body>

<h1>About Trio Motors</h1>

<p>Trio Motors is a leading automobile manufacturer.</p>

<!--- embedded instructions start here --->

<cfset department="Sales">

<cfoutput>

<p>请务必访问我们的#department#页面。</p>

</cfoutput>

<!--- embedded instructions end here --->

    </body> 

</html>

此页面上的嵌入式指令执行以下 操作:

创建名为 department 的变量 并将字符串 "Sales" 分配给它。

在 HTML 代码中插入 变量的值 "Sales"

应用程序服务器将以下页面返回给 Web 服务器:

<html>

<head>

<title>Trio Motors 信息页面</title>

</head>

<body>

<h1>关于 Trio Motors</h1>

<p>Trio Motors 是领先的汽车制造商。</p>

<p>请务必访问我们的销售页面。</p>

    </body> 

</html>

web 服务器将页面发送到发出请求的浏览器,浏览器将其显示如下:

关于 Trio Motors

Trio Motors 是领先的汽车制造商。

请务必访问我们的销售页面。

您可以根据服务器上可用的技术来选择要使用的脚本或基于标记的语言。以下是 Dreamweaver 支持的服务器技术中最受欢迎的语言:

服务器技术

语言

ColdFusion

ColdFusion 标记语言 (CFML)

Active Server Pages (ASP)

VBScript

JavaScript

PHP

PHP

Dreamweaver 可以创建使您的页面正常工作所需的服务器端脚本或标记,您也可以在 Dreamweaver 编码环境中手动编写它们。

Web 应用程序术语

本部分定义了与 web 应用程序相关的常用术语。

应用程序服务器

帮助 web 服务器处理包含服务器端脚本或标记的网页的软件。当从服务器请求此类页面时,web 服务器会将页面转交给应用程序服务器进行处理,然后再将页面发送到浏览器。有关更多信息,请参阅 Web 应用程序的工作原理

常见的应用程序服务器包括 ColdFusion 和 PHP。

数据库

存储在表中的数据集合。表的每一行构成一条记录,每一列构成记录中的一个字段,如以下示例所示:

数据库

数据库驱动程序

充当 Web 应用程序和数据库之间的解释器的软件。数据库中的数据以专有格式存储。数据库驱动程序让 web 应用程序能够读取和操作原本无法理解的数据。

数据库管理系统

(DBMS 或数据库系统)用于创建和操作数据库的软件。常见的数据库系统包括 Microsoft Access、Oracle 9i 和 MySQL。

数据库查询

从数据库中提取记录集的操作。 查询由用 SQL 这种数据库语言表达的搜索条件组成。例如,查询可以指定在记录集中只包含某些列或某些记录。

动态页

由应用程序服务器在发送到浏览器之前自定义的网页。

记录集

从数据库中的一个或多个表提取的一组数据,如以下示例:

记录集

关系型数据库

包含多个表的数据库,这些表共享数据。以下数据库是关系型数据库,因为两个表共享 DepartmentID 列。

关系型数据库

服务器技术

应用程序服务器用来在运行时修改动态页面的技术。

Dreamweaver 开发环境支持以下服务器技术:

  • Adobe® ColdFusion®

  • Microsoft Active Server Pages (ASP)

  • PHP: 超文本预处理器 (PHP)

    您还可以使用 Dreamweaver 编码环境为未列出的任何其他服务器技术开发页面。

静态页

应用程序服务器在将页面发送到浏览器之前不会修改的 web 页面。有关更多信息,请参阅正在处理静态网页

Web 应用程序

包含部分或完全未确定内容的页面的网站。只有当访问者从 web 服务器请求页面时,才会确定这些页面的最终内容。由于页面的最终内容会根据访问者的操作而因请求而异,因此这种页面称为动态页面。

Web 服务器

响应来自 web 浏览器的请求而发送网页的软件。当访问者点击浏览器中网页上的链接、在浏览器中选择书签或在浏览器的地址文本框中输入 URL 时,就会生成页面请求。

流行的 web 服务器包括 Microsoft Internet Information Server (IIS) 和 Apache HTTP Server。