ColdFusion,第1张

ColdFusion,第2张

ColdFusion是一种类似于HTML的基于标记的语言,对于直接学习HTML的人来说,它被公认为是相当容易学习的。

虽然ColdFusion是一种编程语言,但许多程序员(错误地)认为它更像是一种脚本语言,因为它非常简单的基于标记的语法、无类型变量以及对版本6 (MX)之前的基于web的应用程序以外的任何编程的弱支持。事实上,这种误解(认为ColdFusion是一种脚本语言)非常普遍,以至于它经常掩盖了ColdFusion真正成为的东西,即原始J2EE或。NET开发,比像VBA或Javascript这样的脚本语言与Bowstreet的门户开发套件中的产品更密切相关。想象一下,将Struts、Spring、Hibernate、JavaServer Faces和各种Apache组件(XML-FOP、Commons和其他一些零碎的东西)组合在一起,合成为一个连贯的产品,您就接近ColdFusion的发展了。
内容


ColdFusion早期

该语言及其应用服务器最初是由J. J. Allaire和他的兄弟Jeremy Allaire创建的。最初的服务器是一个数据库到web应用程序的引擎,可以访问所有随页面请求一起传递的CGI信息。这个基础的开端被扩展了很多次,直到服务器和语言成为一个可靠的企业级产品。该引擎最初是用C++基础编写的,它将模板编译成p代码。

的版本

在2000年之前的某个时候,Allaire开始使用Java(代号“Neo”)重写ColdFusion的基础,这将允许不同平台之间更大的可移植性。

2001年1月16日,Allaire宣布将与Macromedia合并。合并后不久,Macromedia继续发布ColdFusion 5.00的增量版本,2002年6月,Macromedia发布了Macromedia ColdFusion MX (6.0),扩展了Macromedia产品线的命名惯例。ColdFusion MX是完全重新构建的,基于Java 2平台企业版(J2EE)平台。ColdFusion MX还设计为使用Macromedia Flash Remoting MX与Macromedia Flash很好地集成。

从MX (6.0)版本开始,ColdFusion被编译成字节码,就像JSP和ASP.NET一样。已编译的。类文件很容易访问,并且在它们的源代码改变之前会被缓存,就像JSP一样。

随着ColdFusion MX的发布,CFML语言也被扩展以支持基本的OOP。除了基于标记的CFML语法之外,ColdFusion还支持可以用类似JavaScript的语言编写的嵌入式脚本。

ColdFusion MX 7

随着ColdFusion 7.0的发布,命名约定得到了修改,产品名称为“Macromedia Coldfusion MX 7”。CFMX 7增加了基于Flash的web表单和报告生成器,可以输出Adobe PDF以及F lash Paper、RTF和Excel。Adobe PDF输出也可以作为任何HTML页面的包装器,将该页面转换为高质量的可打印文档。企业版还增加了网关。(这些提供了与诸如IM服务、SMS、目录监视器和异步执行的交互...或者添加您自己的网关。)在这个版本中,XML支持得到了增强,包括了原生模式检查。

Coldfusion中的面向对象编码

Coldfusion最初不是面向对象的编程语言,即使在今天也缺乏一些面向对象的特性。这种缺陷在动态类型语言中很常见,在Ruby等语言中也是如此。然而,在MX版本(6+)中,Coldfusion引入了类似于面向对象语言(如Java、Smalltalk和C++)中的类的组件语言结构。每个组件可以包含任意数量的属性和方法。一个组件也可以扩展另一个组件(继承)。组件只支持单一继承,目前不支持Java风格的接口。另一方面,Ruby风格的Mixins正变得流行,并取代了接口。Coldfusion组件使用文件扩展名cfc将它们与C oldFusion模板(.cfm)。还值得一提的是,由于MX分层架构,通过将纯java嵌入到您的CFML中,可以获得完全的面向对象支持(类似于JSP也支持java的嵌入)。

组件的另一个优点是组件方法可以作为web服务使用,不需要额外的编码和配置。所需要的只是将方法的访问声明为“远程”。Coldfusion会在组件的URL自动生成一个WSDL,例如:http://path/to/components/component . CFC?wsdl。除了SOAP,这些服务还以Flash Remoting二进制格式提供。

声明为remote的方法也可以通过HTTP GET请求调用,例如:HTTP://path/to/components/component . CFC?方法=搜索&查询=您的+查询&模式=严格。这将调用组件的搜索功能,传递参数“your query”和“strict”作为参数。

如果您导航到组件的URL并在组件的声明中插入适当的代码,Coldfusion服务器将自动为组件生成文档。这是一个组件自省的应用程序,适用于Coldfusion组件的开发人员。访问组件文档需要密码。

混合ColdFusion和Java

ColdFusion作为web应用程序运行,可以部署在许多受支持的servlet容器中,包括Jakarta Tomcat、Macromedia JRun和IBM WebSphere,甚至可以部署在. NET应用服务器(New Atlanta)上。

由于ColdFusion的Java代码库,可以将Java类与ColdFusion代码混合使用,以创建各种应用程序并利用现有的Java库。ColdFusion可以访问所有底层Java类,允许使用Java类。ColdFusion还支持混合使用JSP自定义标记库和CFML。

在ColdFusion 7.0.1之前,ColdFusion组件只能由Java或使用。NET,方法是将它们声明为web服务。但是,从ColdFusion MX 7.0.1开始,现在可以使用CFCProxy类直接在Java类中使用ColdFusion组件。

替代服务器环境

ColdFusion最初是基于Web技术行业标准的专有技术。然而,由于竞争产品的出现,它正在成为一种不那么封闭的技术。产品包括新亚特兰大的BlueDragon、IgniteFusion、Railo、Coral Web Builder和DigitalLattice Orange。

事实上,人们现在可以说ColdFusion甚至比raw J2EE或。因为ColdFusion将在. NET应用服务器(New Atlanta)或任何J2EE应用服务器(Websphere、JRun、Tomcat等)上运行。)理论上,您可以将ColdFusion应用程序原封不动地从J2EE应用服务器移动到. NET应用服务器。

首字母缩略词

ColdFusion标记语言的首字母缩写是CFML。当ColdFusion模板保存到磁盘时,它们通常被赋予扩展名。cfm或. cfml。cfc扩展用于ColdFusion组件。最初的扩展是DBM或DBML,代表数据库标记语言。当谈到ColdFusion时,大多数用户使用缩写CF,这用于许多ColdFusion资源,如用户组(CFUGs)和站点。

CFMX是ColdFusion版本6和7(也称为ColdFusion MX)的常见缩写。

[阅读关于ColdFusion的中文文章]

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » ColdFusion

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情