Active Learner -- Learning in my life!

Welcome To Forrest's Space! Welcome To Back!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

常用动态web页面技术简介

Posted on 2006-06-25 16:27  Forrest.Gao  阅读(4760)  评论(1编辑  收藏  举报

常用动态web页面技术简介

目前提供动态web页面内容有两种方法 即客户端动态web页面和服务器端动态web页面

一,客户端动态web页面技术
(1) JavaScript
     JavaScript语言的前身叫作Livescript。自从Sun公司推出著名的Java语言之后,Netscape公司引进了Sun公司有关Java的程序概念,将自己原有的Livescript 重新进行设计,并改名为JavaScript。JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,有了JavaScript,可使网页变得生动。使用它的目的是与HTML超文本标识语言、Java 脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。它是通过嵌入或调入在标准的HTML语言中实现的。
   JavaScript具有很多优点:
   1.简单性  JavaScript是一种脚本编写语言,它采用小程序段的方式实现编程,像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。
   2.动态性  JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,就称为“事件”。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
   3.跨平台性  JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。
   4.节省CGI的交互时间  随着WWW的迅速发展有许WWW服务器提供的服务要与浏览者进行交流,确浏览的身份、需服务的内等等,这项工作通常由CGI/PERL编写相应的接口程序与用户进行交互来完成。很显然,通过网络与用户的交互过程一方面增大了网络的通信量,另一方面影响了服务器的服务性能。服务器为一个用户运行一个CGI时,需要一个进程为它服务,它要占用服务器的资源(如CPU服务、内存耗费等),如果用户填表出现错误,交互服务占用的时间就会相应增加。被访问的热点主机与用户交互越多,服务器的性能影响就越大。
   JavaScript是一种基于客户端浏览器的语言,用户在浏览中填表、验证的交互过程只是通过浏览器对调入HTML文档中的JavaScript源代码进行解释执行来完成的,即使是必须调用CGI的部分,浏览器只将用户输入验证后的信息提交给远程的服务器,大大减少了服务器的开销。

(2)VBScript
VBScript是Microsoft Visual Basic Scripting Edition的简称,你可以把它当作是Visual Basic的一个子集,但是这仅仅是从语法上来说的,正如JavaScript和JAVA的关系一样,VBScript和Visual Basic并没有什么本质上的联系。它是一种脚本语言,由VBScript脚本引擎(其实是一个动态连接库VBScript.dll)解释执行。目前它主要用在WWW网页(只有IE能正确查看包含VBScript脚本的网页,如果Netscape要正确查看,则必须安装一个插件)以及微软的WWW服务器IIS支持的ASP。
易学易用 如果您已了解 Visual Basic 或 Visual Basic for Applications,就会很快熟悉 VBScript。即使您没有学过 Visual Basic,只要学会 VBScript,就能够使用所有的 Visual Basic 语言进行程序设计。
ActiveX Script
VBScript 使用 ActiveX™ Script 与宿主应用程序对话。使用 ActiveX Script,浏览器和其他宿主应用程序不再需要每个 Script 部件的特殊集成代码。ActiveX Script 使宿主可以编译 Script、获取和调用入口点及管理开发者可用的命名空间。通过 ActiveX Script,语言厂商可以建立标准 Script 运行时语言。Microsoft 将提供 VBScript 的运行时支持。Microsoft 正在与多个 Internet 组一起定义 ActiveX Script 标准以使 Script 引擎可以互换。 ActiveX Script 可用在 Microsoft® Internet Explorer 和 Microsoft® Internet Information Server 中。 其他应用程序和浏览器中的 VBScript 作为开发者,您可以在您的产品中免费使用 VBScript 源实现程序。Microsoft 为 32 位 Windows® API、16 位 Windows API 和 Macintosh® 提供 VBscript 的二进制实现程序。VBScript 与 World Wide Web 浏览器集成在一起。VBScript 和 ActiveX Script 也可以在其他应用程序中作为普通 Script 语言使用。

(3)Java小应用程序
用Java语言编写的程序叫做“Applet”(小应用程序),用编译器将它编译成类文件后,将它存在WWW页面中,并在HTML档上作好相应标记,用户端只要装上Java的客户软件就可以在网上直接运行“Applet”。 Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。Java摈弃了C++中各种弊大于利的功能和许多很少用到的功能。 Jave可以运行与任何微处理器,用Java开发的程序可以在网络上传输,并运行于任何客户机上。

(4)Flash
Flash是美国的MACROMEDIA公司于1999年6月推出的优秀网页动画设计软件。它是一种交互式动画设计工具,用它可以将音乐,声效,动画以及富有新意的界面融合在一起,以制作出高品质的网页动态效果。为什么用FLASH大家知道,HTML语言的功能十分有限,无法达到人们的预期设计,以实现令人耳目一新的动态效果,在这种情况下,各种脚本语言应运而生,使得网页设计更加多样化。然而,程序设计总是不能很好地普及,因为它要求一定的编程能力,而人们更需要一种既简单直观又功能强大的动画设计工具,而Flash的出现正好满足了这种需求。
FLASH的特点
1. 使用矢量图形和流式播放技术。与位图图形不同的是,矢量图形可以任意缩放尺寸而不影响图形的质量;流式播放技术使得动画可以边播放边下载,从而缓解了网页浏览者焦急等待的情绪。
2. 通过使用关键帧和图符使得所生成的动画()文件非常小,几K字节的动画文件已经可以实现许多令人心动的动画效果,用在网页设计上不仅可以使网页更加生动,而且小巧玲珑下载迅速,使得动画可以在打开网页很短的时间里就得以播放。
3. 把音乐,动画,声效,交互方式融合在一起,越来越多的人已经把Flash作为网页动画设计的首选工具,并且创作出了许多令人叹为观止的动画(电影)效果。而且在Flash4.0的版本中已经可以支持MP3的音乐格式,这使得加入音乐的动画文件也能保持小巧的‘身材’。
4. 强大的动画编辑功能使得设计者可以随心所欲地设计出高品质的动画,通过ACTION和FS COMMAND可以实现交互性,使Flash具有更大的设计自由度,另外,它与当今最流行的网页设计工具Dreamweaver配合默契,可以直接嵌入网页的任一位置,非常方便。


二 服务器端动态web页面技术

(1)CGI
 CGI是一个用于定Web服务器与外部程序之间通信方式的标准,使得外部程序能生成HTML、图像或者其他内容,而服务器处理的方式与那些非外部程序生成的HTML、图像或其他内容的处理方式是相同的。因此,CGI程序册仅使你能生成表态内容而能生动态内容。使用CGI的原因在于它是一个定义良好并被广泛支持的标准,没有CGI就不可能实现动态的Web页面,除非使用一些服务器中提供的特殊方法(如今,也有除CGI之外的其他技术逐渐在成为标准)。在物理上,CGI是一段程序,它运行在Server上,提供同客户段 Html页面的接口。这样说大概还不好理解。那么我们看一个实际例子: 现在的个人主页上大部分都有一个留言本。留言本的工作是这样的:先由用户在客户段输入一些信息,如名字之类的东西。接着用户按一下“留言”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI目录下特定的cgi程序中,于是cgi程序在服务器上按照预定的方法进行处理。在本例中就是把用户提交的信息存入指定的文件中。然后cgi程序给客户端发送一个信息,表示请求的任务已经结束。此时用户在浏览器里将看到“留言结束”的字样。整个过程结束。
CGI是一种程序,自然需要用编程语言来写。你可以用任何一种你熟悉的高级语言, C,C++,C shell和VB。值得特别指出的,有一种叫Perl的语言。其前身是属于Unix专用的高 级语言,其具有强大的字符串处理能力而成为现在写CGI,特别是表单类程序的首选。最近 它已经有了Window95,和winnt版本。你可以在搜索程序里找到在那里下载它。 VB是Ms的杀手锏,从目前的情况看,微软公司正试图使VB无所不能。自然也包括在Internet 请各位注意,VB开发的程序只能在windows平台上被执行,所以它有一定局限。 C Shell,经典的语言。可惜能做的事情不多,而且必须在Unix平台下。 C,C++,正真的无所不能。可是在写CGI的时候显得非常难以掌握。特别是缺乏可以灵活使用的字符串处理函数。对程序员的要求也比较高,维护复杂。 最后要提醒各位,因为CGI是Server和Clinet的接口,所以对于不同的Server,CGI程序的移值是一个很复杂的问题。一般对于不同的Server,决没有两个可以互相通用的CGI。实际上 这就是CGI程序最复杂的地方。
(2)ASP
ASP即Active Server Page的缩写。它是一种包含了使用VB Script或Jscript脚本程序代码的网页。当浏览器浏览ASP网页时, Web服务器就会根据请求生成相应的HTML代码然后再返回给浏览器,这样浏览器端看到的 就是动态生成的网页。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互。是一种简单、方便的编程工具。在了解了VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。ASP的网页文件的格式是.ASP。
Active Server Pages(ASP,活动服务器页面)就是一个编程环境,在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。 如果你以前创建过一个站点,其中混合了HTML、脚本语言以及组件,你就可以在其中加入ASP程序代码。通过在HTML页面中加入脚本命令,你可以创建一个HTML用户界面,并且,还可以通过使用组件包含一些商业逻辑规则。组件可以被脚本程序调用,也可以由其他的组件调用。
  ASP的工作原理:
  当在Web站点中融入ASP功能后,将发生以下事情:
  1、用户调出站点内容,默认页面的扩展名是.asp。
  2、浏览器从服务器上请求ASP文件。
  3、服务器端脚本开始运行ASP。
  4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。
  5、页面信息发送到浏览器。
  因为脚本是在服务器端运行的,所以Web服务器完成所有处理后,将标准的HTML页面送往浏览器。这意味着,ASP只能在可以支持的服务器上运行。让脚本驻留在服务器端的另外一个益处是:用户不可能看到原始脚本程序的代码,用户看到的,仅仅是最终产生的HTML内容。

(3)JSP
JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其网址为http://www.javasoft.com/products/jsp。 在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。 本文将介绍利用JSP技术开发动态网页的方法,还将简要分析JSP技术和 Microsoft 公司的 ASP 技术的不同之处。
  JSP的优点:
  ·对于用户界面的更新,其实就是由 Web Server进行的,所以给人的感觉更新很快。
  ·所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。
  ·客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。

(4)PHP
PHP是一种服务器端HTML-嵌入式脚本描述语言。 其最强大和最重要的特征是其数据库集成层,使用它完成一个含有数据库功能的网页是不可置信的简单。在HTML文件中, PHP脚本程序(语法类似于Perl或者c语言)可以使用特别的PHP标签进行引用, 这样网页制作者也不必完全依赖HTML生成网页了。由于PHP是在服务器端执行的, 客户端是看不到PHP代码的。 PHP可以完成任何CGI脚本可以完成的任务,但它的功能的发挥取决于它和各种数据库的兼容性。 PHP除了可以使用HTTP进行通信,也可以使用IMAP, SNMP, NNTP, POP3协议。

(5)ColdFusion
世界上最快的网络系统开发工具COLDFUSION
如果所有的信息系统,都演变成需要浏览器来操作,该怎么办呢?
当技术与趋势发生转变的时候,信息人员对系统的认知与设计都应该跟着改变。我们每一个人都面临着信息系统全面WWW化时代的到来,这趋势就象当年大家由DOS环境转向WINDOW操作系统一样,无论如何抗拒,都无法阻止需求的改变与科技的演进。
作为网络领域中的一份子,你的愿望是成为一个优秀的设计师,可不了解后台程序的功能与运作,将是一个很大的缺陷。而学习ASP,JSP,又会是一个漫长而又枯燥的历程,你也许问过自己,我什么时候才能独立完成一个站点设计呢?很可惜,以我多年的经验,你需要一个优秀的排挡。但学习ColdFusion,却可以让你迅速成为一个拥有多种网络技术为一体的优秀人才。
ColdFusion提供一个独特的方式来开发应用程序,这正反映了ALLAIRE最原始的信念,那就是不需要烦琐的程序设计技巧也能开发出精细的网站应用程序。不需要极专业的系统开发人员,例如,JAVA,C++等复杂程序语言的专家,COLDFUSION将这些程序所能提供的功能转变成类似HTML tags易懂的服务端tags.有别与静态的HTML文件,当COLDFUSION所架构的网站应用有请求的时候,COLDFUSION应用服务,便会预先处理,再经过数据库及其他服务端技术,返回一个动态产生的HTML网页。CFML与网站服务器的关系,就象是HTML与浏览器一样简单。
Allaire支持微软的平台技术,并确保开发的ColdFusion可以在WindowsNT上和主要的Internet 服务一起工作,如COM+和IIS5.0。它是WindowsNT上第一个可用的Web应用服务器,并将继续强有力地支持微软的技术,包括WindowsNT,COM,Internet Explorer,IIS和BackOffice。同时也是一个强大的Web应用服务器,它提供快速的、可升级的和开放的技术,此技术和WindowsNT采用的技术一致,并为任何使用WindowsNT或Win2000作为它们开发平台的Web组提供附加的工具和服务。ColdFusion特别适用于基于Web的独特需求和HTML和WML,XML的Web应用。
Coldfusion Application Server紧密整合了目前主要的数据库如DB2,msSQL,ACCESS,MYSQL,Oracle,SYBASE等,以及标准的网站服务平台(包括微软和网景,APACHE等),同时还拥有LINUX,UNIX的版本,因此你可以完全发挥网站应用程序的效益,你不需任何修改,就可以移植到其他平台上,它是无缝的。

(6)ASP.NET
ASP.NET是微软公司新推出的一种Internet编程技术,它采用效率较高的、面向对象的方法来创建动态web应用程序。在原来的ASP技术中,服务器端代码和客户端HTML混合、交织在一起,常常导致页面的代码冗长而复杂,程序的逻辑难以理解,而ASP.NET就能很好的解决这个问题,而且能独立于浏览器,且可以支持VB.NET、C#.NET、VC++.NET、JS.NET4种编程语言。