本书面向的读者
本书是为任何想创建先进Web应用的人编写的。
如果您是一名Webmaster或网页设计师,并希望创建动态的、由数据驱动的Web页,本书便是为您而写的;如果您是一名有经验的数据库管理员,希望利用Web发布或收集数据,本书也是为您而写的;如果您刚开始创建Web内容,但知道自己以后提供的不仅仅是静态内容,本书将指引您达到这一目标;如果您以前用过ColdFusion,想学习ColdFusion 5的新内容,本书也是为您而写的。即便您不是一名有经验的ColdFusion用户,本书也将为您提供宝贵的建议和技巧。同时,本书还是一本权威性的开发者参考。
本书教您如何创建现实世界的应用程序,用于解决实际问题。在学习过程中,您将掌握设计、实现、测试与部署世界级应用程序的所有技巧。
如何使用本书
本书服务于两个不同但却相互补充的目的。
首先,它是一本完整的教程,向您传授发掘ColdFusion潜力所需的一切知识。为此,本书划分为4个部分,每一部分都以前一部分的内容为基础,讲解一系列新主题。理想情况下,您应顺序通读这些部分。首先从ColdFusion的基础开始,然后逐步转移至较高级的主题。
其次,本书是一本价值无限的桌面参考工具。附录和配套光盘提供了一系列参考章节,它们是您开发ColdFusion应用程序时的好帮手。这些参考章节交叉引用了对应的教程小节,所以您随时都可切换到教程正文,展开自己的学习之旅。
第一部分"新手上路"
本书第一部分概述了ColdFusion,并详尽解释了它的功用。Internet的基础知识也在此进行了讲述;为了进行ColdFusion应用程序开发,对它的透彻理解是颇为必要的。这一部分还涵盖了数据库、SQL、ColdFusionStudio。以及帮助您快速开始及运行的其他一切东西。
在第1章"ColdFusion简介"中,讲解了ColdFusion所基于的一系列核心技术。在此解释了Internet及其工作原理,另外还介绍了DNS服务器和UBL、Web服务器和浏览器、HTML以及Web服务器扩展。对于这些技术的一个很好理解是创建基于Web的应用程序所必需的。本章还会向您解释ColdFusion是如何工作的,并解释了构成它的各个不同的组件。
第2章"安装ColdFusion和ColdFusionStudio"讲解ColdFusion的硬件和操作系统需求,并带着您走完安装ColdFusionApplication Server和ColdFusion Server开发环境的整个过程。本书使用的示例应用程序也在此进行了安装。
第3章"构建数据库"对数据库及其相关术语进行了全面概括。数据库是几乎每一个ColdFusion应用程序的集成部分,所以数据库的概念及其技术是您必须良好理解的。数据库是用于存储及提取信息的一种机制,您构建的几乎所有基于Web的应用程序都会以这样或那样的形式依赖于一个数据库。一些关键的数据库概念,比如表、行、列、数据类型、键和索引等等,也将在此进行讲述,同时讲解的还有关系数据库模型的基础知识。您还会学习基于客户机服务器以及基于共享文件的数据库之间的差异,并了解它们各自的优缺点。
第4章"访问ColdFusion Administrator"介绍了ColdFusion Administrator程序。这是一个以Web为基础的程序,本身便是用ColdFusion编写的,负责对ColdFusion Application Server的方方面面进行管理和维护。
为满足您提早浏览庐山之全貌的欲望,第5章"ColdFusion预览"带领您使用ColdFusion Studio向导,创建几个实际运行的应用程序(从极其简单到非常复杂的程序)。在这之后,您甚至可以试着用人工方式编写一个应用程序。
在第6章"SQL简介"中将学习SQL语言的基础。SQL是一种同数据库应用程序交互的标
准语言,所有ColdFusion数据库操作都是用SQL"语句来执行的。ColdFusion同数据库本身之间的链接是通过ODBC比进行的,所以本章将向您介绍这一技术,并指导您完成创建ODBC数据源的全过程。本章还教您如何使用SQL的SELECT语句。
第7章"SQL数据处理"介绍另外三个重要的SQL语句:INSERT、UPDATE和DELETE。
第8章"ColdFusion Studio简介"介绍ColdFusion开发环境。ColdFusion Studio。是一种功能强,大的HTML和CFML编辑器,它具有一系列丰富的特性,专门设计用于简化Web页的设计以及应用程序的开发。您将学习如何使用编辑器、Tag Chooser以及Expression Builder。同时,还要学习如何对环境进行配置,以便按您希望的方式工作。最后,还会学习如何利用Studio进行远程开发。
第二部分 "使用ColdFusion"
. 掌握了所有新手必备的知识后,从第二部分开始,将带领您快速进人实际的开发。首先从语言的基础知识开始,再转移到由数据库驱动的应用程序等等。本部分的各章将以比您想像快得多的速度,指导您使用ColdFusion快速地进行生产性开发。
第9章"使用ColdFusion"介绍了ColdFusion模板,并解释了如何创建和使用它们。各种变量在此得到了解释(包括一些复杂的变量类型,比如数组和结构),同时解释的还有CFML函数和(CFSET)和(CFOUTPUT)标记。
第10章"CFML基础"教会您掌握所有主要的CFML程序流程控制语言元素。从if语句(使用(CFIF))到循环(使用(CFLOOP)),到开关语句(使用(CFSWITCH]和(CFCASE)),再到模板复用(使用(CFINCLUDE))……本章解释了ColdFusion开发人员经常要使用的几乎所有标记。同时,您还会看到真正的、可实际使用的例子。
从第11章"创建数据驱动页"开始,您将开始创建自己的第一个由数据驱动的ColdFusion应用程序,虽然它只不过是一个极其简单的程序。您还会学习如何使用(CFQUERY)来创建查询,用它从自己的数据库中提取动态数据;以及如何用(CFOUTPUT)显示查询结果。另外,在此还讲解了各种格式化技术,包括表格和列表的使用。用于显示Web数据的一个方法是数据挖掘(现已变得非常流行),这种数据交互方法也在此得到了讲述。
在第12章"ColdFusion表单"中,您将学习如何通过HTML表单,收集由用户提供的数据。这些数据可用于构建动态SQL语句,以便在创建动态数据库查询时,为您提供无限的灵活性。本章还会向您解释如何创建搜索屏幕,以便让访问者按您的意愿,搜索尽可能多的字段。
第13章"表单数据校验"将继续讲解从用户那里收集数据这一主题,解释了进行数据校验时可选的各种技术和选项。ColdFusion可自动创建JavaScript客户端校验码,而您不必学习JavaScrip。您会学习如何使用这一特性,以及如何提供您自己的校验规则。
第14章"用表单添加和修改数据"解释如何利用表单,对数据库的表进行数据添加、更新和删除操作。(CFINSERT)和(CFUPDATE)这两个ColdFusion标记在此得到了讲述,您还会学习如何利用(CFQUERY)来插入、更新和删除数据。
第15章"调试与疑难解答"解释了进行ColdFusion应用程序开发时,有可能遇到的各类错误,以及针对它们可采取哪些对策。您将学习如何使用ColdFusion的调试和记录特性,以及如何使用功能强大的集成调式器;更重要的是,您会在此学习帮助自己在第一时间便避免问题出现的技巧和技术。
在第16章"MacromediaDreamwerver UltraDev与ColdFusion的配合使用"中,将介绍Macro-media的另一个产品--UltraDev。UltraDev是一个基于图形的应用程序生成工具,可用它创建完整的ColdFusion应用程序,只需最少的编码工作量。第三部分"构建ColdFusion应用程序"
第二部分的重点是ColdFusion的编码。在第三部分,我们将在创建完整的应用程序期间,将以前讲述的所有思想及概念整合到一起。
有经验的开发者知道必须先仔细拟定计划,然后才能写出优秀的代码。第17章"计划应用程序"将向您传授重要的设计和计划技术,您可在自己的开发过程中善加利用。
第18章"运用项目"介绍如何使用集成的ColdFusionStudio项目工具。利用这一能帮您节省时间的特性,可统一操纵整个应用程序,而且一步走的部署简化了发布过程。
在第19章"Web应用程序框架入门"中,您将学习如何利用ColdFusionWeb应用程序框架,来简化使用持久性CLIENT变量,操作复杂的参数和变量,以及自定义错误消息控制。您还会学习如何利用应用程序模板来创建应用程序范围之内的设置和选项,以及如何使用处-PLICATION作用域(包括锁定)。
第20章"运用会话"将教会您掌握CLIENT和SESSION变量所需的一切,同时还会讲解HTTPCookie。如果您想创建一个完整的应用程序,对一个客户机的状态进行跟踪,那么这些特殊数据类型将扮演关键性角色。
第21章"ColdFusion的安全问题"将介绍重要的安全概念,并解释您应关心哪些方面的问题,以及为什么需要关心。您会学习如何创建登录屏幕、访问控制等等。编写代码时,应牢记"复用性"的问题;这对所有开发来说都是适用的,ColdFusion也不例外。在ColdFusion中,实现代码复用的主要工具便是自定义标记。在第22章"构建可复用组件"中,将从头开始向您讲解自定义标记。
第23章"改进用户体验"帮您创建令人舒适的应用程序。您将学习一些重要的用户界面概念,并学习如何构建复杂的浏览屏幕,等等。
开发者经常都在寻找对其代码进行优化的方法,尽一切可能提升哪怕是一丁点儿的性能。第24章"改进性能"提供了相关的提示、技巧和技术,可利用它们创建一直都能保持明快色彩,而且响应迅速的应用程序。在第25章"用客户端Java增强表单"中,您将学习如何利用由ColdFusion提供的Java表单控件。包括一个Windows资源管理器风格的树形控件、一个可供编辑的网格控件、一个滑杆控件,以及一个可全面配置的文字输入控件。您还要学习如何使用(CFAPPLET)标记,嵌入自己的Javaapplet。
为创建内容丰富的、高度交互的、可移植的以及轻量级的用户界面,MacromediaFlash正在快速成为一种主要的工具。第26章"同Macromedia Flash的集成"从ColdFusion开发者的角度,向您介绍了Flash;并解释了两者如何配合使用。
第27章"图表制作"介绍了ColdFusion最新的高性能图表制作引擎。您将学习如何用<CFGRAP>标记创建各种商业图形(包括棒图、饼图等),以便在自己的应用程序中使用。
第28章"与电子邮件交互"介绍了ColdFusion的电子邮件功能。ColdFusion允许您通过它的(CPMAIL标记,创建基于SMTP的电子邮件。您将学习如何发送包含了由用户提交的表单字段的电子邮件,如何通过电子邮件传送一次数据库查询的结果,以及如何根据来自数据库表的地址,进行大宗邮件的寄送。此外,您还要学习如何使用(CFPOP)标记;从POP邮箱收取邮件。
第29章"网上商务"向您介绍如何开展实时电子商务,其中包括信用卡验证。您将在此构建一个完全能正式使用的购物车程序--在您编写自己的购物程序时,完全能以它为基础。第四部分"高级ColdFusion"
第四部分向您介绍高级的ColdFusion功能及技术。撰写本部分各章时,我们假定您已经熟悉了基本的SQL语法,而且非常习惯于ColdFusion模板的创建。
在第30章"ColdFusion Server配置"中,我们重拾ColdFusion Administrator的话题。不过这.一次,我们要解释它的每个选项及特性,同时提供相关的提示、技巧和建议,以便对ColdFusion服务器进行调节。
第31章"SQL和查询的更多话题"将解释如何使用子查询和Join功能,创建功能强大的SQL语句。并解释了它们各自的优点和缺点。您还会学习如何使用EXISTS、NOTEXISTS和DISTINCT关键字来计算平均值、总计值以及计数值。
第32章"运用存储过程"进一步讲述SQL的高级主题,将带领您学习如何创建存储过程,以及如何把它们集成到自己的ColdFusion应用程序。
第33章"错误控制"教您如何创建比较完美的应用程序,它既能报告错误,也能善解人意地处理各种错误情况。您将学习如何使用(CFTRY)和(CFCATCH)标记,以及如何把它们作为一套完整的错误控制策略的一部分。
ColdFusion主要用来生成Web内容,但那并不是它惟一能做的事情。在第34章"生成非HTML内容"中,您将学习如何使用[CFCONTENT]为一些流行的应用程序生成内容(比如Microsoft Word和Microsoft Execl),其中甚至包括像WAP这样的时髦技术。
第35章"同操作系统交互"讲解了功能强大的、灵活的ColdFusion(CFFILE)和(CFDI-RECTORY)标记。您将学习如何创建、读取、写入和追加本地文件;处理目录;甚至为自己的表单添加文件上传功能。另外,还会学习如何在很必要的时候,调用外部的其他应用程序。
第36章"用Verity进行全文检索"介绍了Verity搜索引擎。Verity提供了一种特殊的机制,可对所有类型的数据执行全文检索。Verity引擎是同ColdFusion Application Server捆绑在一起提供的。另外,(CFINDEX)和[CFSEARCH)标记允许从应用程序内部,提供对Verity索引的完全访问。
第37章"事件调度"教您创建定时自动执行的任务。您还要学习如何使用ColdFusion的调度技术,动态地生成静态HTML页面;
在第38章"代码管理"中,要学习编码标准、文档、版本控制等等,同时还要了解它们的重要性何在。您将学习如何使用ColdFusion的内建版本控制系统,以及如何同现有的、自己的版本控制系统打交道。
第39章"开发方法论"将继续编码标准的主题,向您介绍几种流行的、独立的开发方法学,它们是专门为ColdFusion的开发而设计的。
第五部分"附录"
附录A"ColdFusion标记索引"按字母顺序列出了所有CMFL标记及其描述。它设计用于同配套光盘上的完整的、可检索的"ColdFusion Tag Reference"联合使用。
附录B"ColdFusion函数索引"完整地列出了每一个CFML函数,并按类别进行组织。它设计用于同配套光盘上的完整的、可检索的"ColdFusion Function Reference"联合使用。
附录C"CorldFusion特殊变量和结果代码"列出了所有可在应用程序中使用的特殊变量、前缀和标记结果代码。
附录D"Verity搜索语言参考"是对Verity搜索语言的一个完全参考指南。利用这里提供的信息,您只需付出最少的代价,即可执行令人难以置信的、异常复杂的搜索。
附录E"实例应用程序数据文件"列出了贯穿全书的各示例应用程序的数据库表的格式。
配套光盘
根据大量读者的建议,CFML标记及函数索引做成了电子格式(以便搜索和打印)。下面两份索引放到了本书的配套光盘上:
"ColdFusionTag Reference"(采用PDF格式)是对所有ColdFusion标记的一份权威索引,
附带详细的说明和语法表,每一个都提供了相应的例子。主题采取交叉引用的形式,便于您查阅相关的主题,以及在书中对应的指导性章节。
."ColdFusion Function Reference" (采用PDF格式)是对所有CFML函数的一份权威性指南,按类别进行组织。每个函数都有详细的说明和示例,同时也提供了全面的交叉引用。
此外,配套光盘还包括了您开始编写ColdFusion应用程序所需的一切,包括:
.ColdFusion5的测试版本(分别有Windows、WindowsNT、Windows2000、Solaris和Linux版本)。
.ColdFusion Studio 5的测试版本。
.本书所有示例的源码和数据库。
.30个附加标记,可直接在您自己的应用程序中使用。
.其他参考材料和资源。坐下来,轻松一下,翻开本书开始您的阅读之旅。用不了多长时间,您便能创建功能强大的、由ColdFusion驱动的应用程序。